Assembly Diffs
linux arm64
Diffs are based on 2,259,480 contexts (1,008,044 MinOpts, 1,251,436 FullOpts).
MISSED contexts: base: 1 (0.00%), diff: 149 (0.01%)
Overall (+16 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| benchmarks.run_pgo.linux.arm64.checked.mch |
79,905,052 |
+16 |
| coreclr_tests.run.linux.arm64.checked.mch |
509,743,004 |
+48 |
| libraries_tests.run.linux.arm64.Release.mch |
400,029,436 |
-48 |
FullOpts (+16 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| benchmarks.run_pgo.linux.arm64.checked.mch |
54,356,680 |
+16 |
| coreclr_tests.run.linux.arm64.checked.mch |
160,835,148 |
+48 |
| libraries_tests.run.linux.arm64.Release.mch |
183,290,532 |
-48 |
Example diffs
benchmarks.run_pgo.linux.arm64.checked.mch
+16 (+3.15%) : 133411.dasm - System.Text.RegularExpressions.RegexNode:FindAndMakeLoopsAtomic():this (Tier1)
@@ -112,11 +112,15 @@ G_M41283_IG10: ; bbWeight=0.13, gcrefRegs=80002 {x1 x19}, byrefRegs=0000
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- bl CORINFO_HELP_CHKCASTCLASS
+ movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ ldr x2, [x2]
+ blr x2
; gcrRegs -[x1] +[x0]
mov x22, x0
; gcrRegs +[x22]
- ;; size=20 bbWeight=0.13 PerfScore 0.38
+ ;; size=36 bbWeight=0.13 PerfScore 0.94
G_M41283_IG11: ; bbWeight=0.50, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
ldr w0, [x22, #0x10]
@@ -261,7 +265,7 @@ G_M41283_IG25: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=80001
b G_M41283_IG04
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 508, prolog size 16, PerfScore 38.99, instruction count 127, allocated bytes for code 508 (MethodHash=25185ebc) for method System.Text.RegularExpressions.RegexNode:FindAndMakeLoopsAtomic():this (Tier1)
+; Total bytes of code 524, prolog size 16, PerfScore 39.55, instruction count 131, allocated bytes for code 524 (MethodHash=25185ebc) for method System.Text.RegularExpressions.RegexNode:FindAndMakeLoopsAtomic():this (Tier1)
; ============================================================
Unwind Info:
@@ -272,7 +276,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 127 (0x0007f) Actual length = 508 (0x0001fc)
+ Function Length : 131 (0x00083) Actual length = 524 (0x00020c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
coreclr_tests.run.linux.arm64.checked.mch
+0 (0.00%) : 207843.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1293,7 +1293,7 @@ G_M27650_IG63: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
+ movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
+0 (0.00%) : 122984.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1293,7 +1293,7 @@ G_M27650_IG63: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS
+ movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
+16 (+0.49%) : 56972.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -965,9 +965,13 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- bl CORINFO_HELP_CHKCASTCLASS
+ movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ ldr x2, [x2]
+ blr x2
; gcrRegs -[x1] +[x0]
- ;; size=92 bbWeight=0 PerfScore 0.00
+ ;; size=108 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
; gcrRegs -[x0]
mov x2, x20
@@ -1446,7 +1450,7 @@ G_M27650_IG70: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
b G_M27650_IG46
;; size=32 bbWeight=0 PerfScore 0.00
-; Total bytes of code 3260, prolog size 24, PerfScore 429.60, instruction count 815, allocated bytes for code 3260 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
+; Total bytes of code 3276, prolog size 24, PerfScore 429.60, instruction count 819, allocated bytes for code 3276 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
; ============================================================
Unwind Info:
@@ -1457,7 +1461,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 815 (0x0032f) Actual length = 3260 (0x000cbc)
+ Function Length : 819 (0x00333) Actual length = 3276 (0x000ccc)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+16 (+0.49%) : 145628.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -965,9 +965,13 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- bl CORINFO_HELP_CHKCASTCLASS
+ movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ ldr x2, [x2]
+ blr x2
; gcrRegs -[x1] +[x0]
- ;; size=92 bbWeight=0 PerfScore 0.00
+ ;; size=108 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
; gcrRegs -[x0]
mov x2, x20
@@ -1446,7 +1450,7 @@ G_M27650_IG70: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
b G_M27650_IG46
;; size=32 bbWeight=0 PerfScore 0.00
-; Total bytes of code 3260, prolog size 24, PerfScore 429.60, instruction count 815, allocated bytes for code 3260 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
+; Total bytes of code 3276, prolog size 24, PerfScore 429.60, instruction count 819, allocated bytes for code 3276 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
; ============================================================
Unwind Info:
@@ -1457,7 +1461,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 815 (0x0032f) Actual length = 3260 (0x000cbc)
+ Function Length : 819 (0x00333) Actual length = 3276 (0x000ccc)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+16 (+0.58%) : 526823.dasm - Program:TestEntryPoint() (FullOpts)
@@ -9,198 +9,199 @@
; Final local variable assignments
;
;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V01 tmp1 [V01,T02] ( 3, 1.50) int -> x0 "Inline return value spill temp"
+; V01 tmp1 [V01,T03] ( 3, 1.50) int -> x0 "Inline return value spill temp"
;* V02 tmp2 [V02 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V03 tmp3 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "spilling QMark2" <System.RuntimeType>
-; V04 tmp4 [V04,T65] ( 17, 0 ) int -> x0 "Inline return value spill temp"
-; V05 tmp5 [V05,T64] ( 18, 0 ) ref -> x19 class-hnd "Inline stloc first use temp" <System.RuntimeType>
-; V06 tmp6 [V06,T72] ( 3, 0 ) ref -> x1 single-def "CASTCLASS eval op1"
-; V07 tmp7 [V07,T73] ( 3, 0 ) long -> x2 "fgMakeTemp is creating a new local variable"
-; V08 tmp8 [V08,T71] ( 4, 0 ) ref -> x19 class-hnd single-def "spilling QMark2" <System.RuntimeType>
-;* V09 tmp9 [V09,T18] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V10 tmp10 [V10,T19] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+; V04 tmp4 [V04,T66] ( 17, 0 ) int -> x0 "Inline return value spill temp"
+; V05 tmp5 [V05,T65] ( 18, 0 ) ref -> x19 class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V06 tmp6 [V06,T73] ( 3, 0 ) ref -> x1 single-def "CASTCLASS eval op1"
+; V07 tmp7 [V07,T74] ( 3, 0 ) long -> x2 "fgMakeTemp is creating a new local variable"
+; V08 tmp8 [V08,T72] ( 4, 0 ) ref -> x19 class-hnd single-def "spilling QMark2" <System.RuntimeType>
+;* V09 tmp9 [V09,T19] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V10 tmp10 [V10,T20] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V11 tmp11 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V12 tmp12 [V12,T20] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V13 tmp13 [V13,T21] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V12 tmp12 [V12,T21] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V13 tmp13 [V13,T22] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V14 tmp14 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V15 tmp15 [V15,T22] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V16 tmp16 [V16,T23] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V15 tmp15 [V15,T23] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V16 tmp16 [V16,T24] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V17 tmp17 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V18 tmp18 [V18,T24] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V19 tmp19 [V19,T25] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V18 tmp18 [V18,T25] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V19 tmp19 [V19,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V20 tmp20 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V21 tmp21 [V21,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V22 tmp22 [V22,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V21 tmp21 [V21,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V22 tmp22 [V22,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V23 tmp23 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V24 tmp24 [V24,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V25 tmp25 [V25,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V24 tmp24 [V24,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V25 tmp25 [V25,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V26 tmp26 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V27 tmp27 [V27,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V28 tmp28 [V28,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V27 tmp27 [V27,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V28 tmp28 [V28,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V29 tmp29 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V30 tmp30 [V30,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V31 tmp31 [V31,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V30 tmp30 [V30,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V31 tmp31 [V31,T34] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V32 tmp32 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V33 tmp33 [V33,T34] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V34 tmp34 [V34,T35] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V35 tmp35 [V35,T03] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V36 tmp36 [V36,T36] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V37 tmp37 [V37,T37] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V38 tmp38 [V38,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V39 tmp39 [V39,T38] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V40 tmp40 [V40,T39] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V41 tmp41 [V41,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V42 tmp42 [V42,T40] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V43 tmp43 [V43,T41] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V44 tmp44 [V44,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V45 tmp45 [V45,T42] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V46 tmp46 [V46,T43] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V47 tmp47 [V47,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V48 tmp48 [V48,T44] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V49 tmp49 [V49,T45] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V50 tmp50 [V50,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V51 tmp51 [V51,T46] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V52 tmp52 [V52,T47] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V53 tmp53 [V53,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V54 tmp54 [V54,T48] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V55 tmp55 [V55,T49] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V56 tmp56 [V56,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V57 tmp57 [V57,T50] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V58 tmp58 [V58,T51] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V59 tmp59 [V59,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V60 tmp60 [V60,T52] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V61 tmp61 [V61,T53] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V62 tmp62 [V62,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V63 tmp63 [V63,T54] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V64 tmp64 [V64,T55] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V65 tmp65 [V65,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V66 tmp66 [V66,T56] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V67 tmp67 [V67,T57] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V68 tmp68 [V68,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V69 tmp69 [V69,T58] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V70 tmp70 [V70,T59] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V71 tmp71 [V71,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V72 tmp72 [V72,T60] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V73 tmp73 [V73,T61] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V74 tmp74 [V74,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V75 tmp75 [V75,T62] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V76 tmp76 [V76,T63] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V77 tmp77 [V77,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V78 tmp78 [V78,T74] ( 3, 0 ) int -> x0 "Inline return value spill temp"
-; V79 tmp79 [V79,T01] ( 6, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Type>
+;* V33 tmp33 [V33,T35] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V34 tmp34 [V34,T36] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V35 tmp35 [V35,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V36 tmp36 [V36,T37] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V37 tmp37 [V37,T38] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V38 tmp38 [V38,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V39 tmp39 [V39,T39] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V40 tmp40 [V40,T40] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V41 tmp41 [V41,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V42 tmp42 [V42,T41] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V43 tmp43 [V43,T42] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V44 tmp44 [V44,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V45 tmp45 [V45,T43] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V46 tmp46 [V46,T44] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V47 tmp47 [V47,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V48 tmp48 [V48,T45] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V49 tmp49 [V49,T46] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V50 tmp50 [V50,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V51 tmp51 [V51,T47] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V52 tmp52 [V52,T48] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V53 tmp53 [V53,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V54 tmp54 [V54,T49] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V55 tmp55 [V55,T50] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V56 tmp56 [V56,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V57 tmp57 [V57,T51] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V58 tmp58 [V58,T52] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V59 tmp59 [V59,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V60 tmp60 [V60,T53] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V61 tmp61 [V61,T54] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V62 tmp62 [V62,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V63 tmp63 [V63,T55] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V64 tmp64 [V64,T56] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V65 tmp65 [V65,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V66 tmp66 [V66,T57] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V67 tmp67 [V67,T58] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V68 tmp68 [V68,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V69 tmp69 [V69,T59] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V70 tmp70 [V70,T60] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V71 tmp71 [V71,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V72 tmp72 [V72,T61] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V73 tmp73 [V73,T62] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V74 tmp74 [V74,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V75 tmp75 [V75,T63] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V76 tmp76 [V76,T64] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V77 tmp77 [V77,T18] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V78 tmp78 [V78,T75] ( 3, 0 ) int -> x0 "Inline return value spill temp"
+; V79 tmp79 [V79,T02] ( 6, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Type>
;* V80 tmp80 [V80 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V81 tmp81 [V81 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.RuntimeType>
-; V82 tmp82 [V82,T75] ( 3, 0 ) int -> x0 "guarded devirt return temp"
+; V82 tmp82 [V82,T76] ( 3, 0 ) int -> x0 "guarded devirt return temp"
;* V83 tmp83 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V84 tmp84 [V84 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V85 tmp85 [V85 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V86 tmp86 [V86 ] ( 0, 0 ) ref -> zero-ref "CASTCLASS eval op1"
;* V87 tmp87 [V87 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V88 tmp88 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.RuntimeType>
-;* V89 tmp89 [V89,T102] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V90 tmp90 [V90,T103] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V91 tmp91 [V91,T86] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V92 tmp92 [V92,T104] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V93 tmp93 [V93,T105] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V94 tmp94 [V94,T87] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V95 tmp95 [V95,T106] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V96 tmp96 [V96,T107] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V97 tmp97 [V97,T88] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V98 tmp98 [V98,T108] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V99 tmp99 [V99,T109] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V100 tmp100 [V100,T89] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V101 tmp101 [V101,T110] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V102 tmp102 [V102,T111] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V103 tmp103 [V103,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V104 tmp104 [V104,T112] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V105 tmp105 [V105,T113] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V106 tmp106 [V106,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V107 tmp107 [V107,T114] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V108 tmp108 [V108,T115] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V109 tmp109 [V109,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V110 tmp110 [V110,T116] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V111 tmp111 [V111,T117] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V112 tmp112 [V112,T93] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V113 tmp113 [V113,T118] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V114 tmp114 [V114,T119] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V115 tmp115 [V115,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V116 tmp116 [V116,T120] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V117 tmp117 [V117,T121] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V118 tmp118 [V118,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V119 tmp119 [V119,T122] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V120 tmp120 [V120,T123] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V121 tmp121 [V121,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V122 tmp122 [V122,T124] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V123 tmp123 [V123,T125] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V124 tmp124 [V124,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V125 tmp125 [V125,T126] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V126 tmp126 [V126,T127] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V127 tmp127 [V127,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V128 tmp128 [V128,T128] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V129 tmp129 [V129,T129] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V130 tmp130 [V130,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V131 tmp131 [V131,T76] ( 3, 0 ) int -> x0 "Inline return value spill temp"
-; V132 tmp132 [V132,T66] ( 6, 0 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Type>
+;* V89 tmp89 [V89,T103] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V90 tmp90 [V90,T104] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V91 tmp91 [V91,T87] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V92 tmp92 [V92,T105] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V93 tmp93 [V93,T106] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V94 tmp94 [V94,T88] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V95 tmp95 [V95,T107] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V96 tmp96 [V96,T108] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V97 tmp97 [V97,T89] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V98 tmp98 [V98,T109] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V99 tmp99 [V99,T110] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V100 tmp100 [V100,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V101 tmp101 [V101,T111] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V102 tmp102 [V102,T112] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V103 tmp103 [V103,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V104 tmp104 [V104,T113] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V105 tmp105 [V105,T114] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V106 tmp106 [V106,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V107 tmp107 [V107,T115] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V108 tmp108 [V108,T116] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V109 tmp109 [V109,T93] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V110 tmp110 [V110,T117] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V111 tmp111 [V111,T118] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V112 tmp112 [V112,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V113 tmp113 [V113,T119] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V114 tmp114 [V114,T120] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V115 tmp115 [V115,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V116 tmp116 [V116,T121] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V117 tmp117 [V117,T122] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V118 tmp118 [V118,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V119 tmp119 [V119,T123] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V120 tmp120 [V120,T124] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V121 tmp121 [V121,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V122 tmp122 [V122,T125] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V123 tmp123 [V123,T126] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V124 tmp124 [V124,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V125 tmp125 [V125,T127] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V126 tmp126 [V126,T128] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V127 tmp127 [V127,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V128 tmp128 [V128,T129] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V129 tmp129 [V129,T130] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V130 tmp130 [V130,T100] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V131 tmp131 [V131,T77] ( 3, 0 ) int -> x0 "Inline return value spill temp"
+; V132 tmp132 [V132,T67] ( 6, 0 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Type>
...
libraries_tests.run.linux.arm64.Release.mch
-48 (-1.02%) : 133954.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
@@ -9,133 +9,133 @@
; 19 inlinees with PGO data; 57 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T18] ( 8, 6.35) ref -> x20 this class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory>
+; V00 this [V00,T19] ( 8, 6.35) ref -> x20 this class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory>
;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V02 arg2 [V02,T45] ( 3, 2 ) ref -> x23 class-hnd single-def <System.Type>
-; V03 arg3 [V03,T28] ( 6, 4.17) ref -> x21 class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
+; V02 arg2 [V02,T46] ( 3, 2 ) ref -> x23 class-hnd single-def <System.Type>
+; V03 arg3 [V03,T29] ( 6, 4.17) ref -> x21 class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
; V04 arg4 [V04,T04] ( 19, 12.30) ref -> x19 class-hnd single-def <System.Reflection.ParameterInfo[]>
-; V05 arg5 [V05,T44] ( 3, 2.04) ubyte -> x22 single-def
-; V06 loc0 [V06,T30] ( 6, 5.81) ref -> x25 class-hnd exact single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
-; V07 loc1 [V07,T02] ( 18, 15.86) int -> x26
+; V05 arg5 [V05,T45] ( 3, 2.04) ubyte -> x22 single-def
+; V06 loc0 [V06,T31] ( 6, 5.81) ref -> x25 class-hnd exact single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V07 loc1 [V07,T03] ( 18, 15.86) int -> x26
; V08 loc2 [V08,T05] ( 18, 14.04) ref -> x27 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-; V09 loc3 [V09,T35] ( 15, 4.39) ref -> [fp+0x60] class-hnd <System.Type>
-; V10 loc4 [V10 ] ( 4, 0.13) ref -> [fp+0x118] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-; V11 loc5 [V11,T33] ( 8, 4.78) ref -> x28 class-hnd <System.Object[]>
-; V12 loc6 [V12,T48] ( 10, 3.04) int -> [fp+0x114]
-; V13 loc7 [V13,T63] ( 8, 0.47) ref -> [fp+0x58] class-hnd <System.Object>
-; V14 loc8 [V14,T64] ( 6, 0.43) ref -> x4 class-hnd <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
+; V09 loc3 [V09,T36] ( 15, 4.39) ref -> [fp+0x50] class-hnd <System.Type>
+; V10 loc4 [V10 ] ( 4, 0.13) ref -> [fp+0x108] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
+; V11 loc5 [V11,T34] ( 8, 4.78) ref -> x28 class-hnd <System.Object[]>
+; V12 loc6 [V12,T50] ( 10, 3.04) int -> [fp+0x104]
+; V13 loc7 [V13,T64] ( 8, 0.47) ref -> [fp+0x48] class-hnd <System.Object>
+; V14 loc8 [V14,T65] ( 6, 0.43) ref -> x4 class-hnd <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
;* V15 loc9 [V15 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;# V16 OutArgs [V16 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V17 tmp1 [V17,T76] ( 6, 0 ) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
-; V18 tmp2 [V18,T84] ( 3, 0 ) ref -> x28 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V19 tmp3 [V19,T85] ( 3, 0 ) ref -> x27 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V20 tmp4 [V20,T65] ( 6, 0.26) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V17 tmp1 [V17,T78] ( 6, 0 ) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V18 tmp2 [V18,T86] ( 3, 0 ) ref -> x28 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V19 tmp3 [V19,T87] ( 3, 0 ) ref -> x24 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V20 tmp4 [V20,T66] ( 6, 0.26) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
;* V21 tmp5 [V21 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V22 tmp6 [V22,T39] ( 4, 4.35) ref -> x2 "guarded devirt return temp"
-; V23 tmp7 [V23,T01] ( 22, 17.40) ref -> [fp+0x50] "guarded devirt arg temp"
+; V22 tmp6 [V22,T40] ( 4, 4.35) ref -> x2 "guarded devirt return temp"
+; V23 tmp7 [V23,T02] ( 22, 17.40) ref -> [fp+0x40] "guarded devirt arg temp"
;* V24 tmp8 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V25 tmp9 [V25,T36] ( 8, 4.35) ref -> x28 "guarded devirt return temp"
+; V25 tmp9 [V25,T37] ( 8, 4.35) ref -> x28 "guarded devirt return temp"
; V26 tmp10 [V26,T00] ( 19, 26.13) ref -> x28 "guarded devirt arg temp"
;* V27 tmp11 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V28 tmp12 [V28,T72] ( 8, 0.00) ref -> [fp+0x48] class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V28 tmp12 [V28,T74] ( 8, 0.00) ref -> [fp+0x38] class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V29 tmp13 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V30 tmp14 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V31 tmp15 [V31 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V32 tmp16 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Object[]>
-; V33 tmp17 [V33 ] ( 18, 15.37) struct (24) [fp+0xF8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Attribute]>
-; V34 tmp18 [V34,T09] ( 10, 8.70) ref -> x1 class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
-; V35 tmp19 [V35,T15] ( 4, 8.70) int -> x2 "impAppendStmt"
+; V33 tmp17 [V33 ] ( 18, 15.37) struct (24) [fp+0xE8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Attribute]>
+; V34 tmp18 [V34,T10] ( 10, 8.70) ref -> x1 class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
+; V35 tmp19 [V35,T16] ( 4, 8.70) int -> x2 "impAppendStmt"
;* V36 tmp20 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Object[]>
;* V37 tmp21 [V37 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V38 tmp22 [V38,T11] ( 4, 8.70) ref -> x2 "CASTCLASS eval op1"
+; V38 tmp22 [V38,T12] ( 4, 8.70) ref -> x2 "CASTCLASS eval op1"
;* V39 tmp23 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
-; V40 tmp24 [V40,T20] ( 12, 8.15) ref -> x2 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
-; V41 tmp25 [V41,T12] ( 4, 8.70) ref -> x3 "CASTCLASS eval op1"
+; V40 tmp24 [V40,T21] ( 12, 8.15) ref -> x2 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
+; V41 tmp25 [V41,T13] ( 4, 8.70) ref -> x3 "CASTCLASS eval op1"
;* V42 tmp26 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimeConstructorInfo>
-; V43 tmp27 [V43,T07] ( 12, 10.33) ref -> x3 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
-; V44 tmp28 [V44,T13] ( 4, 8.70) ref -> x1 "CASTCLASS eval op1"
+; V43 tmp27 [V43,T08] ( 12, 10.33) ref -> x3 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
+; V44 tmp28 [V44,T14] ( 4, 8.70) ref -> x1 "CASTCLASS eval op1"
;* V45 tmp29 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimePropertyInfo>
-; V46 tmp30 [V46,T29] ( 12, 5.98) ref -> x1 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
+; V46 tmp30 [V46,T30] ( 12, 5.98) ref -> x1 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
;* V47 tmp31 [V47 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V48 tmp32 [V48,T77] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V48 tmp32 [V48,T79] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V49 tmp33 [V49 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V50 tmp34 [V50 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V51 tmp35 [V51,T78] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V51 tmp35 [V51,T80] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V52 tmp36 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Object[]>
-; V53 tmp37 [V53 ] ( 20, 15.31) struct (24) [fp+0xE0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
-; V54 tmp38 [V54 ] ( 4, 4.35) struct (24) [fp+0xC8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
+; V53 tmp37 [V53 ] ( 20, 15.31) struct (24) [fp+0xD0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
+; V54 tmp38 [V54 ] ( 4, 4.35) struct (24) [fp+0xB8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
;* V55 tmp39 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.RuntimeType>
;* V56 tmp40 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.RuntimeType>
-; V57 tmp41 [V57,T16] ( 4, 8.70) int -> x28 "Inlining Arg"
-; V58 tmp42 [V58,T19] ( 12, 8.32) ref -> x28 class-hnd "Inline stloc first use temp" <System.Object[]>
-; V59 tmp43 [V59,T23] ( 16, 6.98) int -> [fp+0xC4] "Inline stloc first use temp"
-; V60 tmp44 [V60,T43] ( 6, 4.28) ref -> x2 class-hnd "Inline return value spill temp" <System.Object>
-; V61 tmp45 [V61,T21] ( 6, 7.68) int -> x3 "Inlining Arg"
+; V57 tmp41 [V57,T17] ( 4, 8.70) int -> x28 "Inlining Arg"
+; V58 tmp42 [V58,T20] ( 12, 8.32) ref -> x28 class-hnd "Inline stloc first use temp" <System.Object[]>
+; V59 tmp43 [V59,T24] ( 16, 6.98) int -> [fp+0xB4] "Inline stloc first use temp"
+; V60 tmp44 [V60,T44] ( 6, 4.28) ref -> x2 class-hnd "Inline return value spill temp" <System.Object>
+; V61 tmp45 [V61,T22] ( 6, 7.68) int -> x3 "Inlining Arg"
;* V62 tmp46 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V63 tmp47 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V64 tmp48 [V64,T32] ( 6, 5.24) ref -> x27 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
+; V64 tmp48 [V64,T33] ( 6, 5.24) ref -> x27 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
;* V65 tmp49 [V65 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V66 tmp50 [V66,T14] ( 4, 8.70) ref -> x1 class-hnd "impAppendStmt" <<unknown class>>
-; V67 tmp51 [V67,T46] ( 6, 1.44) ref -> x4 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-;* V68 tmp52 [V68,T51] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V69 tmp53 [V69 ] ( 8, 0 ) struct (24) [fp+0xA8] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V70 tmp54 [V70,T08] ( 12, 8.70) ref -> [fp+0x40] class-hnd "Inline stloc first use temp" <<unknown class>>
-; V71 tmp55 [V71,T37] ( 8, 4.35) ref -> [fp+0x38] class-hnd "Inline stloc first use temp" <System.Collections.Generic.IEqualityComparer`1[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey]>
-; V72 tmp56 [V72,T79] ( 6, 0 ) int -> [fp+0xA4] "Inline stloc first use temp"
-; V73 tmp57 [V73,T74] ( 14, 0 ) ref -> [fp+0x30] class-hnd "Inline stloc first use temp" <<unknown class>>
-; V74 tmp58 [V74,T31] ( 6, 5.49) int -> [fp+0xA0] "Inline stloc first use temp"
-; V75 tmp59 [V75,T03] ( 16, 14.91) ref -> [fp+0x28] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V66 tmp50 [V66,T15] ( 4, 8.70) ref -> x1 class-hnd "impAppendStmt" <<unknown class>>
+; V67 tmp51 [V67,T07] ( 6, 9.60) ref -> x27 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
+;* V68 tmp52 [V68,T49] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V69 tmp53 [V69 ] ( 8, 0 ) struct (24) [fp+0x98] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V70 tmp54 [V70,T09] ( 12, 8.70) ref -> [fp+0x30] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V71 tmp55 [V71,T38] ( 8, 4.35) ref -> [fp+0x28] class-hnd "Inline stloc first use temp" <System.Collections.Generic.IEqualityComparer`1[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey]>
+; V72 tmp56 [V72,T81] ( 6, 0 ) int -> [fp+0x94] "Inline stloc first use temp"
+; V73 tmp57 [V73,T76] ( 14, 0 ) ref -> [fp+0x20] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V74 tmp58 [V74,T32] ( 6, 5.49) int -> [fp+0x90] "Inline stloc first use temp"
+; V75 tmp59 [V75,T01] ( 16, 23.07) ref -> [fp+0x18] class-hnd "Inline stloc first use temp" <<unknown class>>
;* V76 tmp60 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V77 tmp61 [V77 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V78 tmp62 [V78,T41] ( 4, 4.35) int -> x0 "Inline return value spill temp"
+; V78 tmp62 [V78,T42] ( 4, 4.35) int -> x0 "Inline return value spill temp"
;* V79 tmp63 [V79 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V80 tmp64 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling ret_expr" <System.Type>
-; V81 tmp65 [V81,T38] ( 6, 4.35) int -> x0 "guarded devirt return temp"
+; V81 tmp65 [V81,T39] ( 6, 4.35) int -> x0 "guarded devirt return temp"
;* V82 tmp66 [V82 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V83 tmp67 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <<unknown class>>
-; V84 tmp68 [V84,T25] ( 7, 6.54) ref -> x4 class-hnd "Inline stloc first use temp" <<unknown class>>
+; V84 tmp68 [V84,T26] ( 7, 6.54) ref -> x6 class-hnd "Inline stloc first use temp" <<unknown class>>
;* V85 tmp69 [V85 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V86 tmp70 [V86 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V87 tmp71 [V87,T26] ( 6, 6.52) int -> x3 "Inline stloc first use temp"
+; V87 tmp71 [V87,T27] ( 6, 6.52) int -> x7 "Inline stloc first use temp"
;* V88 tmp72 [V88 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V89 tmp73 [V89 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V90 tmp74 [V90 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-;* V91 tmp75 [V91,T62] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V91 tmp75 [V91,T63] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V92 tmp76 [V92 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V93 tmp77 [V93 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V94 tmp78 [V94 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V95 tmp79 [V95 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V96 tmp80 [V96,T59] ( 4, 1.10) ubyte -> x10 "Inline return value spill temp"
+; V96 tmp80 [V96,T60] ( 4, 1.10) ubyte -> x13 "Inline return value spill temp"
;* V97 tmp81 [V97 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V98 tmp82 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Type>
;* V99 tmp83 [V99 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Object>
;* V100 tmp84 [V100 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Type>
-; V101 tmp85 [V101,T58] ( 8, 1.10) ubyte -> x10 "Inline return value spill temp"
+; V101 tmp85 [V101,T59] ( 8, 1.10) ubyte -> x13 "Inline return value spill temp"
;* V102 tmp86 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
-; V103 tmp87 [V103,T50] ( 4, 1.93) ref -> x11 class-hnd "spilling QMark2" <System.RuntimeType>
-; V104 tmp88 [V104,T83] ( 4, 0 ) int -> registers "Inline return value spill temp"
-; V105 tmp89 [V105 ] ( 8, 0 ) struct (24) [fp+0x88] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V103 tmp87 [V103,T52] ( 4, 1.93) ref -> x14 class-hnd "spilling QMark2" <System.RuntimeType>
+; V104 tmp88 [V104,T85] ( 4, 0 ) int -> registers "Inline return value spill temp"
+; V105 tmp89 [V105 ] ( 8, 0 ) struct (24) [fp+0x78] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V106 tmp90 [V106 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <<unknown class>>
-; V107 tmp91 [V107,T75] ( 8, 0 ) ref -> x6 class-hnd "Inline stloc first use temp" <<unknown class>>
+; V107 tmp91 [V107,T77] ( 8, 0 ) ref -> x6 class-hnd "Inline stloc first use temp" <<unknown class>>
;* V108 tmp92 [V108 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V109 tmp93 [V109 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V110 tmp94 [V110,T80] ( 6, 0 ) int -> x7 "Inline stloc first use temp"
-; V111 tmp95 [V111,T47] ( 7, 1.22) ref -> x24 single-def "field V01.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V112 tmp96 [V112,T49] ( 1, 1 ) ref -> x2 single-def "field V01.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-; V113 tmp97 [V113,T81] ( 4, 0 ) ref -> x1 "field V15.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V114 tmp98 [V114,T82] ( 4, 0 ) ref -> x2 "field V15.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V115 tmp99 [V115,T52] ( 0, 0 ) ref -> zero-ref "field V21.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V116 tmp100 [V116,T22] ( 15, 7.56) ref -> x27 "field V21.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-; V117 tmp101 [V117 ] ( 6, 5.01) ref -> [fp+0xF8] do-not-enreg[X] addr-exposed "field V33._items (fldOffset=0x0)" P-DEP
-; V118 tmp102 [V118 ] ( 6, 5.35) ref -> [fp+0x100] do-not-enreg[X] addr-exposed "field V33._item (fldOffset=0x8)" P-DEP
-; V119 tmp103 [V119 ] ( 14, 13.70) int -> [fp+0x108] do-not-enreg[X] addr-exposed "field V33._count (fldOffset=0x10)" P-DEP
-; V120 tmp104 [V120 ] ( 4, 4.35) int -> [fp+0x10C] do-not-enreg[X] addr-exposed "field V33._capacity (fldOffset=0x14)" P-DEP
-; V121 tmp105 [V121 ] ( 10, 8.63) ref -> [fp+0xE0] do-not-enreg[X] addr-exposed "field V53._items (fldOffset=0x0)" P-DEP
-; V122 tmp106 [V122 ] ( 6, 6.42) ref -> [fp+0xE8] do-not-enreg[X] addr-exposed "field V53._item (fldOffset=0x8)" P-DEP
-; V123 tmp107 [V123 ] ( 12, 8.96) int -> [fp+0xF0] do-not-enreg[X] addr-exposed "field V53._count (fldOffset=0x10)" P-DEP
-; V124 tmp108 [V124 ] ( 4, 4.35) int -> [fp+0xF4] do-not-enreg[X] addr-exposed "field V53._capacity (fldOffset=0x14)" P-DEP
-;* V125 tmp109 [V125,T53] ( 0, 0 ) ref -> zero-ref "field V63.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V126 tmp110 [V126,T40] ( 4, 4.35) ref -> x27 "field V63.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V110 tmp94 [V110,T82] ( 6, 0 ) int -> x7 "Inline stloc first use temp"
+; V111 tmp95 [V111,T48] ( 7, 1.22) ref -> x24 single-def "field V01.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V112 tmp96 [V112,T51] ( 1, 1 ) ref -> x2 single-def "field V01.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V113 tmp97 [V113,T83] ( 4, 0 ) ref -> x1 "field V15.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V114 tmp98 [V114,T84] ( 4, 0 ) ref -> x2 "field V15.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V115 tmp99 [V115,T53] ( 0, 0 ) ref -> zero-ref "field V21.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V116 tmp100 [V116,T23] ( 15, 7.56) ref -> x27 "field V21.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V117 tmp101 [V117 ] ( 6, 5.01) ref -> [fp+0xE8] do-not-enreg[X] addr-exposed "field V33._items (fldOffset=0x0)" P-DEP
+; V118 tmp102 [V118 ] ( 6, 5.35) ref -> [fp+0xF0] do-not-enreg[X] addr-exposed "field V33._item (fldOffset=0x8)" P-DEP
+; V119 tmp103 [V119 ] ( 14, 13.70) int -> [fp+0xF8] do-not-enreg[X] addr-exposed "field V33._count (fldOffset=0x10)" P-DEP
+; V120 tmp104 [V120 ] ( 4, 4.35) int -> [fp+0xFC] do-not-enreg[X] addr-exposed "field V33._capacity (fldOffset=0x14)" P-DEP
+; V121 tmp105 [V121 ] ( 10, 8.63) ref -> [fp+0xD0] do-not-enreg[X] addr-exposed "field V53._items (fldOffset=0x0)" P-DEP
+; V122 tmp106 [V122 ] ( 6, 6.42) ref -> [fp+0xD8] do-not-enreg[X] addr-exposed "field V53._item (fldOffset=0x8)" P-DEP
+; V123 tmp107 [V123 ] ( 12, 8.96) int -> [fp+0xE0] do-not-enreg[X] addr-exposed "field V53._count (fldOffset=0x10)" P-DEP
+; V124 tmp108 [V124 ] ( 4, 4.35) int -> [fp+0xE4] do-not-enreg[X] addr-exposed "field V53._capacity (fldOffset=0x14)" P-DEP
+;* V125 tmp109 [V125,T54] ( 0, 0 ) ref -> zero-ref "field V63.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V126 tmp110 [V126,T41] ( 4, 4.35) ref -> x27 "field V63.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
;* V127 tmp111 [V127 ] ( 0, 0 ) ref -> zero-ref "field V76.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
;* V128 tmp112 [V128 ] ( 0, 0 ) ref -> zero-ref "field V76.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
;* V129 tmp113 [V129 ] ( 0, 0 ) ref -> zero-ref "field V92.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
@@ -147,36 +147,38 @@
;* V135 tmp119 [V135 ] ( 0, 0 ) int -> zero-ref "V65.[000..004)"
;* V136 tmp120 [V136 ] ( 0, 0 ) ref -> zero-ref "V65.[008..016)"
;* V137 tmp121 [V137 ] ( 0, 0 ) ref -> zero-ref "V65.[016..024)"
-;* V138 tmp122 [V138,T55] ( 0, 0 ) int -> zero-ref "V69.[000..004)"
-;* V139 tmp123 [V139,T54] ( 0, 0 ) ref -> zero-ref "V69.[008..016)"
-; V140 tmp124 [V140,T24] ( 13, 6.54) ref -> x0 "V69.[016..024)"
-; V141 tmp125 [V141,T61] ( 4, 1.10) int -> [fp+0x84] "V89.[000..004)"
-; V142 tmp126 [V142,T60] ( 4, 1.10) ref -> x8 "V89.[008..016)"
-; V143 tmp127 [V143,T56] ( 12, 2.08) ref -> [fp+0x20] "V89.[016..024)"
+;* V138 tmp122 [V138,T56] ( 0, 0 ) int -> zero-ref "V69.[000..004)"
+;* V139 tmp123 [V139,T55] ( 0, 0 ) ref -> zero-ref "V69.[008..016)"
+; V140 tmp124 [V140,T25] ( 13, 6.54) ref -> x0 "V69.[016..024)"
+; V141 tmp125 [V141,T62] ( 4, 1.10) int -> [fp+0x74] "V89.[000..004)"
+; V142 tmp126 [V142,T61] ( 4, 1.10) ref -> x11 "V89.[008..016)"
+; V143 tmp127 [V143,T57] ( 12, 2.08) ref -> x0 "V89.[016..024)"
;* V144 tmp128 [V144 ] ( 0, 0 ) int -> zero-ref "V93.[000..004)"
;* V145 tmp129 [V145 ] ( 0, 0 ) ref -> zero-ref "V93.[008..016)"
;* V146 tmp130 [V146 ] ( 0, 0 ) ref -> zero-ref "V93.[016..024)"
-; V147 tmp131 [V147,T34] ( 8, 4.40) byref -> x6 "Spilling address for field-by-field copy"
-; V148 tmp132 [V148,T70] ( 6, 0.00) ref -> x3 "arr expr"
-; V149 tmp133 [V149,T71] ( 6, 0.00) int -> x2 "index expr"
-; V150 tmp134 [V150,T87] ( 2, 0 ) ref -> x1 "argument with side effect"
-; V151 tmp135 [V151 ] ( 8, 0 ) struct (24) [fp+0x68] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V152 tmp136 [V152,T88] ( 2, 0 ) ref -> x0 "argument with side effect"
-; V153 tmp137 [V153,T89] ( 2, 0 ) ref -> x1 "argument with side effect"
-; V154 cse0 [V154,T42] ( 2, 4.30) int -> x2 "CSE - moderate"
-; V155 cse1 [V155,T68] ( 2, 0.04) int -> x2 "CSE - conservative"
-; V156 cse2 [V156,T17] ( 4, 8.61) ref -> x1 "CSE - moderate"
+; V147 tmp131 [V147,T35] ( 8, 4.40) byref -> x9 "Spilling address for field-by-field copy"
+; V148 tmp132 [V148,T72] ( 6, 0.00) ref -> x3 "arr expr"
+; V149 tmp133 [V149,T73] ( 6, 0.00) int -> x2 "index expr"
+; V150 tmp134 [V150,T89] ( 2, 0 ) ref -> x1 "argument with side effect"
+; V151 tmp135 [V151 ] ( 8, 0 ) struct (24) [fp+0x58] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V152 tmp136 [V152,T90] ( 2, 0 ) ref -> x0 "argument with side effect"
+; V153 tmp137 [V153,T91] ( 2, 0 ) ref -> x1 "argument with side effect"
+; V154 cse0 [V154,T43] ( 2, 4.30) int -> x4 "CSE - moderate"
+; V155 cse1 [V155,T69] ( 2, 0.04) int -> x4 "CSE - conservative"
+; V156 cse2 [V156,T18] ( 4, 8.61) ref -> x1 "CSE - moderate"
...
+0 (0.00%) : 133951.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
@@ -14,48 +14,48 @@
;* V02 arg2 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V03 arg3 [V03,T13] ( 12, 6.50) ref -> x19 class-hnd single-def <System.Type>
; V04 arg4 [V04,T23] ( 10, 6.98) ref -> [fp+0xE8] class-hnd EH-live single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
-; V05 loc0 [V05,T31] ( 11, 7 ) ref -> x23 class-hnd single-def <System.Reflection.ConstructorInfo[]>
-; V06 loc1 [V06,T84] ( 5, 2.86) ref -> x26 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V05 loc0 [V05,T31] ( 11, 7.00) ref -> x23 class-hnd single-def <System.Reflection.ConstructorInfo[]>
+; V06 loc1 [V06,T85] ( 5, 2.86) ref -> x26 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V07 loc2 [V07,T52] ( 22, 5.36) ref -> x22 class-hnd <System.Reflection.ConstructorInfo>
; V08 loc3 [V08,T48] ( 6, 5.57) ref -> x24 class-hnd <<unknown class>>
; V09 loc4 [V09,T68] ( 19, 4.37) ref -> x27 class-hnd single-def <System.Reflection.ConstructorInfo>
;* V10 loc5 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Reflection.ParameterInfo[]>
-; V11 loc6 [V11,T104] ( 4, 2 ) ref -> x22 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
+; V11 loc6 [V11,T105] ( 4, 2 ) ref -> x22 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
; V12 loc7 [V12,T51] ( 8, 5.43) int -> x25
; V13 loc8 [V13,T11] ( 15, 12.37) ref -> x27 class-hnd <System.Reflection.ParameterInfo[]>
;* V14 loc9 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
-; V15 loc10 [V15,T74] ( 4, 3.86) ref -> x28 class-hnd <System.Reflection.ParameterInfo[]>
+; V15 loc10 [V15,T75] ( 4, 3.86) ref -> x28 class-hnd <System.Reflection.ParameterInfo[]>
; V16 loc11 [V16,T37] ( 5, 6.43) int -> [fp+0x1C4]
; V17 loc12 [V17,T41] ( 11, 6.00) ref -> [fp+0xE0] class-hnd spill-single-def <System.Reflection.ParameterInfo>
-; V18 loc13 [V18,T90] ( 3, 2.57) ref -> x27 class-hnd <System.Reflection.ParameterInfo[]>
+; V18 loc13 [V18,T91] ( 3, 2.57) ref -> x27 class-hnd <System.Reflection.ParameterInfo[]>
; V19 loc14 [V19,T46] ( 5, 5.79) int -> x28
; V20 loc15 [V20,T53] ( 12, 5.15) ref -> [fp+0xD8] class-hnd spill-single-def <System.Reflection.ParameterInfo>
;# V21 OutArgs [V21 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V22 tmp1 [V22,T112] ( 2, 1.71) ref -> x22 class-hnd single-def "dup spill" <<unknown class>>
+; V22 tmp1 [V22,T113] ( 2, 1.71) ref -> x22 class-hnd single-def "dup spill" <<unknown class>>
;* V23 tmp2 [V23 ] ( 0, 0 ) ref -> zero-ref single-def
-; V24 tmp3 [V24,T102] ( 5, 2.14) ref -> x22
-; V25 tmp4 [V25,T193] ( 5, 0 ) ref -> x20 class-hnd exact "dup spill" <System.Object[]>
-; V26 tmp5 [V26,T204] ( 2, 0 ) ref -> x26 class-hnd exact "impSpillLclRefs" <System.String>
-; V27 tmp6 [V27,T205] ( 2, 0 ) ref -> x15 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
-; V28 tmp7 [V28,T206] ( 2, 0 ) ref -> x15 class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.ConstructorInfo>
-; V29 tmp8 [V29,T197] ( 3, 0 ) ref -> x22 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V30 tmp9 [V30,T91] ( 3, 2.57) ref -> x24 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V24 tmp3 [V24,T103] ( 5, 2.14) ref -> x22
+; V25 tmp4 [V25,T195] ( 5, 0 ) ref -> x20 class-hnd exact "dup spill" <System.Object[]>
+; V26 tmp5 [V26,T206] ( 2, 0 ) ref -> x26 class-hnd exact "impSpillLclRefs" <System.String>
+; V27 tmp6 [V27,T207] ( 2, 0 ) ref -> x15 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V28 tmp7 [V28,T208] ( 2, 0 ) ref -> x15 class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.ConstructorInfo>
+; V29 tmp8 [V29,T199] ( 3, 0 ) ref -> x22 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V30 tmp9 [V30,T92] ( 3, 2.57) ref -> x24 class-hnd exact "NewObj constructor temp" <<unknown class>>
; V31 tmp10 [V31,T42] ( 7, 6.00) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V32 tmp11 [V32,T198] ( 3, 0 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V32 tmp11 [V32,T200] ( 3, 0 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V33 tmp12 [V33,T70] ( 5, 4.29) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V34 tmp13 [V34,T32] ( 7, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V35 tmp14 [V35,T166] ( 3, 0.43) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V36 tmp15 [V36,T199] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-; V37 tmp16 [V37,T117] ( 4, 1.64) ref -> x5 "guarded devirt return temp"
+; V35 tmp14 [V35,T167] ( 3, 0.43) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
+; V36 tmp15 [V36,T201] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V37 tmp16 [V37,T118] ( 4, 1.64) ref -> x5 "guarded devirt return temp"
;* V38 tmp17 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V39 tmp18 [V39,T99] ( 3, 2.29) ref -> x27 "guarded devirt return temp"
+; V39 tmp18 [V39,T100] ( 3, 2.29) ref -> x27 "guarded devirt return temp"
; V40 tmp19 [V40,T20] ( 11, 9.75) ref -> x27 "guarded devirt arg temp"
;* V41 tmp20 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V42 tmp21 [V42,T147] ( 3, 0.86) ref -> x28 "guarded devirt return temp"
+; V42 tmp21 [V42,T148] ( 3, 0.86) ref -> x28 "guarded devirt return temp"
;* V43 tmp22 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V44 tmp23 [V44,T81] ( 3, 3 ) ref -> x3 "guarded devirt return temp"
+; V44 tmp23 [V44,T82] ( 3, 3 ) ref -> x3 "guarded devirt return temp"
;* V45 tmp24 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V46 tmp25 [V46,T92] ( 3, 2.57) ref -> x1 "guarded devirt return temp"
+; V46 tmp25 [V46,T93] ( 3, 2.57) ref -> x3 "guarded devirt return temp"
;* V47 tmp26 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
;* V48 tmp27 [V48 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V49 tmp28 [V49,T43] ( 3, 6 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]>
@@ -64,21 +64,21 @@
;* V52 tmp31 [V52 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V53 tmp32 [V53 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo>
;* V54 tmp33 [V54 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V55 tmp34 [V55,T89] ( 4, 2.57) ref -> x25 "guarded devirt return temp"
-;* V56 tmp35 [V56,T134] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.RuntimeType>
+; V55 tmp34 [V55,T90] ( 4, 2.57) ref -> x25 "guarded devirt return temp"
+;* V56 tmp35 [V56,T135] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.RuntimeType>
;* V57 tmp36 [V57 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "Inline stloc first use temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
;* V58 tmp37 [V58 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inline return value spill temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
-;* V59 tmp38 [V59,T107] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd single-def "Inlining Arg" <System.String>
-;* V60 tmp39 [V60,T136] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
-;* V61 tmp40 [V61,T137] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
-;* V62 tmp41 [V62,T138] ( 0, 0 ) int -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V59 tmp38 [V59,T108] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd single-def "Inlining Arg" <System.String>
+;* V60 tmp39 [V60,T137] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V61 tmp40 [V61,T138] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V62 tmp41 [V62,T139] ( 0, 0 ) int -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
; V63 tmp42 [V63,T39] ( 5, 6.05) ref -> x22 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo[]>
; V64 tmp43 [V64 ] ( 8, 8.44) struct (24) [fp+0x1A8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
; V65 tmp44 [V65,T30] ( 5, 7.09) int -> x23 "Inline stloc first use temp"
; V66 tmp45 [V66,T40] ( 4, 6.01) ref -> x24 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
; V67 tmp46 [V67,T65] ( 5, 4.64) ref -> x22 class-hnd "Inline return value spill temp" <System.RuntimeType+RuntimeTypeCache>
; V68 tmp47 [V68,T57] ( 5, 5 ) ref -> x22 class-hnd single-def "Inline stloc first use temp" <System.Object>
-; V69 tmp48 [V69,T71] ( 2, 4 ) ref -> x0 class-hnd "spilling QMark2" <System.RuntimeType+RuntimeTypeCache>
+; V69 tmp48 [V69,T72] ( 2, 4 ) ref -> x0 class-hnd "spilling QMark2" <System.RuntimeType+RuntimeTypeCache>
;* V70 tmp49 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.RuntimeType+RuntimeTypeCache>
;* V71 tmp50 [V71 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V72 tmp51 [V72 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String>
@@ -89,84 +89,84 @@
; V77 tmp56 [V77,T49] ( 7, 5.54) ref -> x0 class-hnd "Inline stloc first use temp" <<unknown class>>
; V78 tmp57 [V78,T54] ( 4, 5.08) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
;* V79 tmp58 [V79 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-; V80 tmp59 [V80,T72] ( 2, 4 ) int -> x1 "Inlining Arg"
-; V81 tmp60 [V81,T105] ( 4, 2 ) ref -> x25 class-hnd "Inline return value spill temp" <System.Reflection.ConstructorInfo[]>
-; V82 tmp61 [V82,T77] ( 3, 3.43) ref -> x25 class-hnd exact single-def "dup spill" <System.Reflection.ConstructorInfo[]>
+; V80 tmp59 [V80,T73] ( 2, 4 ) int -> x1 "Inlining Arg"
+; V81 tmp60 [V81,T106] ( 4, 2 ) ref -> x25 class-hnd "Inline return value spill temp" <System.Reflection.ConstructorInfo[]>
+; V82 tmp61 [V82,T78] ( 3, 3.43) ref -> x25 class-hnd exact single-def "dup spill" <System.Reflection.ConstructorInfo[]>
;* V83 tmp62 [V83 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V84 tmp63 [V84 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Reflection.ConstructorInfo[]>
-; V85 tmp64 [V85,T164] ( 3, 0.45) ref -> x25 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ConstructorInfo[]>
-; V86 tmp65 [V86,T158] ( 3, 0.61) byref -> x0 single-def "impAppendStmt"
-; V87 tmp66 [V87,T159] ( 3, 0.61) byref -> x1 single-def "impAppendStmt"
-; V88 tmp67 [V88,T170] ( 2, 0.30) int -> x2 "Inline return value spill temp"
-; V89 tmp68 [V89,T144] ( 3, 0.91) int -> x2 "Inlining Arg"
-; V90 tmp69 [V90,T160] ( 2, 0.61) long -> x2 "Inlining Arg"
-; V91 tmp70 [V91,T143] ( 4, 0.91) long -> x2 "Inlining Arg"
+; V85 tmp64 [V85,T165] ( 3, 0.45) ref -> x25 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ConstructorInfo[]>
+; V86 tmp65 [V86,T159] ( 3, 0.61) byref -> x0 single-def "impAppendStmt"
+; V87 tmp66 [V87,T160] ( 3, 0.61) byref -> x1 single-def "impAppendStmt"
+; V88 tmp67 [V88,T171] ( 2, 0.30) int -> x2 "Inline return value spill temp"
+; V89 tmp68 [V89,T145] ( 3, 0.91) int -> x2 "Inlining Arg"
+; V90 tmp69 [V90,T161] ( 2, 0.61) long -> x2 "Inlining Arg"
+; V91 tmp70 [V91,T144] ( 4, 0.91) long -> x2 "Inlining Arg"
;* V92 tmp71 [V92 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
;* V93 tmp72 [V93 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V94 tmp73 [V94,T101] ( 2, 2.29) ref -> x1 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
-; V95 tmp74 [V95,T85] ( 6, 2.85) ref -> x1
+; V94 tmp73 [V94,T102] ( 2, 2.29) ref -> x1 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
+; V95 tmp74 [V95,T86] ( 6, 2.85) ref -> x1
;* V96 tmp75 [V96 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
;* V97 tmp76 [V97 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V98 tmp77 [V98,T161] ( 2, 0.57) ref -> x26 class-hnd exact single-def "dup spill" <System.Signature>
-; V99 tmp78 [V99,T165] ( 4, 0.44) ref -> x26
-; V100 tmp79 [V100,T167] ( 3, 0.43) ref -> x1 class-hnd single-def "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V98 tmp77 [V98,T162] ( 2, 0.57) ref -> x26 class-hnd exact single-def "dup spill" <System.Signature>
+; V99 tmp78 [V99,T166] ( 4, 0.44) ref -> x26
+; V100 tmp79 [V100,T168] ( 3, 0.43) ref -> x1 class-hnd single-def "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
;* V101 tmp80 [V101 ] ( 0, 0 ) int -> zero-ref
; V102 tmp81 [V102 ] ( 2, 0.29) ref -> [fp+0x1A0] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Reflection.ParameterInfo>
;* V103 tmp82 [V103 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V104 tmp83 [V104,T130] ( 3, 1.14) ref -> x5 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
-; V105 tmp84 [V105,T140] ( 3, 0.96) ref -> x26 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V106 tmp85 [V106,T123] ( 3, 1.29) byref -> x0 single-def "Inlining Arg"
+; V104 tmp83 [V104,T131] ( 3, 1.14) ref -> x5 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V105 tmp84 [V105,T141] ( 3, 0.96) ref -> x26 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
+; V106 tmp85 [V106,T124] ( 3, 1.29) byref -> x0 single-def "Inlining Arg"
;* V107 tmp86 [V107 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V108 tmp87 [V108,T124] ( 2, 1.29) long -> x1 "Inlining Arg"
-; V109 tmp88 [V109,T108] ( 4, 1.93) long -> x2 "Inlining Arg"
+; V108 tmp87 [V108,T125] ( 2, 1.29) long -> x1 "Inlining Arg"
+; V109 tmp88 [V109,T109] ( 4, 1.93) long -> x2 "Inlining Arg"
;* V110 tmp89 [V110 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
;* V111 tmp90 [V111 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Type>
-; V112 tmp91 [V112,T132] ( 3, 1 ) ref -> x2 class-hnd "spilling ret_expr" <System.Type>
-; V113 tmp92 [V113,T207] ( 2, 0 ) ref -> x28 class-hnd exact single-def "non-inline candidate call" <System.String>
-; V114 tmp93 [V114,T200] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-; V115 tmp94 [V115,T119] ( 4, 1.50) ref -> x1 "guarded devirt return temp"
+; V112 tmp91 [V112,T133] ( 3, 1 ) ref -> x2 class-hnd "spilling ret_expr" <System.Type>
+; V113 tmp92 [V113,T209] ( 2, 0 ) ref -> x28 class-hnd exact single-def "non-inline candidate call" <System.String>
+; V114 tmp93 [V114,T202] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V115 tmp94 [V115,T120] ( 4, 1.50) ref -> x1 "guarded devirt return temp"
;* V116 tmp95 [V116 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V117 tmp96 [V117,T133] ( 3, 1 ) int -> x0 "guarded devirt return temp"
+; V117 tmp96 [V117,T134] ( 3, 1 ) int -> x0 "guarded devirt return temp"
;* V118 tmp97 [V118 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V119 tmp98 [V119 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.RuntimeType+RuntimeTypeCache>
-; V120 tmp99 [V120,T113] ( 2, 1.71) ref -> x15 class-hnd exact single-def "Inlining Arg" <<unknown class>>
+; V120 tmp99 [V120,T114] ( 2, 1.71) ref -> x15 class-hnd exact single-def "Inlining Arg" <<unknown class>>
;* V121 tmp100 [V121 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Reflection.ConstructorInfo]>
;* V122 tmp101 [V122 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" <System.Span`1[System.Reflection.ConstructorInfo]>
-; V123 tmp102 [V123,T116] ( 2, 1.71) int -> x27 "Inlining Arg"
-; V124 tmp103 [V124,T114] ( 2, 1.71) byref -> x25 single-def "Inlining Arg"
+; V123 tmp102 [V123,T117] ( 2, 1.71) int -> x27 "Inlining Arg"
+; V124 tmp103 [V124,T115] ( 2, 1.71) byref -> x25 single-def "Inlining Arg"
;* V125 tmp104 [V125 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
;* V126 tmp105 [V126 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
; V127 tmp106 [V127,T66] ( 2, 4.57) ref -> x1 class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
; V128 tmp107 [V128,T47] ( 6, 5.70) ref -> x1
;* V129 tmp108 [V129 ] ( 0, 0 ) ref -> zero-ref class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
;* V130 tmp109 [V130 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V131 tmp110 [V131,T131] ( 2, 1.14) ref -> x28 class-hnd exact "dup spill" <System.Signature>
-; V132 tmp111 [V132,T146] ( 4, 0.88) ref -> x28
-; V133 tmp112 [V133,T148] ( 3, 0.86) ref -> x1 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V131 tmp110 [V131,T132] ( 2, 1.14) ref -> x28 class-hnd exact "dup spill" <System.Signature>
+; V132 tmp111 [V132,T147] ( 4, 0.88) ref -> x28
+; V133 tmp112 [V133,T149] ( 3, 0.86) ref -> x1 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
;* V134 tmp113 [V134 ] ( 0, 0 ) int -> zero-ref
; V135 tmp114 [V135 ] ( 2, 0.57) ref -> [fp+0x198] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Reflection.ParameterInfo>
;* V136 tmp115 [V136 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V137 tmp116 [V137,T100] ( 3, 2.29) ref -> x27 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
-; V138 tmp117 [V138,T109] ( 3, 1.93) ref -> [fp+0xD0] class-hnd exact spill-single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V139 tmp118 [V139,T87] ( 3, 2.57) byref -> x0 "Inlining Arg"
+; V137 tmp116 [V137,T101] ( 3, 2.29) ref -> x27 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V138 tmp117 [V138,T110] ( 3, 1.93) ref -> [fp+0xD0] class-hnd exact spill-single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
+; V139 tmp118 [V139,T88] ( 3, 2.57) byref -> x0 "Inlining Arg"
;* V140 tmp119 [V140 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V141 tmp120 [V141,T88] ( 2, 2.57) long -> x1 "Inlining Arg"
-; V142 tmp121 [V142,T73] ( 4, 3.86) long -> x2 "Inlining Arg"
-; V143 tmp122 [V143,T86] ( 4, 2.71) ref -> x1 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V141 tmp120 [V141,T89] ( 2, 2.57) long -> x1 "Inlining Arg"
+; V142 tmp121 [V142,T74] ( 4, 3.86) long -> x2 "Inlining Arg"
+; V143 tmp122 [V143,T87] ( 4, 2.71) ref -> x1 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V144 tmp123 [V144,T34] ( 6, 6.64) ref -> [fp+0xC8] class-hnd exact spill-single-def "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V145 tmp124 [V145,T05] ( 18, 18.12) int -> [fp+0x194] "Inline stloc first use temp"
; V146 tmp125 [V146,T08] ( 18, 16.05) ref -> [fp+0xC0] class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
; V147 tmp126 [V147,T56] ( 14, 5.02) ref -> [fp+0xB8] class-hnd "Inline stloc first use temp" <System.Type>
; V148 tmp127 [V148,T50] ( 8, 5.47) ref -> [fp+0xB0] class-hnd "Inline stloc first use temp" <System.Object[]>
-; V149 tmp128 [V149,T76] ( 10, 3.48) int -> [fp+0x190] "Inline stloc first use temp"
-; V150 tmp129 [V150,T162] ( 6, 0.50) ref -> [fp+0xA8] class-hnd "Inline stloc first use temp" <System.Object>
+; V149 tmp128 [V149,T77] ( 10, 3.48) int -> [fp+0x190] "Inline stloc first use temp"
+; V150 tmp129 [V150,T163] ( 6, 0.50) ref -> [fp+0xA8] class-hnd "Inline stloc first use temp" <System.Object>
;* V151 tmp130 [V151 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V152 tmp131 [V152,T163] ( 6, 0.50) ref -> x0 class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
+; V152 tmp131 [V152,T164] ( 6, 0.50) ref -> x0 class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
;* V153 tmp132 [V153 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V154 tmp133 [V154,T188] ( 6, 0 ) ref -> [fp+0xA0] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
-; V155 tmp134 [V155,T201] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V154 tmp133 [V154,T190] ( 6, 0 ) ref -> [fp+0xA0] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V155 tmp134 [V155,T203] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <<unknown class>>
; V156 tmp135 [V156 ] ( 6, 2.43) ref -> [fp+0x188] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Object>
-; V157 tmp136 [V157,T171] ( 6, 0.30) ref -> [fp+0x98] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V157 tmp136 [V157,T172] ( 6, 0.30) ref -> [fp+0x98] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
;* V158 tmp137 [V158 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V159 tmp138 [V159,T61] ( 4, 4.97) ref -> registers "guarded devirt return temp"
; V160 tmp139 [V160,T04] ( 22, 19.88) ref -> [fp+0x90] "guarded devirt arg temp"
@@ -174,7 +174,7 @@
; V162 tmp141 [V162,T58] ( 8, 4.97) ref -> registers "guarded devirt return temp"
; V163 tmp142 [V163,T00] ( 20,109.32) ref -> [fp+0x88] "guarded devirt arg temp"
;* V164 tmp143 [V164 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V165 tmp144 [V165,T179] ( 8, 0.00) ref -> [fp+0x80] class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V165 tmp144 [V165,T181] ( 8, 0.00) ref -> [fp+0x80] class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V166 tmp145 [V166 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V167 tmp146 [V167 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V168 tmp147 [V168 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
@@ -194,10 +194,10 @@
;* V182 tmp161 [V182 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimePropertyInfo>
; V183 tmp162 [V183,T33] ( 12, 6.83) ref -> x2 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
;* V184 tmp163 [V184 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V185 tmp164 [V185,T189] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V185 tmp164 [V185,T191] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V186 tmp165 [V186 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V187 tmp166 [V187 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V188 tmp167 [V188,T190] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V188 tmp167 [V188,T192] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
; V189 tmp168 [V189,T24] ( 6, 8.77) int -> [fp+0x16C] "Inlining Arg"
;* V190 tmp169 [V190 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V191 tmp170 [V191 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
@@ -205,12 +205,12 @@
...
Details
Improvements/regressions per collection
| Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
| benchmarks.run.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| benchmarks.run_pgo.linux.arm64.checked.mch |
1 |
0 |
1 |
0 |
-0 |
+16 |
| benchmarks.run_tiered.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| coreclr_tests.run.linux.arm64.checked.mch |
5 |
0 |
3 |
2 |
-0 |
+48 |
| libraries.crossgen2.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries.pmi.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries_tests.run.linux.arm64.Release.mch |
2 |
1 |
0 |
1 |
-48 |
+0 |
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| realworld.run.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| smoke_tests.nativeaot.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
|
8 |
1 |
4 |
3 |
-48 |
+64 |
Context information
| Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
| benchmarks.run.linux.arm64.checked.mch |
32,435 |
2,362 |
30,073 |
0 (0.00%) |
0 (0.00%) |
| benchmarks.run_pgo.linux.arm64.checked.mch |
152,738 |
60,751 |
91,987 |
0 (0.00%) |
13 (0.01%) |
| benchmarks.run_tiered.linux.arm64.checked.mch |
60,787 |
45,077 |
15,710 |
0 (0.00%) |
0 (0.00%) |
| coreclr_tests.run.linux.arm64.checked.mch |
626,686 |
383,548 |
243,138 |
1 (0.00%) |
10 (0.00%) |
| libraries.crossgen2.linux.arm64.checked.mch |
1,936 |
0 |
1,936 |
0 (0.00%) |
0 (0.00%) |
| libraries.pmi.linux.arm64.checked.mch |
295,690 |
6 |
295,684 |
0 (0.00%) |
0 (0.00%) |
| libraries_tests.run.linux.arm64.Release.mch |
750,985 |
494,543 |
256,442 |
0 (0.00%) |
126 (0.02%) |
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch |
304,828 |
21,600 |
283,228 |
0 (0.00%) |
0 (0.00%) |
| realworld.run.linux.arm64.checked.mch |
33,343 |
157 |
33,186 |
0 (0.00%) |
0 (0.00%) |
| smoke_tests.nativeaot.linux.arm64.checked.mch |
52 |
0 |
52 |
0 (0.00%) |
0 (0.00%) |
|
2,259,480 |
1,008,044 |
1,251,436 |
1 (0.00%) |
149 (0.01%) |
jit-analyze output
benchmarks.run_pgo.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 79905052 (overridden on cmd)
Total bytes of diff: 79905068 (overridden on cmd)
Total bytes of delta: 16 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
16 : 133411.dasm (3.15 % of base)
1 total files with Code Size differences (0 improved, 1 regressed), 0 unchanged.
Top method regressions (bytes):
16 (3.15 % of base) : 133411.dasm - System.Text.RegularExpressions.RegexNode:FindAndMakeLoopsAtomic():this (Tier1)
Top method regressions (percentages):
16 (3.15 % of base) : 133411.dasm - System.Text.RegularExpressions.RegexNode:FindAndMakeLoopsAtomic():this (Tier1)
1 total methods with Code Size differences (0 improved, 1 regressed).
coreclr_tests.run.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 509743004 (overridden on cmd)
Total bytes of diff: 509743052 (overridden on cmd)
Total bytes of delta: 48 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
16 : 145628.dasm (0.49 % of base)
16 : 56972.dasm (0.49 % of base)
16 : 526823.dasm (0.58 % of base)
3 total files with Code Size differences (0 improved, 3 regressed), 2 unchanged.
Top method regressions (bytes):
16 (0.58 % of base) : 526823.dasm - Program:TestEntryPoint() (FullOpts)
16 (0.49 % of base) : 145628.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
16 (0.49 % of base) : 56972.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
Top method regressions (percentages):
16 (0.58 % of base) : 526823.dasm - Program:TestEntryPoint() (FullOpts)
16 (0.49 % of base) : 145628.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
16 (0.49 % of base) : 56972.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
3 total methods with Code Size differences (0 improved, 3 regressed).
libraries_tests.run.linux.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 400029436 (overridden on cmd)
Total bytes of diff: 400029388 (overridden on cmd)
Total bytes of delta: -48 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
-48 : 133954.dasm (-1.02 % of base)
1 total files with Code Size differences (1 improved, 0 regressed), 1 unchanged.
Top method improvements (bytes):
-48 (-1.02 % of base) : 133954.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
Top method improvements (percentages):
-48 (-1.02 % of base) : 133954.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
1 total methods with Code Size differences (1 improved, 0 regressed).
linux x64
Diffs are based on 2,249,703 contexts (981,298 MinOpts, 1,268,405 FullOpts).
MISSED contexts: base: 0 (0.00%), diff: 134 (0.01%)
Overall (-8 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| benchmarks.run_pgo.linux.x64.checked.mch |
69,157,713 |
+0 |
| coreclr_tests.run.linux.x64.checked.mch |
403,315,818 |
+12 |
| libraries_tests.run.linux.x64.Release.mch |
348,296,356 |
-20 |
FullOpts (-8 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| benchmarks.run_pgo.linux.x64.checked.mch |
47,815,668 |
+0 |
| coreclr_tests.run.linux.x64.checked.mch |
123,824,657 |
+12 |
| libraries_tests.run.linux.x64.Release.mch |
164,541,192 |
-20 |
Example diffs
benchmarks.run_pgo.linux.x64.checked.mch
+0 (0.00%) : 141309.dasm - System.Text.RegularExpressions.RegexNode:FindAndMakeLoopsAtomic():this (Tier1)
@@ -109,7 +109,7 @@ G_M41283_IG09: ; bbWeight=0.25, gcrefRegs=2048 {rbx rsi r13}, byrefRegs=0
G_M41283_IG10: ; bbWeight=0.12, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
; gcrRegs -[r13]
mov rdi, 0xD1FFAB1E ; <unknown class>
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rsi] +[rax]
mov r13, rax
; gcrRegs +[r13]
coreclr_tests.run.linux.x64.checked.mch
+0 (0.00%) : 434817.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -834,7 +834,7 @@ G_M27650_IG50: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
je SHORT G_M27650_IG51
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rsi] +[rax]
;; size=78 bbWeight=0 PerfScore 0.00
G_M27650_IG51: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+0 (0.00%) : 326958.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1080,7 +1080,7 @@ G_M27650_IG63: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
je SHORT G_M27650_IG64
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rsi] +[rax]
;; size=78 bbWeight=0 PerfScore 0.00
G_M27650_IG64: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+0 (0.00%) : 328059.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -836,7 +836,7 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
je SHORT G_M27650_IG52
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rsi] +[rax]
;; size=78 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+1 (+0.04%) : 381331.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -836,9 +836,9 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
je SHORT G_M27650_IG52
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call [CORINFO_HELP_CHKCASTCLASS_SPECIAL]
; gcrRegs -[rsi] +[rax]
- ;; size=78 bbWeight=0 PerfScore 0.00
+ ;; size=79 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
mov rdx, r15
@@ -1198,7 +1198,7 @@ G_M27650_IG70: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
jmp G_M27650_IG46
;; size=25 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2302, prolog size 19, PerfScore 323.82, instruction count 546, allocated bytes for code 2302 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
+; Total bytes of code 2303, prolog size 19, PerfScore 323.82, instruction count 546, allocated bytes for code 2303 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
; ============================================================
Unwind Info:
+1 (+0.04%) : 395040.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -836,9 +836,9 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
je SHORT G_M27650_IG52
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call [CORINFO_HELP_CHKCASTCLASS_SPECIAL]
; gcrRegs -[rsi] +[rax]
- ;; size=78 bbWeight=0 PerfScore 0.00
+ ;; size=79 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
mov rdx, r15
@@ -1198,7 +1198,7 @@ G_M27650_IG70: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
jmp G_M27650_IG46
;; size=25 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2302, prolog size 19, PerfScore 323.82, instruction count 546, allocated bytes for code 2302 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
+; Total bytes of code 2303, prolog size 19, PerfScore 323.82, instruction count 546, allocated bytes for code 2303 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
; ============================================================
Unwind Info:
+7 (+0.37%) : 180758.dasm - Program:TestEntryPoint() (FullOpts)
@@ -9,198 +9,199 @@
; Final local variable assignments
;
;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V01 tmp1 [V01,T02] ( 3, 1.50) int -> rdi "Inline return value spill temp"
+; V01 tmp1 [V01,T03] ( 3, 1.50) int -> rdi "Inline return value spill temp"
;* V02 tmp2 [V02 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V03 tmp3 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "spilling QMark2" <System.RuntimeType>
-; V04 tmp4 [V04,T65] ( 17, 0 ) int -> rdi "Inline return value spill temp"
-; V05 tmp5 [V05,T64] ( 18, 0 ) ref -> rbx class-hnd "Inline stloc first use temp" <System.RuntimeType>
-; V06 tmp6 [V06,T72] ( 3, 0 ) ref -> rax single-def "CASTCLASS eval op1"
-; V07 tmp7 [V07,T73] ( 3, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
-; V08 tmp8 [V08,T71] ( 4, 0 ) ref -> rbx class-hnd single-def "spilling QMark2" <System.RuntimeType>
-;* V09 tmp9 [V09,T18] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V10 tmp10 [V10,T19] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+; V04 tmp4 [V04,T66] ( 17, 0 ) int -> rdi "Inline return value spill temp"
+; V05 tmp5 [V05,T65] ( 18, 0 ) ref -> rbx class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V06 tmp6 [V06,T73] ( 3, 0 ) ref -> rax single-def "CASTCLASS eval op1"
+; V07 tmp7 [V07,T74] ( 3, 0 ) long -> rdi "fgMakeTemp is creating a new local variable"
+; V08 tmp8 [V08,T72] ( 4, 0 ) ref -> rbx class-hnd single-def "spilling QMark2" <System.RuntimeType>
+;* V09 tmp9 [V09,T19] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V10 tmp10 [V10,T20] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V11 tmp11 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V12 tmp12 [V12,T20] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V13 tmp13 [V13,T21] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V12 tmp12 [V12,T21] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V13 tmp13 [V13,T22] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V14 tmp14 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V15 tmp15 [V15,T22] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V16 tmp16 [V16,T23] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V15 tmp15 [V15,T23] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V16 tmp16 [V16,T24] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V17 tmp17 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V18 tmp18 [V18,T24] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V19 tmp19 [V19,T25] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V18 tmp18 [V18,T25] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V19 tmp19 [V19,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V20 tmp20 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V21 tmp21 [V21,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V22 tmp22 [V22,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V21 tmp21 [V21,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V22 tmp22 [V22,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V23 tmp23 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V24 tmp24 [V24,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V25 tmp25 [V25,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V24 tmp24 [V24,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V25 tmp25 [V25,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V26 tmp26 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V27 tmp27 [V27,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V28 tmp28 [V28,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V27 tmp27 [V27,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V28 tmp28 [V28,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V29 tmp29 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V30 tmp30 [V30,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V31 tmp31 [V31,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V30 tmp30 [V30,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V31 tmp31 [V31,T34] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V32 tmp32 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V33 tmp33 [V33,T34] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V34 tmp34 [V34,T35] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V35 tmp35 [V35,T03] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V36 tmp36 [V36,T36] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V37 tmp37 [V37,T37] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V38 tmp38 [V38,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V39 tmp39 [V39,T38] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V40 tmp40 [V40,T39] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V41 tmp41 [V41,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V42 tmp42 [V42,T40] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V43 tmp43 [V43,T41] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V44 tmp44 [V44,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V45 tmp45 [V45,T42] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V46 tmp46 [V46,T43] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V47 tmp47 [V47,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V48 tmp48 [V48,T44] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V49 tmp49 [V49,T45] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V50 tmp50 [V50,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V51 tmp51 [V51,T46] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V52 tmp52 [V52,T47] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V53 tmp53 [V53,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V54 tmp54 [V54,T48] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V55 tmp55 [V55,T49] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V56 tmp56 [V56,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V57 tmp57 [V57,T50] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V58 tmp58 [V58,T51] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V59 tmp59 [V59,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V60 tmp60 [V60,T52] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V61 tmp61 [V61,T53] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V62 tmp62 [V62,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V63 tmp63 [V63,T54] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V64 tmp64 [V64,T55] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V65 tmp65 [V65,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V66 tmp66 [V66,T56] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V67 tmp67 [V67,T57] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V68 tmp68 [V68,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V69 tmp69 [V69,T58] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V70 tmp70 [V70,T59] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V71 tmp71 [V71,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V72 tmp72 [V72,T60] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V73 tmp73 [V73,T61] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V74 tmp74 [V74,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V75 tmp75 [V75,T62] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V76 tmp76 [V76,T63] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V77 tmp77 [V77,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V78 tmp78 [V78,T74] ( 3, 0 ) int -> rdi "Inline return value spill temp"
-; V79 tmp79 [V79,T01] ( 6, 4 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Type>
+;* V33 tmp33 [V33,T35] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V34 tmp34 [V34,T36] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V35 tmp35 [V35,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V36 tmp36 [V36,T37] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V37 tmp37 [V37,T38] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V38 tmp38 [V38,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V39 tmp39 [V39,T39] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V40 tmp40 [V40,T40] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V41 tmp41 [V41,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V42 tmp42 [V42,T41] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V43 tmp43 [V43,T42] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V44 tmp44 [V44,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V45 tmp45 [V45,T43] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V46 tmp46 [V46,T44] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V47 tmp47 [V47,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V48 tmp48 [V48,T45] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V49 tmp49 [V49,T46] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V50 tmp50 [V50,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V51 tmp51 [V51,T47] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V52 tmp52 [V52,T48] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V53 tmp53 [V53,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V54 tmp54 [V54,T49] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V55 tmp55 [V55,T50] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V56 tmp56 [V56,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V57 tmp57 [V57,T51] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V58 tmp58 [V58,T52] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V59 tmp59 [V59,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V60 tmp60 [V60,T53] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V61 tmp61 [V61,T54] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V62 tmp62 [V62,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V63 tmp63 [V63,T55] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V64 tmp64 [V64,T56] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V65 tmp65 [V65,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V66 tmp66 [V66,T57] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V67 tmp67 [V67,T58] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V68 tmp68 [V68,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V69 tmp69 [V69,T59] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V70 tmp70 [V70,T60] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V71 tmp71 [V71,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V72 tmp72 [V72,T61] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V73 tmp73 [V73,T62] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V74 tmp74 [V74,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V75 tmp75 [V75,T63] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V76 tmp76 [V76,T64] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V77 tmp77 [V77,T18] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V78 tmp78 [V78,T75] ( 3, 0 ) int -> rdi "Inline return value spill temp"
+; V79 tmp79 [V79,T02] ( 6, 4 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Type>
;* V80 tmp80 [V80 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V81 tmp81 [V81 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.RuntimeType>
-; V82 tmp82 [V82,T75] ( 3, 0 ) int -> rdi "guarded devirt return temp"
+; V82 tmp82 [V82,T76] ( 3, 0 ) int -> rdi "guarded devirt return temp"
;* V83 tmp83 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V84 tmp84 [V84 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V85 tmp85 [V85 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V86 tmp86 [V86 ] ( 0, 0 ) ref -> zero-ref "CASTCLASS eval op1"
;* V87 tmp87 [V87 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V88 tmp88 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.RuntimeType>
-;* V89 tmp89 [V89,T102] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V90 tmp90 [V90,T103] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V91 tmp91 [V91,T86] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V92 tmp92 [V92,T104] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V93 tmp93 [V93,T105] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V94 tmp94 [V94,T87] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V95 tmp95 [V95,T106] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V96 tmp96 [V96,T107] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V97 tmp97 [V97,T88] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V98 tmp98 [V98,T108] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V99 tmp99 [V99,T109] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V100 tmp100 [V100,T89] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V101 tmp101 [V101,T110] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V102 tmp102 [V102,T111] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V103 tmp103 [V103,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V104 tmp104 [V104,T112] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V105 tmp105 [V105,T113] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V106 tmp106 [V106,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V107 tmp107 [V107,T114] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V108 tmp108 [V108,T115] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V109 tmp109 [V109,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V110 tmp110 [V110,T116] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V111 tmp111 [V111,T117] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V112 tmp112 [V112,T93] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V113 tmp113 [V113,T118] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V114 tmp114 [V114,T119] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V115 tmp115 [V115,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V116 tmp116 [V116,T120] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V117 tmp117 [V117,T121] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V118 tmp118 [V118,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V119 tmp119 [V119,T122] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V120 tmp120 [V120,T123] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V121 tmp121 [V121,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V122 tmp122 [V122,T124] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V123 tmp123 [V123,T125] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V124 tmp124 [V124,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V125 tmp125 [V125,T126] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V126 tmp126 [V126,T127] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V127 tmp127 [V127,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V128 tmp128 [V128,T128] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V129 tmp129 [V129,T129] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V130 tmp130 [V130,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V131 tmp131 [V131,T76] ( 3, 0 ) int -> rdi "Inline return value spill temp"
-; V132 tmp132 [V132,T66] ( 6, 0 ) ref -> rax class-hnd single-def "Inlining Arg" <System.Type>
+;* V89 tmp89 [V89,T103] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V90 tmp90 [V90,T104] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V91 tmp91 [V91,T87] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V92 tmp92 [V92,T105] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V93 tmp93 [V93,T106] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V94 tmp94 [V94,T88] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V95 tmp95 [V95,T107] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V96 tmp96 [V96,T108] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V97 tmp97 [V97,T89] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V98 tmp98 [V98,T109] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V99 tmp99 [V99,T110] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V100 tmp100 [V100,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V101 tmp101 [V101,T111] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V102 tmp102 [V102,T112] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V103 tmp103 [V103,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V104 tmp104 [V104,T113] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V105 tmp105 [V105,T114] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V106 tmp106 [V106,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V107 tmp107 [V107,T115] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V108 tmp108 [V108,T116] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V109 tmp109 [V109,T93] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V110 tmp110 [V110,T117] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V111 tmp111 [V111,T118] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V112 tmp112 [V112,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V113 tmp113 [V113,T119] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V114 tmp114 [V114,T120] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V115 tmp115 [V115,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V116 tmp116 [V116,T121] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V117 tmp117 [V117,T122] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V118 tmp118 [V118,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V119 tmp119 [V119,T123] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V120 tmp120 [V120,T124] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V121 tmp121 [V121,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V122 tmp122 [V122,T125] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V123 tmp123 [V123,T126] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V124 tmp124 [V124,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V125 tmp125 [V125,T127] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V126 tmp126 [V126,T128] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V127 tmp127 [V127,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V128 tmp128 [V128,T129] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V129 tmp129 [V129,T130] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V130 tmp130 [V130,T100] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V131 tmp131 [V131,T77] ( 3, 0 ) int -> rdi "Inline return value spill temp"
+; V132 tmp132 [V132,T67] ( 6, 0 ) ref -> rax class-hnd single-def "Inlining Arg" <System.Type>
...
libraries_tests.run.linux.x64.Release.mch
-30 (-0.36%) : 137070.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
@@ -10,52 +10,52 @@
; Final local variable assignments
;
; V00 this [V00,T20] ( 9, 7.47) ref -> r15 this class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory>
-; V01 arg1 [V01,T129] ( 3, 1 ) struct (32) [rbp+0x10] do-not-enreg[S] single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache>
+; V01 arg1 [V01,T130] ( 3, 1 ) struct (32) [rbp+0x10] do-not-enreg[S] single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache>
;* V02 arg2 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V03 arg3 [V03,T11] ( 12, 6.50) ref -> rbx class-hnd single-def <System.Type>
; V04 arg4 [V04,T22] ( 10, 6.98) ref -> [rbp-0xE8] class-hnd EH-live single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
-; V05 loc0 [V05,T26] ( 11, 7 ) ref -> r14 class-hnd single-def <System.Reflection.ConstructorInfo[]>
-; V06 loc1 [V06,T80] ( 5, 2.86) ref -> registers class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V05 loc0 [V05,T26] ( 11, 7.00) ref -> r14 class-hnd single-def <System.Reflection.ConstructorInfo[]>
+; V06 loc1 [V06,T81] ( 5, 2.86) ref -> registers class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V07 loc2 [V07,T48] ( 22, 5.36) ref -> r12 class-hnd <System.Reflection.ConstructorInfo>
; V08 loc3 [V08,T45] ( 6, 5.57) ref -> [rbp-0xF0] class-hnd <<unknown class>>
; V09 loc4 [V09,T64] ( 19, 4.37) ref -> r12 class-hnd single-def <System.Reflection.ConstructorInfo>
;* V10 loc5 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Reflection.ParameterInfo[]>
-; V11 loc6 [V11,T100] ( 4, 2 ) ref -> r14 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
+; V11 loc6 [V11,T101] ( 4, 2 ) ref -> r14 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
; V12 loc7 [V12,T47] ( 8, 5.43) int -> [rbp-0x2C]
; V13 loc8 [V13,T09] ( 20, 14.36) ref -> [rbp-0xF8] class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
;* V14 loc9 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
-; V15 loc10 [V15,T69] ( 4, 3.86) ref -> [rbp-0x100] class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
+; V15 loc10 [V15,T70] ( 4, 3.86) ref -> [rbp-0x100] class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
; V16 loc11 [V16,T32] ( 5, 6.43) int -> [rbp-0x30]
; V17 loc12 [V17,T35] ( 11, 6.00) ref -> [rbp-0x108] class-hnd spill-single-def <System.Reflection.ParameterInfo>
-; V18 loc13 [V18,T70] ( 4, 3.86) ref -> [rbp-0x110] class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
+; V18 loc13 [V18,T71] ( 4, 3.86) ref -> [rbp-0x110] class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
; V19 loc14 [V19,T41] ( 5, 5.79) int -> [rbp-0x34]
; V20 loc15 [V20,T50] ( 11, 5.14) ref -> [rbp-0x118] class-hnd spill-single-def <System.Reflection.ParameterInfo>
; V21 OutArgs [V21 ] ( 1, 1 ) struct (48) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V22 tmp1 [V22,T108] ( 2, 1.71) ref -> r12 class-hnd single-def "dup spill" <<unknown class>>
+; V22 tmp1 [V22,T109] ( 2, 1.71) ref -> r12 class-hnd single-def "dup spill" <<unknown class>>
;* V23 tmp2 [V23 ] ( 0, 0 ) ref -> zero-ref single-def
-; V24 tmp3 [V24,T98] ( 5, 2.14) ref -> r12
-; V25 tmp4 [V25,T190] ( 5, 0 ) ref -> r15 class-hnd exact "dup spill" <System.Object[]>
-; V26 tmp5 [V26,T201] ( 2, 0 ) ref -> r13 class-hnd exact "impSpillLclRefs" <System.String>
-; V27 tmp6 [V27,T202] ( 2, 0 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
-; V28 tmp7 [V28,T203] ( 2, 0 ) ref -> rsi class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.ConstructorInfo>
-; V29 tmp8 [V29,T194] ( 3, 0 ) ref -> r12 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V30 tmp9 [V30,T86] ( 3, 2.57) ref -> [rbp-0x120] class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
+; V24 tmp3 [V24,T99] ( 5, 2.14) ref -> r12
+; V25 tmp4 [V25,T192] ( 5, 0 ) ref -> r15 class-hnd exact "dup spill" <System.Object[]>
+; V26 tmp5 [V26,T203] ( 2, 0 ) ref -> r13 class-hnd exact "impSpillLclRefs" <System.String>
+; V27 tmp6 [V27,T204] ( 2, 0 ) ref -> rax class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V28 tmp7 [V28,T205] ( 2, 0 ) ref -> rsi class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.ConstructorInfo>
+; V29 tmp8 [V29,T196] ( 3, 0 ) ref -> r12 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V30 tmp9 [V30,T87] ( 3, 2.57) ref -> [rbp-0x120] class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
; V31 tmp10 [V31,T36] ( 7, 6.00) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V32 tmp11 [V32,T195] ( 3, 0 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V32 tmp11 [V32,T197] ( 3, 0 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V33 tmp12 [V33,T65] ( 5, 4.29) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V34 tmp13 [V34,T27] ( 7, 7 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V35 tmp14 [V35,T157] ( 3, 0.43) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V36 tmp15 [V36,T196] ( 3, 0 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-; V37 tmp16 [V37,T113] ( 4, 1.64) ref -> r9 "guarded devirt return temp"
+; V35 tmp14 [V35,T158] ( 3, 0.43) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
+; V36 tmp15 [V36,T198] ( 3, 0 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V37 tmp16 [V37,T114] ( 4, 1.64) ref -> r9 "guarded devirt return temp"
;* V38 tmp17 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V39 tmp18 [V39,T95] ( 3, 2.29) ref -> registers "guarded devirt return temp"
+; V39 tmp18 [V39,T96] ( 3, 2.29) ref -> registers "guarded devirt return temp"
; V40 tmp19 [V40,T19] ( 11, 9.75) ref -> [rbp-0x128] spill-single-def "guarded devirt arg temp"
;* V41 tmp20 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V42 tmp21 [V42,T142] ( 3, 0.86) ref -> registers "guarded devirt return temp"
+; V42 tmp21 [V42,T143] ( 3, 0.86) ref -> registers "guarded devirt return temp"
;* V43 tmp22 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V44 tmp23 [V44,T77] ( 3, 3 ) ref -> rsi "guarded devirt return temp"
+; V44 tmp23 [V44,T78] ( 3, 3 ) ref -> rsi "guarded devirt return temp"
;* V45 tmp24 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V46 tmp25 [V46,T87] ( 3, 2.57) ref -> rcx "guarded devirt return temp"
+; V46 tmp25 [V46,T88] ( 3, 2.57) ref -> rsi "guarded devirt return temp"
;* V47 tmp26 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
;* V48 tmp27 [V48 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V49 tmp28 [V49,T37] ( 3, 6 ) ref -> rdi class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]>
@@ -64,21 +64,21 @@
;* V52 tmp31 [V52 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V53 tmp32 [V53 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo>
;* V54 tmp33 [V54 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V55 tmp34 [V55,T85] ( 4, 2.57) ref -> rax "guarded devirt return temp"
-;* V56 tmp35 [V56,T131] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.RuntimeType>
+; V55 tmp34 [V55,T86] ( 4, 2.57) ref -> rax "guarded devirt return temp"
+;* V56 tmp35 [V56,T132] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.RuntimeType>
;* V57 tmp36 [V57 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "Inline stloc first use temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
;* V58 tmp37 [V58 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inline return value spill temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
-;* V59 tmp38 [V59,T103] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd single-def "Inlining Arg" <System.String>
-;* V60 tmp39 [V60,T133] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
-;* V61 tmp40 [V61,T134] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
-;* V62 tmp41 [V62,T135] ( 0, 0 ) int -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V59 tmp38 [V59,T104] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd single-def "Inlining Arg" <System.String>
+;* V60 tmp39 [V60,T134] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V61 tmp40 [V61,T135] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V62 tmp41 [V62,T136] ( 0, 0 ) int -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
; V63 tmp42 [V63,T43] ( 5, 5.67) ref -> r14 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo[]>
; V64 tmp43 [V64 ] ( 8, 8.34) struct (24) [rbp-0x50] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
; V65 tmp44 [V65,T33] ( 5, 6.35) int -> r13 "Inline stloc first use temp"
; V66 tmp45 [V66,T49] ( 4, 5.35) ref -> r12 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
; V67 tmp46 [V67,T61] ( 5, 4.70) ref -> r14 class-hnd "Inline return value spill temp" <System.RuntimeType+RuntimeTypeCache>
; V68 tmp47 [V68,T53] ( 5, 5 ) ref -> r14 class-hnd single-def "Inline stloc first use temp" <System.Object>
-; V69 tmp48 [V69,T66] ( 2, 4 ) ref -> rdi class-hnd "spilling QMark2" <System.RuntimeType+RuntimeTypeCache>
+; V69 tmp48 [V69,T67] ( 2, 4 ) ref -> rdi class-hnd "spilling QMark2" <System.RuntimeType+RuntimeTypeCache>
;* V70 tmp49 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.RuntimeType+RuntimeTypeCache>
;* V71 tmp50 [V71 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V72 tmp51 [V72 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String>
@@ -89,83 +89,83 @@
; V77 tmp56 [V77,T40] ( 7, 5.79) ref -> rdi class-hnd "Inline stloc first use temp" <<unknown class>>
; V78 tmp57 [V78,T44] ( 4, 5.57) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
;* V79 tmp58 [V79 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-; V80 tmp59 [V80,T67] ( 2, 4.00) int -> rsi "Inlining Arg"
-; V81 tmp60 [V81,T101] ( 4, 2.00) ref -> registers class-hnd "Inline return value spill temp" <System.Reflection.ConstructorInfo[]>
-; V82 tmp61 [V82,T75] ( 3, 3.38) ref -> r14 class-hnd exact single-def "dup spill" <System.Reflection.ConstructorInfo[]>
+; V80 tmp59 [V80,T68] ( 2, 4.00) int -> rsi "Inlining Arg"
+; V81 tmp60 [V81,T102] ( 4, 2.00) ref -> registers class-hnd "Inline return value spill temp" <System.Reflection.ConstructorInfo[]>
+; V82 tmp61 [V82,T76] ( 3, 3.38) ref -> r14 class-hnd exact single-def "dup spill" <System.Reflection.ConstructorInfo[]>
;* V83 tmp62 [V83 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V84 tmp63 [V84 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Reflection.ConstructorInfo[]>
-; V85 tmp64 [V85,T166] ( 3, 0.19) ref -> r13 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ConstructorInfo[]>
-; V86 tmp65 [V86,T163] ( 2, 0.26) byref -> rdi single-def "impAppendStmt"
-; V87 tmp66 [V87,T164] ( 2, 0.26) byref -> rsi single-def "impAppendStmt"
-; V88 tmp67 [V88,T167] ( 2, 0.13) int -> r12 "Inline return value spill temp"
-; V89 tmp68 [V89,T160] ( 3, 0.39) int -> rdx "Inlining Arg"
-; V90 tmp69 [V90,T165] ( 2, 0.26) long -> rdx "Inlining Arg"
+; V85 tmp64 [V85,T167] ( 3, 0.19) ref -> r13 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ConstructorInfo[]>
+; V86 tmp65 [V86,T164] ( 2, 0.26) byref -> rdi single-def "impAppendStmt"
+; V87 tmp66 [V87,T165] ( 2, 0.26) byref -> rsi single-def "impAppendStmt"
+; V88 tmp67 [V88,T168] ( 2, 0.13) int -> r12 "Inline return value spill temp"
+; V89 tmp68 [V89,T161] ( 3, 0.39) int -> rdx "Inlining Arg"
+; V90 tmp69 [V90,T166] ( 2, 0.26) long -> rdx "Inlining Arg"
;* V91 tmp70 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
;* V92 tmp71 [V92 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V93 tmp72 [V93,T97] ( 2, 2.29) ref -> rax class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
-; V94 tmp73 [V94,T81] ( 6, 2.85) ref -> rax
+; V93 tmp72 [V93,T98] ( 2, 2.29) ref -> rax class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
+; V94 tmp73 [V94,T82] ( 6, 2.85) ref -> rax
;* V95 tmp74 [V95 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
;* V96 tmp75 [V96 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V97 tmp76 [V97,T153] ( 2, 0.57) ref -> r13 class-hnd exact single-def "dup spill" <System.Signature>
-; V98 tmp77 [V98,T156] ( 4, 0.44) ref -> r13
-; V99 tmp78 [V99,T158] ( 3, 0.43) ref -> r14 class-hnd single-def "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V97 tmp76 [V97,T154] ( 2, 0.57) ref -> r13 class-hnd exact single-def "dup spill" <System.Signature>
+; V98 tmp77 [V98,T157] ( 4, 0.44) ref -> r13
+; V99 tmp78 [V99,T159] ( 3, 0.43) ref -> r14 class-hnd single-def "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
;* V100 tmp79 [V100 ] ( 0, 0 ) int -> zero-ref
; V101 tmp80 [V101 ] ( 2, 0.29) ref -> [rbp-0x58] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Reflection.ParameterInfo>
;* V102 tmp81 [V102 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V103 tmp82 [V103,T126] ( 3, 1.14) ref -> r9 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
-; V104 tmp83 [V104,T137] ( 3, 0.98) ref -> [rbp-0x130] class-hnd exact spill-single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V105 tmp84 [V105,T119] ( 3, 1.31) byref -> rdi single-def "Inlining Arg"
+; V103 tmp82 [V103,T127] ( 3, 1.14) ref -> r9 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V104 tmp83 [V104,T138] ( 3, 0.98) ref -> [rbp-0x130] class-hnd exact spill-single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
+; V105 tmp84 [V105,T120] ( 3, 1.31) byref -> rdi single-def "Inlining Arg"
;* V106 tmp85 [V106 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V107 tmp86 [V107,T120] ( 2, 1.31) long -> rdx "Inlining Arg"
-; V108 tmp87 [V108,T104] ( 4, 1.96) long -> rdx "Inlining Arg"
+; V107 tmp86 [V107,T121] ( 2, 1.31) long -> rdx "Inlining Arg"
+; V108 tmp87 [V108,T105] ( 4, 1.96) long -> rdx "Inlining Arg"
;* V109 tmp88 [V109 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
;* V110 tmp89 [V110 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Type>
-; V111 tmp90 [V111,T128] ( 3, 1 ) ref -> rax class-hnd "spilling ret_expr" <System.Type>
-; V112 tmp91 [V112,T204] ( 2, 0 ) ref -> r15 class-hnd exact single-def "non-inline candidate call" <System.String>
-; V113 tmp92 [V113,T197] ( 3, 0 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-; V114 tmp93 [V114,T115] ( 4, 1.50) ref -> rsi "guarded devirt return temp"
+; V111 tmp90 [V111,T129] ( 3, 1 ) ref -> rax class-hnd "spilling ret_expr" <System.Type>
+; V112 tmp91 [V112,T206] ( 2, 0 ) ref -> r15 class-hnd exact single-def "non-inline candidate call" <System.String>
+; V113 tmp92 [V113,T199] ( 3, 0 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V114 tmp93 [V114,T116] ( 4, 1.50) ref -> rsi "guarded devirt return temp"
;* V115 tmp94 [V115 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V116 tmp95 [V116,T130] ( 3, 1 ) int -> rax "guarded devirt return temp"
+; V116 tmp95 [V116,T131] ( 3, 1 ) int -> rax "guarded devirt return temp"
;* V117 tmp96 [V117 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V118 tmp97 [V118 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.RuntimeType+RuntimeTypeCache>
-; V119 tmp98 [V119,T109] ( 2, 1.71) ref -> rsi class-hnd exact single-def "Inlining Arg" <<unknown class>>
+; V119 tmp98 [V119,T110] ( 2, 1.71) ref -> rsi class-hnd exact single-def "Inlining Arg" <<unknown class>>
;* V120 tmp99 [V120 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Reflection.ConstructorInfo]>
;* V121 tmp100 [V121 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" <System.Span`1[System.Reflection.ConstructorInfo]>
-; V122 tmp101 [V122,T112] ( 2, 1.71) int -> [rbp-0x5C] spill-single-def "Inlining Arg"
-; V123 tmp102 [V123,T110] ( 2, 1.71) byref -> [rbp-0x138] spill-single-def "Inlining Arg"
+; V122 tmp101 [V122,T113] ( 2, 1.71) int -> [rbp-0x5C] spill-single-def "Inlining Arg"
+; V123 tmp102 [V123,T111] ( 2, 1.71) byref -> [rbp-0x138] spill-single-def "Inlining Arg"
;* V124 tmp103 [V124 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
;* V125 tmp104 [V125 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
; V126 tmp105 [V126,T62] ( 2, 4.57) ref -> rsi class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
; V127 tmp106 [V127,T42] ( 6, 5.71) ref -> rsi
;* V128 tmp107 [V128 ] ( 0, 0 ) ref -> zero-ref class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
;* V129 tmp108 [V129 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V130 tmp109 [V130,T127] ( 2, 1.14) ref -> rsi class-hnd exact "dup spill" <System.Signature>
-; V131 tmp110 [V131,T141] ( 4, 0.88) ref -> [rbp-0x140]
-; V132 tmp111 [V132,T143] ( 3, 0.86) ref -> [rbp-0x148] class-hnd spill-single-def "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V130 tmp109 [V130,T128] ( 2, 1.14) ref -> rsi class-hnd exact "dup spill" <System.Signature>
+; V131 tmp110 [V131,T142] ( 4, 0.88) ref -> [rbp-0x140]
+; V132 tmp111 [V132,T144] ( 3, 0.86) ref -> [rbp-0x148] class-hnd spill-single-def "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
;* V133 tmp112 [V133 ] ( 0, 0 ) int -> zero-ref
; V134 tmp113 [V134 ] ( 2, 0.57) ref -> [rbp-0x68] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Reflection.ParameterInfo>
;* V135 tmp114 [V135 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V136 tmp115 [V136,T96] ( 3, 2.29) ref -> r9 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
-; V137 tmp116 [V137,T105] ( 3, 1.96) ref -> [rbp-0x150] class-hnd exact spill-single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V138 tmp117 [V138,T83] ( 3, 2.61) byref -> rdi "Inlining Arg"
+; V136 tmp115 [V136,T97] ( 3, 2.29) ref -> r9 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V137 tmp116 [V137,T106] ( 3, 1.96) ref -> [rbp-0x150] class-hnd exact spill-single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
+; V138 tmp117 [V138,T84] ( 3, 2.61) byref -> rdi "Inlining Arg"
;* V139 tmp118 [V139 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V140 tmp119 [V140,T84] ( 2, 2.61) long -> rdx "Inlining Arg"
-; V141 tmp120 [V141,T68] ( 4, 3.92) long -> rdx "Inlining Arg"
-; V142 tmp121 [V142,T82] ( 4, 2.71) ref -> rdx class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V140 tmp119 [V140,T85] ( 2, 2.61) long -> rdx "Inlining Arg"
+; V141 tmp120 [V141,T69] ( 4, 3.92) long -> rdx "Inlining Arg"
+; V142 tmp121 [V142,T83] ( 4, 2.71) ref -> rax class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V143 tmp122 [V143,T30] ( 6, 6.64) ref -> [rbp-0x158] class-hnd exact spill-single-def "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V144 tmp123 [V144,T04] ( 22, 20.61) int -> [rbp-0x6C] "Inline stloc first use temp"
; V145 tmp124 [V145,T08] ( 18, 16.05) ref -> [rbp-0x160] class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
; V146 tmp125 [V146,T52] ( 14, 5.02) ref -> [rbp-0x168] class-hnd "Inline stloc first use temp" <System.Type>
; V147 tmp126 [V147,T46] ( 8, 5.47) ref -> [rbp-0x170] class-hnd "Inline stloc first use temp" <System.Object[]>
-; V148 tmp127 [V148,T73] ( 10, 3.48) int -> [rbp-0x70] "Inline stloc first use temp"
-; V149 tmp128 [V149,T154] ( 6, 0.50) ref -> [rbp-0x178] class-hnd "Inline stloc first use temp" <System.Object>
+; V148 tmp127 [V148,T74] ( 10, 3.48) int -> [rbp-0x70] "Inline stloc first use temp"
+; V149 tmp128 [V149,T155] ( 6, 0.50) ref -> [rbp-0x178] class-hnd "Inline stloc first use temp" <System.Object>
;* V150 tmp129 [V150 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V151 tmp130 [V151,T155] ( 6, 0.50) ref -> rax class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
+; V151 tmp130 [V151,T156] ( 6, 0.50) ref -> rax class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
;* V152 tmp131 [V152 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V153 tmp132 [V153,T185] ( 6, 0 ) ref -> [rbp-0x180] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
-; V154 tmp133 [V154,T198] ( 3, 0 ) ref -> rbx class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V153 tmp132 [V153,T187] ( 6, 0 ) ref -> [rbp-0x180] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V154 tmp133 [V154,T200] ( 3, 0 ) ref -> rbx class-hnd exact "NewObj constructor temp" <<unknown class>>
; V155 tmp134 [V155 ] ( 6, 2.43) ref -> [rbp-0x78] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Object>
-; V156 tmp135 [V156,T162] ( 6, 0.30) ref -> [rbp-0x188] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V156 tmp135 [V156,T163] ( 6, 0.30) ref -> [rbp-0x188] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
;* V157 tmp136 [V157 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V158 tmp137 [V158,T57] ( 4, 4.97) ref -> registers "guarded devirt return temp"
; V159 tmp138 [V159,T05] ( 22, 19.88) ref -> [rbp-0x190] "guarded devirt arg temp"
@@ -173,7 +173,7 @@
; V161 tmp140 [V161,T54] ( 8, 4.97) ref -> registers "guarded devirt return temp"
; V162 tmp141 [V162,T00] ( 20,109.32) ref -> [rbp-0x198] "guarded devirt arg temp"
;* V163 tmp142 [V163 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V164 tmp143 [V164,T174] ( 8, 0.00) ref -> [rbp-0x1A0] class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V164 tmp143 [V164,T176] ( 8, 0.00) ref -> [rbp-0x1A0] class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V165 tmp144 [V165 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V166 tmp145 [V166 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V167 tmp146 [V167 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
@@ -193,10 +193,10 @@
;* V181 tmp160 [V181 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimePropertyInfo>
; V182 tmp161 [V182,T28] ( 12, 6.83) ref -> rcx class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
;* V183 tmp162 [V183 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V184 tmp163 [V184,T186] ( 6, 0 ) ref -> rdi class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V184 tmp163 [V184,T188] ( 6, 0 ) ref -> rdi class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V185 tmp164 [V185 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V186 tmp165 [V186 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V187 tmp166 [V187,T187] ( 6, 0 ) ref -> rdi class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V187 tmp166 [V187,T189] ( 6, 0 ) ref -> rdi class-hnd exact "Inlining Arg" <System.RuntimeType>
; V188 tmp167 [V188,T23] ( 6, 8.77) int -> registers "Inlining Arg"
...
+0 (0.00%) : 292921.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -817,7 +817,7 @@ G_M27650_IG50: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
je SHORT G_M27650_IG51
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rsi] +[rax]
;; size=78 bbWeight=0 PerfScore 0.00
G_M27650_IG51: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+0 (0.00%) : 471269.dasm - System.Xml.Serialization.SoapReflectionImporter:InitializeStructMembers(System.Xml.Serialization.StructMapping,System.Xml.Serialization.StructModel,System.Xml.Serialization.RecursionLimiter):ubyte:this (Tier1)
@@ -1280,7 +1280,7 @@ G_M25805_IG96: ; bbWeight=1.61, gcrefRegs=A049 {rax rbx rsi r13 r15}, byr
G_M25805_IG97: ; bbWeight=0.81, gcrefRegs=A048 {rbx rsi r13 r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
mov rdi, 0xD1FFAB1E ; System.Xml.Serialization.SoapIncludeAttribute
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rsi] +[rax]
; gcr arg pop 0
;; size=15 bbWeight=0.81 PerfScore 1.01
+0 (0.00%) : 581712.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -950,7 +950,7 @@ G_M27650_IG53: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
je SHORT G_M27650_IG54
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rsi] +[rax]
;; size=78 bbWeight=0 PerfScore 0.00
G_M27650_IG54: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+0 (0.00%) : 680408.dasm - System.Linq.Expressions.Compiler.CompilerScope:.ctor(System.Object,ubyte):this (Tier1)
@@ -376,7 +376,7 @@ G_M13856_IG25: ; bbWeight=3.37, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0
mov rsi, r15
; gcrRegs +[rsi]
mov rdi, 0xD1FFAB1E ; System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rsi r15] +[rax]
; gcr arg pop 0
;; size=18 bbWeight=3.37 PerfScore 5.05
+10 (+0.20%) : 137072.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
@@ -9,123 +9,123 @@
; 19 inlinees with PGO data; 57 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T17] ( 8, 6.35) ref -> r15 this class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory>
+; V00 this [V00,T18] ( 8, 6.35) ref -> r15 this class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory>
;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V02 arg2 [V02,T44] ( 3, 2 ) ref -> r13 class-hnd single-def <System.Type>
-; V03 arg3 [V03,T27] ( 6, 4.17) ref -> r14 class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
+; V02 arg2 [V02,T45] ( 3, 2 ) ref -> r13 class-hnd single-def <System.Type>
+; V03 arg3 [V03,T28] ( 6, 4.17) ref -> r14 class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
; V04 arg4 [V04,T04] ( 19, 12.30) ref -> rbx class-hnd single-def <System.Reflection.ParameterInfo[]>
-; V05 arg5 [V05,T67] ( 1, 0.04) ubyte -> [rbp+0x10] single-def
-; V06 loc0 [V06,T29] ( 6, 5.81) ref -> [rbp-0xD8] class-hnd exact spill-single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
-; V07 loc1 [V07,T01] ( 22, 18.03) int -> [rbp-0x2C]
+; V05 arg5 [V05,T68] ( 1, 0.04) ubyte -> [rbp+0x10] single-def
+; V06 loc0 [V06,T30] ( 6, 5.81) ref -> [rbp-0xD8] class-hnd exact spill-single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V07 loc1 [V07,T02] ( 22, 18.03) int -> [rbp-0x2C]
; V08 loc2 [V08,T05] ( 18, 14.04) ref -> [rbp-0xE0] class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-; V09 loc3 [V09,T34] ( 15, 4.39) ref -> [rbp-0xE8] class-hnd <System.Type>
+; V09 loc3 [V09,T35] ( 15, 4.39) ref -> [rbp-0xE8] class-hnd <System.Type>
; V10 loc4 [V10 ] ( 4, 0.13) ref -> [rbp-0x38] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-; V11 loc5 [V11,T32] ( 8, 4.78) ref -> [rbp-0xF0] class-hnd <System.Object[]>
-; V12 loc6 [V12,T47] ( 10, 3.04) int -> [rbp-0x3C]
-; V13 loc7 [V13,T62] ( 8, 0.47) ref -> [rbp-0xF8] class-hnd <System.Object>
-; V14 loc8 [V14,T63] ( 6, 0.43) ref -> registers class-hnd <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
+; V11 loc5 [V11,T33] ( 8, 4.78) ref -> [rbp-0xF0] class-hnd <System.Object[]>
+; V12 loc6 [V12,T49] ( 10, 3.04) int -> [rbp-0x3C]
+; V13 loc7 [V13,T63] ( 8, 0.47) ref -> [rbp-0xF8] class-hnd <System.Object>
+; V14 loc8 [V14,T64] ( 6, 0.43) ref -> registers class-hnd <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
;* V15 loc9 [V15 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V16 OutArgs [V16 ] ( 1, 1 ) struct (48) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V17 tmp1 [V17,T75] ( 6, 0 ) ref -> [rbp-0x100] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
-; V18 tmp2 [V18,T84] ( 3, 0 ) ref -> r13 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V19 tmp3 [V19,T85] ( 3, 0 ) ref -> r12 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V20 tmp4 [V20,T64] ( 6, 0.26) ref -> [rbp-0x108] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V17 tmp1 [V17,T77] ( 6, 0 ) ref -> [rbp-0x100] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V18 tmp2 [V18,T86] ( 3, 0 ) ref -> r13 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V19 tmp3 [V19,T87] ( 3, 0 ) ref -> r12 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V20 tmp4 [V20,T65] ( 6, 0.26) ref -> [rbp-0x108] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
;* V21 tmp5 [V21 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V22 tmp6 [V22,T38] ( 4, 4.35) ref -> registers "guarded devirt return temp"
-; V23 tmp7 [V23,T02] ( 22, 17.40) ref -> [rbp-0x110] "guarded devirt arg temp"
+; V22 tmp6 [V22,T39] ( 4, 4.35) ref -> registers "guarded devirt return temp"
+; V23 tmp7 [V23,T03] ( 22, 17.40) ref -> [rbp-0x110] "guarded devirt arg temp"
;* V24 tmp8 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V25 tmp9 [V25,T35] ( 8, 4.35) ref -> registers "guarded devirt return temp"
+; V25 tmp9 [V25,T36] ( 8, 4.35) ref -> registers "guarded devirt return temp"
; V26 tmp10 [V26,T00] ( 19, 26.13) ref -> [rbp-0x118] "guarded devirt arg temp"
;* V27 tmp11 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V28 tmp12 [V28,T71] ( 8, 0.00) ref -> [rbp-0x120] class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V28 tmp12 [V28,T73] ( 8, 0.00) ref -> [rbp-0x120] class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V29 tmp13 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V30 tmp14 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V31 tmp15 [V31 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V32 tmp16 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Object[]>
; V33 tmp17 [V33 ] ( 18, 15.37) struct (24) [rbp-0x58] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Attribute]>
-; V34 tmp18 [V34,T08] ( 10, 8.70) ref -> registers class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
-; V35 tmp19 [V35,T14] ( 4, 8.70) int -> rdx "impAppendStmt"
+; V34 tmp18 [V34,T09] ( 10, 8.70) ref -> registers class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
+; V35 tmp19 [V35,T15] ( 4, 8.70) int -> rdx "impAppendStmt"
;* V36 tmp20 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Object[]>
;* V37 tmp21 [V37 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V38 tmp22 [V38,T10] ( 4, 8.70) ref -> rdx "CASTCLASS eval op1"
+; V38 tmp22 [V38,T11] ( 4, 8.70) ref -> rdx "CASTCLASS eval op1"
;* V39 tmp23 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
-; V40 tmp24 [V40,T19] ( 12, 8.15) ref -> rdx class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
-; V41 tmp25 [V41,T11] ( 4, 8.70) ref -> rsi "CASTCLASS eval op1"
+; V40 tmp24 [V40,T20] ( 12, 8.15) ref -> rdx class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
+; V41 tmp25 [V41,T12] ( 4, 8.70) ref -> rsi "CASTCLASS eval op1"
;* V42 tmp26 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimeConstructorInfo>
-; V43 tmp27 [V43,T06] ( 12, 10.33) ref -> rsi class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
-; V44 tmp28 [V44,T12] ( 4, 8.70) ref -> rcx "CASTCLASS eval op1"
+; V43 tmp27 [V43,T07] ( 12, 10.33) ref -> rsi class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
+; V44 tmp28 [V44,T13] ( 4, 8.70) ref -> rcx "CASTCLASS eval op1"
;* V45 tmp29 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimePropertyInfo>
-; V46 tmp30 [V46,T28] ( 12, 5.98) ref -> rcx class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
+; V46 tmp30 [V46,T29] ( 12, 5.98) ref -> rcx class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
;* V47 tmp31 [V47 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V48 tmp32 [V48,T76] ( 6, 0 ) ref -> rdi class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V48 tmp32 [V48,T78] ( 6, 0 ) ref -> rdi class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V49 tmp33 [V49 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V50 tmp34 [V50 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V51 tmp35 [V51,T77] ( 6, 0 ) ref -> rdi class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V51 tmp35 [V51,T79] ( 6, 0 ) ref -> rdi class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V52 tmp36 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Object[]>
; V53 tmp37 [V53 ] ( 20, 15.31) struct (24) [rbp-0x70] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
-; V54 tmp38 [V54,T40] ( 4, 4.35) struct (24) [rbp-0x88] do-not-enreg[S] must-init ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
+; V54 tmp38 [V54,T41] ( 4, 4.35) struct (24) [rbp-0x88] do-not-enreg[S] must-init ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
;* V55 tmp39 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.RuntimeType>
;* V56 tmp40 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.RuntimeType>
-; V57 tmp41 [V57,T15] ( 4, 8.70) int -> [rbp-0x8C] "Inlining Arg"
-; V58 tmp42 [V58,T18] ( 12, 8.31) ref -> [rbp-0x128] class-hnd "Inline stloc first use temp" <System.Object[]>
-; V59 tmp43 [V59,T22] ( 16, 6.98) int -> [rbp-0x90] "Inline stloc first use temp"
-; V60 tmp44 [V60,T43] ( 6, 4.28) ref -> rdx class-hnd "Inline return value spill temp" <System.Object>
-; V61 tmp45 [V61,T20] ( 6, 7.67) int -> registers "Inlining Arg"
+; V57 tmp41 [V57,T16] ( 4, 8.70) int -> [rbp-0x8C] "Inlining Arg"
+; V58 tmp42 [V58,T19] ( 12, 8.31) ref -> [rbp-0x128] class-hnd "Inline stloc first use temp" <System.Object[]>
+; V59 tmp43 [V59,T23] ( 16, 6.98) int -> [rbp-0x90] "Inline stloc first use temp"
+; V60 tmp44 [V60,T44] ( 6, 4.28) ref -> rdx class-hnd "Inline return value spill temp" <System.Object>
+; V61 tmp45 [V61,T21] ( 6, 7.67) int -> registers "Inlining Arg"
;* V62 tmp46 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V63 tmp47 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V64 tmp48 [V64,T31] ( 6, 5.24) ref -> registers class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
+; V64 tmp48 [V64,T32] ( 6, 5.24) ref -> rcx class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
;* V65 tmp49 [V65 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V66 tmp50 [V66,T13] ( 4, 8.70) ref -> r11 class-hnd "impAppendStmt" <<unknown class>>
-; V67 tmp51 [V67,T45] ( 6, 1.44) ref -> rax ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-;* V68 tmp52 [V68,T50] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V69 tmp53 [V69,T82] ( 4, 0 ) struct (24) [rbp-0xA8] do-not-enreg[SF] must-init ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V70 tmp54 [V70,T07] ( 12, 8.70) ref -> [rbp-0x130] class-hnd "Inline stloc first use temp" <<unknown class>>
-; V71 tmp55 [V71,T36] ( 8, 4.35) ref -> [rbp-0x138] class-hnd "Inline stloc first use temp" <System.Collections.Generic.IEqualityComparer`1[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey]>
-; V72 tmp56 [V72,T78] ( 6, 0 ) int -> [rbp-0xAC] "Inline stloc first use temp"
-; V73 tmp57 [V73,T73] ( 16, 0 ) ref -> [rbp-0x140] class-hnd "Inline stloc first use temp" <<unknown class>>
-; V74 tmp58 [V74,T30] ( 6, 5.47) int -> [rbp-0xB0] "Inline stloc first use temp"
-; V75 tmp59 [V75,T03] ( 16, 14.81) ref -> [rbp-0x148] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V66 tmp50 [V66,T14] ( 4, 8.70) ref -> r11 class-hnd "impAppendStmt" <<unknown class>>
+; V67 tmp51 [V67,T06] ( 6, 9.60) ref -> rcx ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
+;* V68 tmp52 [V68,T48] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V69 tmp53 [V69,T84] ( 4, 0 ) struct (24) [rbp-0xA8] do-not-enreg[SF] must-init ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V70 tmp54 [V70,T08] ( 12, 8.70) ref -> [rbp-0x130] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V71 tmp55 [V71,T37] ( 8, 4.35) ref -> [rbp-0x138] class-hnd "Inline stloc first use temp" <System.Collections.Generic.IEqualityComparer`1[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey]>
+; V72 tmp56 [V72,T80] ( 6, 0 ) int -> [rbp-0xAC] "Inline stloc first use temp"
+; V73 tmp57 [V73,T75] ( 16, 0 ) ref -> [rbp-0x140] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V74 tmp58 [V74,T31] ( 6, 5.47) int -> [rbp-0xB0] "Inline stloc first use temp"
+; V75 tmp59 [V75,T01] ( 16, 22.97) ref -> [rbp-0x148] class-hnd "Inline stloc first use temp" <<unknown class>>
;* V76 tmp60 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V77 tmp61 [V77 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V78 tmp62 [V78,T41] ( 4, 4.35) int -> rax "Inline return value spill temp"
+; V78 tmp62 [V78,T42] ( 4, 4.35) int -> rax "Inline return value spill temp"
;* V79 tmp63 [V79 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V80 tmp64 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling ret_expr" <System.Type>
-; V81 tmp65 [V81,T37] ( 6, 4.35) int -> rax "guarded devirt return temp"
+; V81 tmp65 [V81,T38] ( 6, 4.35) int -> rax "guarded devirt return temp"
;* V82 tmp66 [V82 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V83 tmp67 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <<unknown class>>
-; V84 tmp68 [V84,T24] ( 7, 6.54) ref -> r8 class-hnd "Inline stloc first use temp" <<unknown class>>
+; V84 tmp68 [V84,T25] ( 7, 6.54) ref -> r10 class-hnd "Inline stloc first use temp" <<unknown class>>
;* V85 tmp69 [V85 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V86 tmp70 [V86 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V87 tmp71 [V87,T25] ( 6, 6.52) int -> r9 "Inline stloc first use temp"
+; V87 tmp71 [V87,T26] ( 6, 6.52) int -> r11 "Inline stloc first use temp"
;* V88 tmp72 [V88 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V89 tmp73 [V89 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V90 tmp74 [V90 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-;* V91 tmp75 [V91,T61] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V91 tmp75 [V91,T62] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V92 tmp76 [V92 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V93 tmp77 [V93 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V94 tmp78 [V94 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V95 tmp79 [V95 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V96 tmp80 [V96,T58] ( 4, 1.10) ubyte -> registers "Inline return value spill temp"
+; V96 tmp80 [V96,T59] ( 4, 1.10) ubyte -> registers "Inline return value spill temp"
;* V97 tmp81 [V97 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V98 tmp82 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Type>
;* V99 tmp83 [V99 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Object>
;* V100 tmp84 [V100 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Type>
-; V101 tmp85 [V101,T57] ( 8, 1.10) ubyte -> registers "Inline return value spill temp"
+; V101 tmp85 [V101,T58] ( 8, 1.10) ubyte -> registers "Inline return value spill temp"
;* V102 tmp86 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
-; V103 tmp87 [V103,T49] ( 4, 1.99) ref -> registers class-hnd "spilling QMark2" <System.RuntimeType>
-; V104 tmp88 [V104,T83] ( 4, 0 ) int -> registers "Inline return value spill temp"
+; V103 tmp87 [V103,T51] ( 4, 1.99) ref -> registers class-hnd "spilling QMark2" <System.RuntimeType>
+; V104 tmp88 [V104,T85] ( 4, 0 ) int -> registers "Inline return value spill temp"
; V105 tmp89 [V105 ] ( 8, 0 ) struct (24) [rbp-0xC8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V106 tmp90 [V106 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <<unknown class>>
-; V107 tmp91 [V107,T74] ( 8, 0 ) ref -> r9 class-hnd "Inline stloc first use temp" <<unknown class>>
+; V107 tmp91 [V107,T76] ( 8, 0 ) ref -> r9 class-hnd "Inline stloc first use temp" <<unknown class>>
;* V108 tmp92 [V108 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V109 tmp93 [V109 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V110 tmp94 [V110,T79] ( 6, 0 ) int -> r10 "Inline stloc first use temp"
-; V111 tmp95 [V111,T46] ( 7, 1.22) ref -> r12 single-def "field V01.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V112 tmp96 [V112,T48] ( 1, 1 ) ref -> rdx single-def "field V01.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-; V113 tmp97 [V113,T80] ( 4, 0 ) ref -> rsi "field V15.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V114 tmp98 [V114,T81] ( 4, 0 ) ref -> rdx "field V15.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V115 tmp99 [V115,T51] ( 0, 0 ) ref -> zero-ref "field V21.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V116 tmp100 [V116,T21] ( 15, 7.57) ref -> [rbp-0x150] "field V21.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V110 tmp94 [V110,T81] ( 6, 0 ) int -> r10 "Inline stloc first use temp"
+; V111 tmp95 [V111,T47] ( 7, 1.22) ref -> r12 single-def "field V01.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V112 tmp96 [V112,T50] ( 1, 1 ) ref -> rdx single-def "field V01.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V113 tmp97 [V113,T82] ( 4, 0 ) ref -> rsi "field V15.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V114 tmp98 [V114,T83] ( 4, 0 ) ref -> rdx "field V15.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V115 tmp99 [V115,T52] ( 0, 0 ) ref -> zero-ref "field V21.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V116 tmp100 [V116,T22] ( 15, 7.57) ref -> [rbp-0x150] "field V21.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
; V117 tmp101 [V117 ] ( 6, 5.01) ref -> [rbp-0x58] do-not-enreg[X] addr-exposed "field V33._items (fldOffset=0x0)" P-DEP
; V118 tmp102 [V118 ] ( 6, 5.35) ref -> [rbp-0x50] do-not-enreg[X] addr-exposed "field V33._item (fldOffset=0x8)" P-DEP
; V119 tmp103 [V119 ] ( 14, 13.71) int -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V33._count (fldOffset=0x10)" P-DEP
@@ -134,8 +134,8 @@
; V122 tmp106 [V122 ] ( 6, 6.42) ref -> [rbp-0x68] do-not-enreg[X] addr-exposed "field V53._item (fldOffset=0x8)" P-DEP
; V123 tmp107 [V123 ] ( 12, 8.96) int -> [rbp-0x60] do-not-enreg[X] addr-exposed "field V53._count (fldOffset=0x10)" P-DEP
; V124 tmp108 [V124 ] ( 4, 4.35) int -> [rbp-0x5C] do-not-enreg[X] addr-exposed "field V53._capacity (fldOffset=0x14)" P-DEP
-;* V125 tmp109 [V125,T52] ( 0, 0 ) ref -> zero-ref "field V63.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V126 tmp110 [V126,T39] ( 4, 4.35) ref -> registers "field V63.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V125 tmp109 [V125,T53] ( 0, 0 ) ref -> zero-ref "field V63.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V126 tmp110 [V126,T40] ( 4, 4.35) ref -> registers "field V63.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
;* V127 tmp111 [V127 ] ( 0, 0 ) ref -> zero-ref "field V76.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
;* V128 tmp112 [V128 ] ( 0, 0 ) ref -> zero-ref "field V76.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
;* V129 tmp113 [V129 ] ( 0, 0 ) ref -> zero-ref "field V92.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
@@ -147,31 +147,33 @@
;* V135 tmp119 [V135 ] ( 0, 0 ) int -> zero-ref "V65.[000..004)"
;* V136 tmp120 [V136 ] ( 0, 0 ) ref -> zero-ref "V65.[008..016)"
;* V137 tmp121 [V137 ] ( 0, 0 ) ref -> zero-ref "V65.[016..024)"
-;* V138 tmp122 [V138,T54] ( 0, 0 ) int -> zero-ref "V69.[000..004)"
-;* V139 tmp123 [V139,T53] ( 0, 0 ) ref -> zero-ref "V69.[008..016)"
-; V140 tmp124 [V140,T23] ( 13, 6.54) ref -> rdi "V69.[016..024)"
-; V141 tmp125 [V141,T60] ( 4, 1.10) int -> [rbp-0xCC] "V89.[000..004)"
-; V142 tmp126 [V142,T59] ( 4, 1.10) ref -> rsi "V89.[008..016)"
-; V143 tmp127 [V143,T55] ( 12, 2.10) ref -> [rbp-0x158] "V89.[016..024)"
+;* V138 tmp122 [V138,T55] ( 0, 0 ) int -> zero-ref "V69.[000..004)"
+;* V139 tmp123 [V139,T54] ( 0, 0 ) ref -> zero-ref "V69.[008..016)"
+; V140 tmp124 [V140,T24] ( 13, 6.54) ref -> rdi "V69.[016..024)"
+; V141 tmp125 [V141,T61] ( 4, 1.10) int -> [rbp-0xCC] "V89.[000..004)"
+; V142 tmp126 [V142,T60] ( 4, 1.10) ref -> rsi "V89.[008..016)"
+; V143 tmp127 [V143,T56] ( 12, 2.10) ref -> rdi "V89.[016..024)"
;* V144 tmp128 [V144 ] ( 0, 0 ) int -> zero-ref "V93.[000..004)"
;* V145 tmp129 [V145 ] ( 0, 0 ) ref -> zero-ref "V93.[008..016)"
;* V146 tmp130 [V146 ] ( 0, 0 ) ref -> zero-ref "V93.[016..024)"
-; V147 tmp131 [V147,T33] ( 8, 4.40) byref -> r11 "Spilling address for field-by-field copy"
-; V148 tmp132 [V148,T69] ( 6, 0.00) ref -> rdx "arr expr"
-; V149 tmp133 [V149,T70] ( 6, 0.00) int -> rcx "index expr"
-; V150 tmp134 [V150,T87] ( 2, 0 ) ref -> rsi "argument with side effect"
-; V151 tmp135 [V151,T88] ( 2, 0 ) ref -> rdi "argument with side effect"
-; V152 tmp136 [V152,T89] ( 2, 0 ) ref -> rsi "argument with side effect"
-; V153 cse0 [V153,T42] ( 2, 4.30) int -> rcx "CSE - moderate"
-; V154 cse1 [V154,T66] ( 2, 0.04) int -> rcx "CSE - conservative"
-; V155 cse2 [V155,T16] ( 4, 8.61) ref -> rcx "CSE - moderate"
-; V156 cse3 [V156,T65] ( 4, 0.09) ref -> rcx "CSE - conservative"
-; V157 cse4 [V157,T72] ( 3, 0.00) int -> rcx "CSE - conservative"
-; V158 cse5 [V158,T86] ( 3, 0.00) int -> rcx "CSE - conservative"
-; V159 cse6 [V159,T09] ( 8, 8.70) ref -> [rbp-0x160] multi-def "CSE - moderate"
-; V160 cse7 [V160,T26] ( 3, 6.46) int -> rsi "CSE - moderate"
-; V161 rat0 [V161,T56] ( 6, 1.72) ref -> r9 class-hnd "replacement local" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
-; V162 rat1 [V162,T68] ( 6, 0.02) ref -> registers class-hnd "replacement local" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
+; V147 tmp131 [V147,T34] ( 8, 4.40) byref -> rdi "Spilling address for field-by-field copy"
+; V148 tmp132 [V148,T71] ( 6, 0.00) ref -> rdx "arr expr"
+; V149 tmp133 [V149,T72] ( 6, 0.00) int -> rcx "index expr"
+; V150 tmp134 [V150,T89] ( 2, 0 ) ref -> rsi "argument with side effect"
+; V151 tmp135 [V151,T90] ( 2, 0 ) ref -> rdi "argument with side effect"
+; V152 tmp136 [V152,T91] ( 2, 0 ) ref -> rsi "argument with side effect"
+; V153 cse0 [V153,T43] ( 2, 4.30) int -> r8 "CSE - moderate"
+; V154 cse1 [V154,T67] ( 2, 0.04) int -> r8 "CSE - conservative"
+; V155 cse2 [V155,T17] ( 4, 8.61) ref -> rcx "CSE - moderate"
+; V156 cse3 [V156,T66] ( 4, 0.09) ref -> rcx "CSE - conservative"
+; V157 cse4 [V157,T74] ( 3, 0.00) int -> rcx "CSE - conservative"
+; V158 cse5 [V158,T88] ( 3, 0.00) int -> rcx "CSE - conservative"
+; V159 cse6 [V159,T10] ( 8, 8.70) ref -> [rbp-0x158] multi-def "CSE - moderate"
+; V160 cse7 [V160,T27] ( 3, 6.46) int -> rsi "CSE - moderate"
+; V161 rat0 [V161,T57] ( 6, 1.72) ref -> r9 class-hnd "replacement local" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
+; V162 rat1 [V162,T46] ( 5, 3.70) ref -> r9 class-hnd "replacement local" <System.RuntimeType>
+; V163 rat2 [V163,T70] ( 6, 0.02) ref -> registers class-hnd "replacement local" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
...
Details
Improvements/regressions per collection
| Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
| benchmarks.run.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| benchmarks.run_pgo.linux.x64.checked.mch |
1 |
0 |
0 |
1 |
-0 |
+0 |
| benchmarks.run_tiered.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| coreclr_tests.run.linux.x64.checked.mch |
9 |
0 |
6 |
3 |
-0 |
+12 |
| libraries.crossgen2.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries.pmi.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries_tests.run.linux.x64.Release.mch |
18 |
1 |
1 |
16 |
-30 |
+10 |
| librariestestsnotieredcompilation.run.linux.x64.Release.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| realworld.run.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| smoke_tests.nativeaot.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
|
28 |
1 |
7 |
20 |
-30 |
+22 |
Context information
| Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
| benchmarks.run.linux.x64.checked.mch |
34,975 |
3,135 |
31,840 |
0 (0.00%) |
0 (0.00%) |
| benchmarks.run_pgo.linux.x64.checked.mch |
156,554 |
60,225 |
96,329 |
0 (0.00%) |
13 (0.01%) |
| benchmarks.run_tiered.linux.x64.checked.mch |
56,298 |
42,308 |
13,990 |
0 (0.00%) |
0 (0.00%) |
| coreclr_tests.run.linux.x64.checked.mch |
598,040 |
355,280 |
242,760 |
0 (0.00%) |
10 (0.00%) |
| libraries.crossgen2.linux.x64.checked.mch |
1,930 |
0 |
1,930 |
0 (0.00%) |
0 (0.00%) |
| libraries.pmi.linux.x64.checked.mch |
296,878 |
6 |
296,872 |
0 (0.00%) |
0 (0.00%) |
| libraries_tests.run.linux.x64.Release.mch |
766,353 |
498,383 |
267,970 |
0 (0.00%) |
111 (0.01%) |
| librariestestsnotieredcompilation.run.linux.x64.Release.mch |
305,396 |
21,912 |
283,484 |
0 (0.00%) |
0 (0.00%) |
| realworld.run.linux.x64.checked.mch |
33,215 |
49 |
33,166 |
0 (0.00%) |
0 (0.00%) |
| smoke_tests.nativeaot.linux.x64.checked.mch |
64 |
0 |
64 |
0 (0.00%) |
0 (0.00%) |
|
2,249,703 |
981,298 |
1,268,405 |
0 (0.00%) |
134 (0.01%) |
jit-analyze output
benchmarks.run_pgo.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 69157713 (overridden on cmd)
Total bytes of diff: 69157713 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 1 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
coreclr_tests.run.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 403315818 (overridden on cmd)
Total bytes of diff: 403315830 (overridden on cmd)
Total bytes of delta: 12 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
7 : 180758.dasm (0.37 % of base)
1 : 407519.dasm (0.04 % of base)
1 : 395040.dasm (0.04 % of base)
1 : 381331.dasm (0.04 % of base)
1 : 370810.dasm (0.04 % of base)
1 : 405925.dasm (0.04 % of base)
6 total files with Code Size differences (0 improved, 6 regressed), 3 unchanged.
Top method regressions (bytes):
7 (0.37 % of base) : 180758.dasm - Program:TestEntryPoint() (FullOpts)
1 (0.04 % of base) : 407519.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.04 % of base) : 395040.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.04 % of base) : 381331.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.04 % of base) : 370810.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.04 % of base) : 405925.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
Top method regressions (percentages):
7 (0.37 % of base) : 180758.dasm - Program:TestEntryPoint() (FullOpts)
1 (0.04 % of base) : 395040.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.04 % of base) : 381331.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.04 % of base) : 370810.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.04 % of base) : 405925.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.04 % of base) : 407519.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
6 total methods with Code Size differences (0 improved, 6 regressed).
libraries_tests.run.linux.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 348296356 (overridden on cmd)
Total bytes of diff: 348296336 (overridden on cmd)
Total bytes of delta: -20 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
10 : 137072.dasm (0.20 % of base)
Top file improvements (bytes):
-30 : 137070.dasm (-0.36 % of base)
2 total files with Code Size differences (1 improved, 1 regressed), 16 unchanged.
Top method regressions (bytes):
10 (0.20 % of base) : 137072.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
Top method improvements (bytes):
-30 (-0.36 % of base) : 137070.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
Top method regressions (percentages):
10 (0.20 % of base) : 137072.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
Top method improvements (percentages):
-30 (-0.36 % of base) : 137070.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
2 total methods with Code Size differences (1 improved, 1 regressed).
osx arm64
Diffs are based on 2,029,395 contexts (927,368 MinOpts, 1,102,027 FullOpts).
MISSED contexts: base: 0 (0.00%), diff: 100 (0.00%)
Overall (+4 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| coreclr_tests.run.osx.arm64.checked.mch |
483,589,356 |
+16 |
| libraries_tests.run.osx.arm64.Release.mch |
313,700,352 |
-12 |
FullOpts (+4 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| coreclr_tests.run.osx.arm64.checked.mch |
153,416,588 |
+16 |
| libraries_tests.run.osx.arm64.Release.mch |
111,962,764 |
-12 |
Example diffs
coreclr_tests.run.osx.arm64.checked.mch
+16 (+0.58%) : 195321.dasm - Program:TestEntryPoint() (FullOpts)
@@ -9,198 +9,199 @@
; Final local variable assignments
;
;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V01 tmp1 [V01,T02] ( 3, 1.50) int -> x0 "Inline return value spill temp"
+; V01 tmp1 [V01,T03] ( 3, 1.50) int -> x0 "Inline return value spill temp"
;* V02 tmp2 [V02 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V03 tmp3 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "spilling QMark2" <System.RuntimeType>
-; V04 tmp4 [V04,T65] ( 17, 0 ) int -> x0 "Inline return value spill temp"
-; V05 tmp5 [V05,T64] ( 18, 0 ) ref -> x19 class-hnd "Inline stloc first use temp" <System.RuntimeType>
-; V06 tmp6 [V06,T72] ( 3, 0 ) ref -> x1 single-def "CASTCLASS eval op1"
-; V07 tmp7 [V07,T73] ( 3, 0 ) long -> x2 "fgMakeTemp is creating a new local variable"
-; V08 tmp8 [V08,T71] ( 4, 0 ) ref -> x19 class-hnd single-def "spilling QMark2" <System.RuntimeType>
-;* V09 tmp9 [V09,T18] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V10 tmp10 [V10,T19] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+; V04 tmp4 [V04,T66] ( 17, 0 ) int -> x0 "Inline return value spill temp"
+; V05 tmp5 [V05,T65] ( 18, 0 ) ref -> x19 class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V06 tmp6 [V06,T73] ( 3, 0 ) ref -> x1 single-def "CASTCLASS eval op1"
+; V07 tmp7 [V07,T74] ( 3, 0 ) long -> x2 "fgMakeTemp is creating a new local variable"
+; V08 tmp8 [V08,T72] ( 4, 0 ) ref -> x19 class-hnd single-def "spilling QMark2" <System.RuntimeType>
+;* V09 tmp9 [V09,T19] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V10 tmp10 [V10,T20] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V11 tmp11 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V12 tmp12 [V12,T20] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V13 tmp13 [V13,T21] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V12 tmp12 [V12,T21] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V13 tmp13 [V13,T22] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V14 tmp14 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V15 tmp15 [V15,T22] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V16 tmp16 [V16,T23] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V15 tmp15 [V15,T23] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V16 tmp16 [V16,T24] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V17 tmp17 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V18 tmp18 [V18,T24] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V19 tmp19 [V19,T25] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V18 tmp18 [V18,T25] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V19 tmp19 [V19,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V20 tmp20 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V21 tmp21 [V21,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V22 tmp22 [V22,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V21 tmp21 [V21,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V22 tmp22 [V22,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V23 tmp23 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V24 tmp24 [V24,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V25 tmp25 [V25,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V24 tmp24 [V24,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V25 tmp25 [V25,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V26 tmp26 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V27 tmp27 [V27,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V28 tmp28 [V28,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V27 tmp27 [V27,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V28 tmp28 [V28,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V29 tmp29 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V30 tmp30 [V30,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V31 tmp31 [V31,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V30 tmp30 [V30,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V31 tmp31 [V31,T34] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V32 tmp32 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V33 tmp33 [V33,T34] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V34 tmp34 [V34,T35] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V35 tmp35 [V35,T03] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V36 tmp36 [V36,T36] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V37 tmp37 [V37,T37] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V38 tmp38 [V38,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V39 tmp39 [V39,T38] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V40 tmp40 [V40,T39] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V41 tmp41 [V41,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V42 tmp42 [V42,T40] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V43 tmp43 [V43,T41] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V44 tmp44 [V44,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V45 tmp45 [V45,T42] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V46 tmp46 [V46,T43] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V47 tmp47 [V47,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V48 tmp48 [V48,T44] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V49 tmp49 [V49,T45] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V50 tmp50 [V50,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V51 tmp51 [V51,T46] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V52 tmp52 [V52,T47] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V53 tmp53 [V53,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V54 tmp54 [V54,T48] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V55 tmp55 [V55,T49] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V56 tmp56 [V56,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V57 tmp57 [V57,T50] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V58 tmp58 [V58,T51] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V59 tmp59 [V59,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V60 tmp60 [V60,T52] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V61 tmp61 [V61,T53] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V62 tmp62 [V62,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V63 tmp63 [V63,T54] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V64 tmp64 [V64,T55] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V65 tmp65 [V65,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V66 tmp66 [V66,T56] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V67 tmp67 [V67,T57] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V68 tmp68 [V68,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V69 tmp69 [V69,T58] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V70 tmp70 [V70,T59] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V71 tmp71 [V71,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V72 tmp72 [V72,T60] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V73 tmp73 [V73,T61] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V74 tmp74 [V74,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V75 tmp75 [V75,T62] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V76 tmp76 [V76,T63] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V77 tmp77 [V77,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V78 tmp78 [V78,T74] ( 3, 0 ) int -> x0 "Inline return value spill temp"
-; V79 tmp79 [V79,T01] ( 6, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Type>
+;* V33 tmp33 [V33,T35] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V34 tmp34 [V34,T36] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V35 tmp35 [V35,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V36 tmp36 [V36,T37] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V37 tmp37 [V37,T38] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V38 tmp38 [V38,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V39 tmp39 [V39,T39] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V40 tmp40 [V40,T40] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V41 tmp41 [V41,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V42 tmp42 [V42,T41] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V43 tmp43 [V43,T42] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V44 tmp44 [V44,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V45 tmp45 [V45,T43] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V46 tmp46 [V46,T44] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V47 tmp47 [V47,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V48 tmp48 [V48,T45] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V49 tmp49 [V49,T46] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V50 tmp50 [V50,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V51 tmp51 [V51,T47] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V52 tmp52 [V52,T48] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V53 tmp53 [V53,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V54 tmp54 [V54,T49] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V55 tmp55 [V55,T50] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V56 tmp56 [V56,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V57 tmp57 [V57,T51] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V58 tmp58 [V58,T52] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V59 tmp59 [V59,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V60 tmp60 [V60,T53] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V61 tmp61 [V61,T54] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V62 tmp62 [V62,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V63 tmp63 [V63,T55] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V64 tmp64 [V64,T56] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V65 tmp65 [V65,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V66 tmp66 [V66,T57] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V67 tmp67 [V67,T58] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V68 tmp68 [V68,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V69 tmp69 [V69,T59] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V70 tmp70 [V70,T60] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V71 tmp71 [V71,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V72 tmp72 [V72,T61] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V73 tmp73 [V73,T62] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V74 tmp74 [V74,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V75 tmp75 [V75,T63] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V76 tmp76 [V76,T64] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V77 tmp77 [V77,T18] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V78 tmp78 [V78,T75] ( 3, 0 ) int -> x0 "Inline return value spill temp"
+; V79 tmp79 [V79,T02] ( 6, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Type>
;* V80 tmp80 [V80 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V81 tmp81 [V81 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.RuntimeType>
-; V82 tmp82 [V82,T75] ( 3, 0 ) int -> x0 "guarded devirt return temp"
+; V82 tmp82 [V82,T76] ( 3, 0 ) int -> x0 "guarded devirt return temp"
;* V83 tmp83 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V84 tmp84 [V84 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V85 tmp85 [V85 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V86 tmp86 [V86 ] ( 0, 0 ) ref -> zero-ref "CASTCLASS eval op1"
;* V87 tmp87 [V87 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V88 tmp88 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.RuntimeType>
-;* V89 tmp89 [V89,T102] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V90 tmp90 [V90,T103] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V91 tmp91 [V91,T86] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V92 tmp92 [V92,T104] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V93 tmp93 [V93,T105] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V94 tmp94 [V94,T87] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V95 tmp95 [V95,T106] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V96 tmp96 [V96,T107] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V97 tmp97 [V97,T88] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V98 tmp98 [V98,T108] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V99 tmp99 [V99,T109] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V100 tmp100 [V100,T89] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V101 tmp101 [V101,T110] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V102 tmp102 [V102,T111] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V103 tmp103 [V103,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V104 tmp104 [V104,T112] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V105 tmp105 [V105,T113] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V106 tmp106 [V106,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V107 tmp107 [V107,T114] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V108 tmp108 [V108,T115] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V109 tmp109 [V109,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V110 tmp110 [V110,T116] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V111 tmp111 [V111,T117] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V112 tmp112 [V112,T93] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V113 tmp113 [V113,T118] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V114 tmp114 [V114,T119] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V115 tmp115 [V115,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V116 tmp116 [V116,T120] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V117 tmp117 [V117,T121] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V118 tmp118 [V118,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V119 tmp119 [V119,T122] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V120 tmp120 [V120,T123] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V121 tmp121 [V121,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V122 tmp122 [V122,T124] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V123 tmp123 [V123,T125] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V124 tmp124 [V124,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V125 tmp125 [V125,T126] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V126 tmp126 [V126,T127] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V127 tmp127 [V127,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V128 tmp128 [V128,T128] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V129 tmp129 [V129,T129] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V130 tmp130 [V130,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V131 tmp131 [V131,T76] ( 3, 0 ) int -> x0 "Inline return value spill temp"
-; V132 tmp132 [V132,T66] ( 6, 0 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Type>
+;* V89 tmp89 [V89,T103] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V90 tmp90 [V90,T104] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V91 tmp91 [V91,T87] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V92 tmp92 [V92,T105] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V93 tmp93 [V93,T106] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V94 tmp94 [V94,T88] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V95 tmp95 [V95,T107] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V96 tmp96 [V96,T108] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V97 tmp97 [V97,T89] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V98 tmp98 [V98,T109] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V99 tmp99 [V99,T110] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V100 tmp100 [V100,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V101 tmp101 [V101,T111] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V102 tmp102 [V102,T112] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V103 tmp103 [V103,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V104 tmp104 [V104,T113] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V105 tmp105 [V105,T114] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V106 tmp106 [V106,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V107 tmp107 [V107,T115] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V108 tmp108 [V108,T116] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V109 tmp109 [V109,T93] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V110 tmp110 [V110,T117] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V111 tmp111 [V111,T118] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V112 tmp112 [V112,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V113 tmp113 [V113,T119] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V114 tmp114 [V114,T120] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V115 tmp115 [V115,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V116 tmp116 [V116,T121] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V117 tmp117 [V117,T122] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V118 tmp118 [V118,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V119 tmp119 [V119,T123] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V120 tmp120 [V120,T124] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V121 tmp121 [V121,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V122 tmp122 [V122,T125] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V123 tmp123 [V123,T126] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V124 tmp124 [V124,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V125 tmp125 [V125,T127] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V126 tmp126 [V126,T128] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V127 tmp127 [V127,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V128 tmp128 [V128,T129] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V129 tmp129 [V129,T130] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V130 tmp130 [V130,T100] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V131 tmp131 [V131,T77] ( 3, 0 ) int -> x0 "Inline return value spill temp"
+; V132 tmp132 [V132,T67] ( 6, 0 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Type>
...
libraries_tests.run.osx.arm64.Release.mch
-24 (-0.51%) : 125206.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
@@ -9,133 +9,133 @@
; 19 inlinees with PGO data; 57 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T18] ( 8, 6.35) ref -> x20 this class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory>
+; V00 this [V00,T19] ( 8, 6.35) ref -> x20 this class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory>
;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V02 arg2 [V02,T45] ( 3, 2 ) ref -> x23 class-hnd single-def <System.Type>
-; V03 arg3 [V03,T28] ( 6, 4.17) ref -> x21 class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
+; V02 arg2 [V02,T46] ( 3, 2 ) ref -> x23 class-hnd single-def <System.Type>
+; V03 arg3 [V03,T29] ( 6, 4.17) ref -> x21 class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
; V04 arg4 [V04,T04] ( 19, 12.30) ref -> x19 class-hnd single-def <System.Reflection.ParameterInfo[]>
-; V05 arg5 [V05,T44] ( 3, 2.04) ubyte -> x22 single-def
-; V06 loc0 [V06,T30] ( 6, 5.81) ref -> x25 class-hnd exact single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
-; V07 loc1 [V07,T02] ( 18, 15.86) int -> x26
+; V05 arg5 [V05,T45] ( 3, 2.04) ubyte -> x22 single-def
+; V06 loc0 [V06,T31] ( 6, 5.81) ref -> x25 class-hnd exact single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V07 loc1 [V07,T03] ( 18, 15.86) int -> x26
; V08 loc2 [V08,T05] ( 18, 14.04) ref -> x27 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-; V09 loc3 [V09,T35] ( 15, 4.39) ref -> [fp+0x60] class-hnd <System.Type>
-; V10 loc4 [V10 ] ( 4, 0.13) ref -> [fp+0x118] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-; V11 loc5 [V11,T33] ( 8, 4.78) ref -> x28 class-hnd <System.Object[]>
-; V12 loc6 [V12,T48] ( 10, 3.04) int -> [fp+0x114]
-; V13 loc7 [V13,T63] ( 8, 0.47) ref -> [fp+0x58] class-hnd <System.Object>
-; V14 loc8 [V14,T64] ( 6, 0.43) ref -> x4 class-hnd <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
+; V09 loc3 [V09,T36] ( 15, 4.39) ref -> [fp+0x50] class-hnd <System.Type>
+; V10 loc4 [V10 ] ( 4, 0.13) ref -> [fp+0x108] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
+; V11 loc5 [V11,T34] ( 8, 4.78) ref -> x28 class-hnd <System.Object[]>
+; V12 loc6 [V12,T50] ( 10, 3.04) int -> [fp+0x104]
+; V13 loc7 [V13,T64] ( 8, 0.47) ref -> [fp+0x48] class-hnd <System.Object>
+; V14 loc8 [V14,T65] ( 6, 0.43) ref -> x4 class-hnd <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
;* V15 loc9 [V15 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;# V16 OutArgs [V16 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V17 tmp1 [V17,T76] ( 6, 0 ) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
-; V18 tmp2 [V18,T84] ( 3, 0 ) ref -> x28 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V19 tmp3 [V19,T85] ( 3, 0 ) ref -> x27 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V20 tmp4 [V20,T65] ( 6, 0.26) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V17 tmp1 [V17,T78] ( 6, 0 ) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V18 tmp2 [V18,T86] ( 3, 0 ) ref -> x28 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V19 tmp3 [V19,T87] ( 3, 0 ) ref -> x24 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V20 tmp4 [V20,T66] ( 6, 0.26) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
;* V21 tmp5 [V21 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V22 tmp6 [V22,T39] ( 4, 4.35) ref -> x2 "guarded devirt return temp"
-; V23 tmp7 [V23,T01] ( 22, 17.40) ref -> [fp+0x50] "guarded devirt arg temp"
+; V22 tmp6 [V22,T40] ( 4, 4.35) ref -> x2 "guarded devirt return temp"
+; V23 tmp7 [V23,T02] ( 22, 17.40) ref -> [fp+0x40] "guarded devirt arg temp"
;* V24 tmp8 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V25 tmp9 [V25,T36] ( 8, 4.35) ref -> x28 "guarded devirt return temp"
+; V25 tmp9 [V25,T37] ( 8, 4.35) ref -> x28 "guarded devirt return temp"
; V26 tmp10 [V26,T00] ( 19, 26.13) ref -> x28 "guarded devirt arg temp"
;* V27 tmp11 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V28 tmp12 [V28,T72] ( 8, 0.00) ref -> [fp+0x48] class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V28 tmp12 [V28,T74] ( 8, 0.00) ref -> [fp+0x38] class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V29 tmp13 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V30 tmp14 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V31 tmp15 [V31 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V32 tmp16 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Object[]>
-; V33 tmp17 [V33 ] ( 18, 15.37) struct (24) [fp+0xF8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Attribute]>
-; V34 tmp18 [V34,T09] ( 10, 8.70) ref -> x1 class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
-; V35 tmp19 [V35,T15] ( 4, 8.70) int -> x2 "impAppendStmt"
+; V33 tmp17 [V33 ] ( 18, 15.37) struct (24) [fp+0xE8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Attribute]>
+; V34 tmp18 [V34,T10] ( 10, 8.70) ref -> x1 class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
+; V35 tmp19 [V35,T16] ( 4, 8.70) int -> x2 "impAppendStmt"
;* V36 tmp20 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Object[]>
;* V37 tmp21 [V37 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V38 tmp22 [V38,T11] ( 4, 8.70) ref -> x2 "CASTCLASS eval op1"
+; V38 tmp22 [V38,T12] ( 4, 8.70) ref -> x2 "CASTCLASS eval op1"
;* V39 tmp23 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
-; V40 tmp24 [V40,T20] ( 12, 8.15) ref -> x2 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
-; V41 tmp25 [V41,T12] ( 4, 8.70) ref -> x3 "CASTCLASS eval op1"
+; V40 tmp24 [V40,T21] ( 12, 8.15) ref -> x2 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
+; V41 tmp25 [V41,T13] ( 4, 8.70) ref -> x3 "CASTCLASS eval op1"
;* V42 tmp26 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimeConstructorInfo>
-; V43 tmp27 [V43,T07] ( 12, 10.33) ref -> x3 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
-; V44 tmp28 [V44,T13] ( 4, 8.70) ref -> x1 "CASTCLASS eval op1"
+; V43 tmp27 [V43,T08] ( 12, 10.33) ref -> x3 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
+; V44 tmp28 [V44,T14] ( 4, 8.70) ref -> x1 "CASTCLASS eval op1"
;* V45 tmp29 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimePropertyInfo>
-; V46 tmp30 [V46,T29] ( 12, 5.98) ref -> x1 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
+; V46 tmp30 [V46,T30] ( 12, 5.98) ref -> x1 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
;* V47 tmp31 [V47 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V48 tmp32 [V48,T77] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V48 tmp32 [V48,T79] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V49 tmp33 [V49 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V50 tmp34 [V50 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V51 tmp35 [V51,T78] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V51 tmp35 [V51,T80] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V52 tmp36 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Object[]>
-; V53 tmp37 [V53 ] ( 20, 15.35) struct (24) [fp+0xE0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
-; V54 tmp38 [V54 ] ( 4, 4.35) struct (24) [fp+0xC8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
+; V53 tmp37 [V53 ] ( 20, 15.35) struct (24) [fp+0xD0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
+; V54 tmp38 [V54 ] ( 4, 4.35) struct (24) [fp+0xB8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
;* V55 tmp39 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.RuntimeType>
;* V56 tmp40 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.RuntimeType>
-; V57 tmp41 [V57,T16] ( 4, 8.70) int -> x28 "Inlining Arg"
-; V58 tmp42 [V58,T19] ( 12, 8.31) ref -> x28 class-hnd "Inline stloc first use temp" <System.Object[]>
-; V59 tmp43 [V59,T23] ( 16, 7.00) int -> [fp+0xC4] "Inline stloc first use temp"
-; V60 tmp44 [V60,T42] ( 6, 4.30) ref -> x2 class-hnd "Inline return value spill temp" <System.Object>
-; V61 tmp45 [V61,T21] ( 6, 7.67) int -> x3 "Inlining Arg"
+; V57 tmp41 [V57,T17] ( 4, 8.70) int -> x28 "Inlining Arg"
+; V58 tmp42 [V58,T20] ( 12, 8.31) ref -> x28 class-hnd "Inline stloc first use temp" <System.Object[]>
+; V59 tmp43 [V59,T24] ( 16, 7.00) int -> [fp+0xB4] "Inline stloc first use temp"
+; V60 tmp44 [V60,T43] ( 6, 4.30) ref -> x2 class-hnd "Inline return value spill temp" <System.Object>
+; V61 tmp45 [V61,T22] ( 6, 7.67) int -> x3 "Inlining Arg"
;* V62 tmp46 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V63 tmp47 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V64 tmp48 [V64,T32] ( 6, 5.24) ref -> x27 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
+; V64 tmp48 [V64,T33] ( 6, 5.24) ref -> x27 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
;* V65 tmp49 [V65 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V66 tmp50 [V66,T14] ( 4, 8.70) ref -> x1 class-hnd "impAppendStmt" <<unknown class>>
-; V67 tmp51 [V67,T46] ( 6, 1.44) ref -> x4 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-;* V68 tmp52 [V68,T51] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V69 tmp53 [V69 ] ( 8, 0 ) struct (24) [fp+0xA8] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V70 tmp54 [V70,T08] ( 12, 8.70) ref -> [fp+0x40] class-hnd "Inline stloc first use temp" <<unknown class>>
-; V71 tmp55 [V71,T37] ( 8, 4.35) ref -> [fp+0x38] class-hnd "Inline stloc first use temp" <System.Collections.Generic.IEqualityComparer`1[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey]>
-; V72 tmp56 [V72,T79] ( 6, 0 ) int -> [fp+0xA4] "Inline stloc first use temp"
-; V73 tmp57 [V73,T74] ( 14, 0 ) ref -> [fp+0x30] class-hnd "Inline stloc first use temp" <<unknown class>>
-; V74 tmp58 [V74,T31] ( 6, 5.42) int -> [fp+0xA0] "Inline stloc first use temp"
-; V75 tmp59 [V75,T03] ( 16, 14.62) ref -> [fp+0x28] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V66 tmp50 [V66,T15] ( 4, 8.70) ref -> x1 class-hnd "impAppendStmt" <<unknown class>>
+; V67 tmp51 [V67,T07] ( 6, 9.60) ref -> x27 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
+;* V68 tmp52 [V68,T49] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V69 tmp53 [V69 ] ( 8, 0 ) struct (24) [fp+0x98] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V70 tmp54 [V70,T09] ( 12, 8.70) ref -> [fp+0x30] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V71 tmp55 [V71,T38] ( 8, 4.35) ref -> [fp+0x28] class-hnd "Inline stloc first use temp" <System.Collections.Generic.IEqualityComparer`1[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey]>
+; V72 tmp56 [V72,T81] ( 6, 0 ) int -> [fp+0x94] "Inline stloc first use temp"
+; V73 tmp57 [V73,T76] ( 14, 0 ) ref -> [fp+0x20] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V74 tmp58 [V74,T32] ( 6, 5.42) int -> [fp+0x90] "Inline stloc first use temp"
+; V75 tmp59 [V75,T01] ( 16, 22.78) ref -> [fp+0x18] class-hnd "Inline stloc first use temp" <<unknown class>>
;* V76 tmp60 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V77 tmp61 [V77 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V78 tmp62 [V78,T41] ( 4, 4.35) int -> x0 "Inline return value spill temp"
+; V78 tmp62 [V78,T42] ( 4, 4.35) int -> x0 "Inline return value spill temp"
;* V79 tmp63 [V79 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V80 tmp64 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling ret_expr" <System.Type>
-; V81 tmp65 [V81,T38] ( 6, 4.35) int -> x0 "guarded devirt return temp"
+; V81 tmp65 [V81,T39] ( 6, 4.35) int -> x0 "guarded devirt return temp"
;* V82 tmp66 [V82 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V83 tmp67 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <<unknown class>>
-; V84 tmp68 [V84,T25] ( 7, 6.54) ref -> x4 class-hnd "Inline stloc first use temp" <<unknown class>>
+; V84 tmp68 [V84,T26] ( 7, 6.54) ref -> x6 class-hnd "Inline stloc first use temp" <<unknown class>>
;* V85 tmp69 [V85 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V86 tmp70 [V86 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V87 tmp71 [V87,T26] ( 6, 6.52) int -> x3 "Inline stloc first use temp"
+; V87 tmp71 [V87,T27] ( 6, 6.52) int -> x7 "Inline stloc first use temp"
;* V88 tmp72 [V88 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V89 tmp73 [V89 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V90 tmp74 [V90 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-;* V91 tmp75 [V91,T62] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V91 tmp75 [V91,T63] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V92 tmp76 [V92 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V93 tmp77 [V93 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V94 tmp78 [V94 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V95 tmp79 [V95 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V96 tmp80 [V96,T59] ( 4, 1.10) ubyte -> x10 "Inline return value spill temp"
+; V96 tmp80 [V96,T60] ( 4, 1.10) ubyte -> x13 "Inline return value spill temp"
;* V97 tmp81 [V97 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V98 tmp82 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Type>
;* V99 tmp83 [V99 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Object>
;* V100 tmp84 [V100 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Type>
-; V101 tmp85 [V101,T58] ( 8, 1.10) ubyte -> x10 "Inline return value spill temp"
+; V101 tmp85 [V101,T59] ( 8, 1.10) ubyte -> x13 "Inline return value spill temp"
;* V102 tmp86 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
-; V103 tmp87 [V103,T50] ( 4, 1.98) ref -> x11 class-hnd "spilling QMark2" <System.RuntimeType>
-; V104 tmp88 [V104,T83] ( 4, 0 ) int -> registers "Inline return value spill temp"
-; V105 tmp89 [V105 ] ( 8, 0 ) struct (24) [fp+0x88] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V103 tmp87 [V103,T52] ( 4, 1.98) ref -> x14 class-hnd "spilling QMark2" <System.RuntimeType>
+; V104 tmp88 [V104,T85] ( 4, 0 ) int -> registers "Inline return value spill temp"
+; V105 tmp89 [V105 ] ( 8, 0 ) struct (24) [fp+0x78] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V106 tmp90 [V106 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <<unknown class>>
-; V107 tmp91 [V107,T75] ( 8, 0 ) ref -> x6 class-hnd "Inline stloc first use temp" <<unknown class>>
+; V107 tmp91 [V107,T77] ( 8, 0 ) ref -> x6 class-hnd "Inline stloc first use temp" <<unknown class>>
;* V108 tmp92 [V108 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V109 tmp93 [V109 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V110 tmp94 [V110,T80] ( 6, 0 ) int -> x7 "Inline stloc first use temp"
-; V111 tmp95 [V111,T47] ( 7, 1.22) ref -> x24 single-def "field V01.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V112 tmp96 [V112,T49] ( 1, 1 ) ref -> x2 single-def "field V01.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-; V113 tmp97 [V113,T81] ( 4, 0 ) ref -> x1 "field V15.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V114 tmp98 [V114,T82] ( 4, 0 ) ref -> x2 "field V15.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V115 tmp99 [V115,T52] ( 0, 0 ) ref -> zero-ref "field V21.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V116 tmp100 [V116,T22] ( 15, 7.57) ref -> x27 "field V21.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-; V117 tmp101 [V117 ] ( 6, 5.01) ref -> [fp+0xF8] do-not-enreg[X] addr-exposed "field V33._items (fldOffset=0x0)" P-DEP
-; V118 tmp102 [V118 ] ( 6, 5.35) ref -> [fp+0x100] do-not-enreg[X] addr-exposed "field V33._item (fldOffset=0x8)" P-DEP
-; V119 tmp103 [V119 ] ( 14, 13.71) int -> [fp+0x108] do-not-enreg[X] addr-exposed "field V33._count (fldOffset=0x10)" P-DEP
-; V120 tmp104 [V120 ] ( 4, 4.35) int -> [fp+0x10C] do-not-enreg[X] addr-exposed "field V33._capacity (fldOffset=0x14)" P-DEP
-; V121 tmp105 [V121 ] ( 10, 8.65) ref -> [fp+0xE0] do-not-enreg[X] addr-exposed "field V53._items (fldOffset=0x0)" P-DEP
-; V122 tmp106 [V122 ] ( 6, 6.43) ref -> [fp+0xE8] do-not-enreg[X] addr-exposed "field V53._item (fldOffset=0x8)" P-DEP
-; V123 tmp107 [V123 ] ( 12, 8.96) int -> [fp+0xF0] do-not-enreg[X] addr-exposed "field V53._count (fldOffset=0x10)" P-DEP
-; V124 tmp108 [V124 ] ( 4, 4.35) int -> [fp+0xF4] do-not-enreg[X] addr-exposed "field V53._capacity (fldOffset=0x14)" P-DEP
-;* V125 tmp109 [V125,T53] ( 0, 0 ) ref -> zero-ref "field V63.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V126 tmp110 [V126,T40] ( 4, 4.35) ref -> x27 "field V63.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V110 tmp94 [V110,T82] ( 6, 0 ) int -> x7 "Inline stloc first use temp"
+; V111 tmp95 [V111,T48] ( 7, 1.22) ref -> x24 single-def "field V01.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V112 tmp96 [V112,T51] ( 1, 1 ) ref -> x2 single-def "field V01.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V113 tmp97 [V113,T83] ( 4, 0 ) ref -> x1 "field V15.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V114 tmp98 [V114,T84] ( 4, 0 ) ref -> x2 "field V15.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V115 tmp99 [V115,T53] ( 0, 0 ) ref -> zero-ref "field V21.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V116 tmp100 [V116,T23] ( 15, 7.57) ref -> x27 "field V21.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V117 tmp101 [V117 ] ( 6, 5.01) ref -> [fp+0xE8] do-not-enreg[X] addr-exposed "field V33._items (fldOffset=0x0)" P-DEP
+; V118 tmp102 [V118 ] ( 6, 5.35) ref -> [fp+0xF0] do-not-enreg[X] addr-exposed "field V33._item (fldOffset=0x8)" P-DEP
+; V119 tmp103 [V119 ] ( 14, 13.71) int -> [fp+0xF8] do-not-enreg[X] addr-exposed "field V33._count (fldOffset=0x10)" P-DEP
+; V120 tmp104 [V120 ] ( 4, 4.35) int -> [fp+0xFC] do-not-enreg[X] addr-exposed "field V33._capacity (fldOffset=0x14)" P-DEP
+; V121 tmp105 [V121 ] ( 10, 8.65) ref -> [fp+0xD0] do-not-enreg[X] addr-exposed "field V53._items (fldOffset=0x0)" P-DEP
+; V122 tmp106 [V122 ] ( 6, 6.43) ref -> [fp+0xD8] do-not-enreg[X] addr-exposed "field V53._item (fldOffset=0x8)" P-DEP
+; V123 tmp107 [V123 ] ( 12, 8.96) int -> [fp+0xE0] do-not-enreg[X] addr-exposed "field V53._count (fldOffset=0x10)" P-DEP
+; V124 tmp108 [V124 ] ( 4, 4.35) int -> [fp+0xE4] do-not-enreg[X] addr-exposed "field V53._capacity (fldOffset=0x14)" P-DEP
+;* V125 tmp109 [V125,T54] ( 0, 0 ) ref -> zero-ref "field V63.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V126 tmp110 [V126,T41] ( 4, 4.35) ref -> x27 "field V63.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
;* V127 tmp111 [V127 ] ( 0, 0 ) ref -> zero-ref "field V76.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
;* V128 tmp112 [V128 ] ( 0, 0 ) ref -> zero-ref "field V76.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
;* V129 tmp113 [V129 ] ( 0, 0 ) ref -> zero-ref "field V92.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
@@ -147,36 +147,38 @@
;* V135 tmp119 [V135 ] ( 0, 0 ) int -> zero-ref "V65.[000..004)"
;* V136 tmp120 [V136 ] ( 0, 0 ) ref -> zero-ref "V65.[008..016)"
;* V137 tmp121 [V137 ] ( 0, 0 ) ref -> zero-ref "V65.[016..024)"
-;* V138 tmp122 [V138,T55] ( 0, 0 ) int -> zero-ref "V69.[000..004)"
-;* V139 tmp123 [V139,T54] ( 0, 0 ) ref -> zero-ref "V69.[008..016)"
-; V140 tmp124 [V140,T24] ( 13, 6.54) ref -> x0 "V69.[016..024)"
-; V141 tmp125 [V141,T61] ( 4, 1.10) int -> [fp+0x84] "V89.[000..004)"
-; V142 tmp126 [V142,T60] ( 4, 1.10) ref -> x8 "V89.[008..016)"
-; V143 tmp127 [V143,T56] ( 12, 2.09) ref -> [fp+0x20] "V89.[016..024)"
+;* V138 tmp122 [V138,T56] ( 0, 0 ) int -> zero-ref "V69.[000..004)"
+;* V139 tmp123 [V139,T55] ( 0, 0 ) ref -> zero-ref "V69.[008..016)"
+; V140 tmp124 [V140,T25] ( 13, 6.54) ref -> x0 "V69.[016..024)"
+; V141 tmp125 [V141,T62] ( 4, 1.10) int -> [fp+0x74] "V89.[000..004)"
+; V142 tmp126 [V142,T61] ( 4, 1.10) ref -> x11 "V89.[008..016)"
+; V143 tmp127 [V143,T57] ( 12, 2.09) ref -> x0 "V89.[016..024)"
;* V144 tmp128 [V144 ] ( 0, 0 ) int -> zero-ref "V93.[000..004)"
;* V145 tmp129 [V145 ] ( 0, 0 ) ref -> zero-ref "V93.[008..016)"
;* V146 tmp130 [V146 ] ( 0, 0 ) ref -> zero-ref "V93.[016..024)"
-; V147 tmp131 [V147,T34] ( 8, 4.40) byref -> x6 "Spilling address for field-by-field copy"
-; V148 tmp132 [V148,T70] ( 6, 0.00) ref -> x3 "arr expr"
-; V149 tmp133 [V149,T71] ( 6, 0.00) int -> x2 "index expr"
-; V150 tmp134 [V150,T87] ( 2, 0 ) ref -> x1 "argument with side effect"
-; V151 tmp135 [V151 ] ( 8, 0 ) struct (24) [fp+0x68] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V152 tmp136 [V152,T88] ( 2, 0 ) ref -> x0 "argument with side effect"
-; V153 tmp137 [V153,T89] ( 2, 0 ) ref -> x1 "argument with side effect"
-; V154 cse0 [V154,T43] ( 2, 4.30) int -> x2 "CSE - moderate"
-; V155 cse1 [V155,T68] ( 2, 0.04) int -> x2 "CSE - conservative"
-; V156 cse2 [V156,T17] ( 4, 8.61) ref -> x1 "CSE - moderate"
+; V147 tmp131 [V147,T35] ( 8, 4.40) byref -> x9 "Spilling address for field-by-field copy"
+; V148 tmp132 [V148,T72] ( 6, 0.00) ref -> x3 "arr expr"
+; V149 tmp133 [V149,T73] ( 6, 0.00) int -> x2 "index expr"
+; V150 tmp134 [V150,T89] ( 2, 0 ) ref -> x1 "argument with side effect"
+; V151 tmp135 [V151 ] ( 8, 0 ) struct (24) [fp+0x58] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V152 tmp136 [V152,T90] ( 2, 0 ) ref -> x0 "argument with side effect"
+; V153 tmp137 [V153,T91] ( 2, 0 ) ref -> x1 "argument with side effect"
+; V154 cse0 [V154,T44] ( 2, 4.30) int -> x4 "CSE - moderate"
+; V155 cse1 [V155,T69] ( 2, 0.04) int -> x4 "CSE - conservative"
+; V156 cse2 [V156,T18] ( 4, 8.61) ref -> x1 "CSE - moderate"
...
+12 (+0.14%) : 125204.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
@@ -14,48 +14,48 @@
;* V02 arg2 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V03 arg3 [V03,T13] ( 12, 6.50) ref -> x19 class-hnd single-def <System.Type>
; V04 arg4 [V04,T22] ( 10, 6.98) ref -> [fp+0xE8] class-hnd EH-live single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
-; V05 loc0 [V05,T31] ( 11, 7 ) ref -> x23 class-hnd single-def <System.Reflection.ConstructorInfo[]>
-; V06 loc1 [V06,T82] ( 5, 2.86) ref -> x26 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V05 loc0 [V05,T31] ( 11, 7.00) ref -> x23 class-hnd single-def <System.Reflection.ConstructorInfo[]>
+; V06 loc1 [V06,T83] ( 5, 2.86) ref -> x26 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V07 loc2 [V07,T52] ( 22, 5.05) ref -> x22 class-hnd <System.Reflection.ConstructorInfo>
; V08 loc3 [V08,T46] ( 6, 5.57) ref -> x24 class-hnd <<unknown class>>
-; V09 loc4 [V09,T70] ( 19, 3.94) ref -> x27 class-hnd single-def <System.Reflection.ConstructorInfo>
+; V09 loc4 [V09,T71] ( 19, 3.94) ref -> x27 class-hnd single-def <System.Reflection.ConstructorInfo>
;* V10 loc5 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Reflection.ParameterInfo[]>
-; V11 loc6 [V11,T104] ( 4, 2 ) ref -> x24 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
+; V11 loc6 [V11,T105] ( 4, 2 ) ref -> x24 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
; V12 loc7 [V12,T49] ( 8, 5.43) int -> x25
; V13 loc8 [V13,T11] ( 15, 12.37) ref -> x27 class-hnd <System.Reflection.ParameterInfo[]>
;* V14 loc9 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
-; V15 loc10 [V15,T73] ( 4, 3.86) ref -> x28 class-hnd <System.Reflection.ParameterInfo[]>
+; V15 loc10 [V15,T74] ( 4, 3.86) ref -> x28 class-hnd <System.Reflection.ParameterInfo[]>
; V16 loc11 [V16,T36] ( 5, 6.43) int -> [fp+0x1B4]
; V17 loc12 [V17,T40] ( 11, 6.00) ref -> [fp+0xE0] class-hnd spill-single-def <System.Reflection.ParameterInfo>
-; V18 loc13 [V18,T90] ( 3, 2.57) ref -> x27 class-hnd <System.Reflection.ParameterInfo[]>
+; V18 loc13 [V18,T91] ( 3, 2.57) ref -> x27 class-hnd <System.Reflection.ParameterInfo[]>
; V19 loc14 [V19,T45] ( 5, 5.79) int -> x28
; V20 loc15 [V20,T51] ( 12, 5.15) ref -> [fp+0xD8] class-hnd spill-single-def <System.Reflection.ParameterInfo>
;# V21 OutArgs [V21 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V22 tmp1 [V22,T112] ( 2, 1.71) ref -> x24 class-hnd single-def "dup spill" <<unknown class>>
+; V22 tmp1 [V22,T113] ( 2, 1.71) ref -> x24 class-hnd single-def "dup spill" <<unknown class>>
;* V23 tmp2 [V23 ] ( 0, 0 ) ref -> zero-ref single-def
-; V24 tmp3 [V24,T102] ( 5, 2.14) ref -> x24
-; V25 tmp4 [V25,T192] ( 5, 0 ) ref -> x20 class-hnd exact "dup spill" <System.Object[]>
-; V26 tmp5 [V26,T203] ( 2, 0 ) ref -> x26 class-hnd exact "impSpillLclRefs" <System.String>
-; V27 tmp6 [V27,T204] ( 2, 0 ) ref -> x15 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
-; V28 tmp7 [V28,T205] ( 2, 0 ) ref -> x15 class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.ConstructorInfo>
-; V29 tmp8 [V29,T196] ( 3, 0 ) ref -> x22 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V30 tmp9 [V30,T91] ( 3, 2.57) ref -> x24 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V24 tmp3 [V24,T103] ( 5, 2.14) ref -> x24
+; V25 tmp4 [V25,T194] ( 5, 0 ) ref -> x20 class-hnd exact "dup spill" <System.Object[]>
+; V26 tmp5 [V26,T205] ( 2, 0 ) ref -> x26 class-hnd exact "impSpillLclRefs" <System.String>
+; V27 tmp6 [V27,T206] ( 2, 0 ) ref -> x15 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V28 tmp7 [V28,T207] ( 2, 0 ) ref -> x15 class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.ConstructorInfo>
+; V29 tmp8 [V29,T198] ( 3, 0 ) ref -> x22 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V30 tmp9 [V30,T92] ( 3, 2.57) ref -> x24 class-hnd exact "NewObj constructor temp" <<unknown class>>
; V31 tmp10 [V31,T41] ( 7, 6 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V32 tmp11 [V32,T197] ( 3, 0 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V32 tmp11 [V32,T199] ( 3, 0 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V33 tmp12 [V33,T67] ( 5, 4.29) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V34 tmp13 [V34,T32] ( 7, 7 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V35 tmp14 [V35,T155] ( 3, 0.43) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V36 tmp15 [V36,T198] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-; V37 tmp16 [V37,T117] ( 4, 1.64) ref -> x5 "guarded devirt return temp"
+; V35 tmp14 [V35,T156] ( 3, 0.43) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
+; V36 tmp15 [V36,T200] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V37 tmp16 [V37,T118] ( 4, 1.64) ref -> x5 "guarded devirt return temp"
;* V38 tmp17 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V39 tmp18 [V39,T99] ( 3, 2.29) ref -> x27 "guarded devirt return temp"
+; V39 tmp18 [V39,T100] ( 3, 2.29) ref -> x27 "guarded devirt return temp"
; V40 tmp19 [V40,T26] ( 10, 7.48) ref -> x28 "guarded devirt arg temp"
;* V41 tmp20 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V42 tmp21 [V42,T143] ( 3, 0.86) ref -> x28 "guarded devirt return temp"
+; V42 tmp21 [V42,T144] ( 3, 0.86) ref -> x28 "guarded devirt return temp"
;* V43 tmp22 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V44 tmp23 [V44,T79] ( 3, 3 ) ref -> x3 "guarded devirt return temp"
+; V44 tmp23 [V44,T80] ( 3, 3 ) ref -> x3 "guarded devirt return temp"
;* V45 tmp24 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V46 tmp25 [V46,T92] ( 3, 2.57) ref -> x1 "guarded devirt return temp"
+; V46 tmp25 [V46,T93] ( 3, 2.57) ref -> x3 "guarded devirt return temp"
;* V47 tmp26 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
;* V48 tmp27 [V48 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V49 tmp28 [V49,T42] ( 3, 6 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]>
@@ -64,21 +64,21 @@
;* V52 tmp31 [V52 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V53 tmp32 [V53 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo>
;* V54 tmp33 [V54 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V55 tmp34 [V55,T89] ( 4, 2.57) ref -> x25 "guarded devirt return temp"
-;* V56 tmp35 [V56,T133] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.RuntimeType>
+; V55 tmp34 [V55,T90] ( 4, 2.57) ref -> x25 "guarded devirt return temp"
+;* V56 tmp35 [V56,T134] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.RuntimeType>
;* V57 tmp36 [V57 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "Inline stloc first use temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
;* V58 tmp37 [V58 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inline return value spill temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
-;* V59 tmp38 [V59,T107] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd single-def "Inlining Arg" <System.String>
-;* V60 tmp39 [V60,T135] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
-;* V61 tmp40 [V61,T136] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
-;* V62 tmp41 [V62,T137] ( 0, 0 ) int -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V59 tmp38 [V59,T108] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd single-def "Inlining Arg" <System.String>
+;* V60 tmp39 [V60,T136] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V61 tmp40 [V61,T137] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V62 tmp41 [V62,T138] ( 0, 0 ) int -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
; V63 tmp42 [V63,T39] ( 5, 6.09) ref -> x22 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo[]>
; V64 tmp43 [V64 ] ( 8, 8.46) struct (24) [fp+0x198] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
; V65 tmp44 [V65,T30] ( 5, 7.19) int -> x23 "Inline stloc first use temp"
; V66 tmp45 [V66,T38] ( 4, 6.10) ref -> x24 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
; V67 tmp46 [V67,T66] ( 5, 4.35) ref -> x22 class-hnd "Inline return value spill temp" <System.RuntimeType+RuntimeTypeCache>
; V68 tmp47 [V68,T55] ( 5, 5 ) ref -> x22 class-hnd single-def "Inline stloc first use temp" <System.Object>
-; V69 tmp48 [V69,T68] ( 2, 4 ) ref -> x0 class-hnd "spilling QMark2" <System.RuntimeType+RuntimeTypeCache>
+; V69 tmp48 [V69,T69] ( 2, 4 ) ref -> x0 class-hnd "spilling QMark2" <System.RuntimeType+RuntimeTypeCache>
;* V70 tmp49 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.RuntimeType+RuntimeTypeCache>
;* V71 tmp50 [V71 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V72 tmp51 [V72 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String>
@@ -87,79 +87,79 @@
;* V75 tmp54 [V75 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <<unknown class>>
;* V76 tmp55 [V76 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <<unknown class>>
; V77 tmp56 [V77,T65] ( 7, 4.41) ref -> x0 class-hnd "Inline stloc first use temp" <<unknown class>>
-; V78 tmp57 [V78,T83] ( 4, 2.81) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V78 tmp57 [V78,T84] ( 4, 2.81) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
;* V79 tmp58 [V79 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-; V80 tmp59 [V80,T69] ( 2, 4 ) int -> x1 "Inlining Arg"
-; V81 tmp60 [V81,T105] ( 4, 2 ) ref -> x25 class-hnd "Inline return value spill temp" <System.Reflection.ConstructorInfo[]>
-; V82 tmp61 [V82,T76] ( 3, 3.43) ref -> x25 class-hnd exact single-def "dup spill" <System.Reflection.ConstructorInfo[]>
+; V80 tmp59 [V80,T70] ( 2, 4 ) int -> x1 "Inlining Arg"
+; V81 tmp60 [V81,T106] ( 4, 2 ) ref -> x25 class-hnd "Inline return value spill temp" <System.Reflection.ConstructorInfo[]>
+; V82 tmp61 [V82,T77] ( 3, 3.43) ref -> x25 class-hnd exact single-def "dup spill" <System.Reflection.ConstructorInfo[]>
;* V83 tmp62 [V83 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V84 tmp63 [V84 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Reflection.ConstructorInfo[]>
-; V85 tmp64 [V85,T172] ( 3, 0.01) ref -> x25 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ConstructorInfo[]>
-; V86 tmp65 [V86,T169] ( 2, 0.01) byref -> x0 single-def "impAppendStmt"
-; V87 tmp66 [V87,T170] ( 2, 0.01) byref -> x1 single-def "impAppendStmt"
-; V88 tmp67 [V88,T175] ( 2, 0.00) int -> x2 "Inline return value spill temp"
-; V89 tmp68 [V89,T168] ( 3, 0.01) int -> x2 "Inlining Arg"
-; V90 tmp69 [V90,T171] ( 2, 0.01) long -> x2 "Inlining Arg"
+; V85 tmp64 [V85,T174] ( 3, 0.01) ref -> x25 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ConstructorInfo[]>
+; V86 tmp65 [V86,T171] ( 2, 0.01) byref -> x0 single-def "impAppendStmt"
+; V87 tmp66 [V87,T172] ( 2, 0.01) byref -> x1 single-def "impAppendStmt"
+; V88 tmp67 [V88,T177] ( 2, 0.00) int -> x2 "Inline return value spill temp"
+; V89 tmp68 [V89,T170] ( 3, 0.01) int -> x2 "Inlining Arg"
+; V90 tmp69 [V90,T173] ( 2, 0.01) long -> x2 "Inlining Arg"
;* V91 tmp70 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
;* V92 tmp71 [V92 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V93 tmp72 [V93,T101] ( 2, 2.29) ref -> x1 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
-; V94 tmp73 [V94,T84] ( 6, 2.75) ref -> x1
-; V95 tmp74 [V95,T159] ( 3, 0.23) ref -> x1 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
+; V93 tmp72 [V93,T102] ( 2, 2.29) ref -> x1 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
+; V94 tmp73 [V94,T85] ( 6, 2.75) ref -> x1
+; V95 tmp74 [V95,T160] ( 3, 0.23) ref -> x1 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
;* V96 tmp75 [V96 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V97 tmp76 [V97,T161] ( 2, 0.15) ref -> x2 class-hnd exact single-def "dup spill" <System.Signature>
-; V98 tmp77 [V98,T163] ( 4, 0.12) ref -> x2
+; V97 tmp76 [V97,T162] ( 2, 0.15) ref -> x2 class-hnd exact single-def "dup spill" <System.Signature>
+; V98 tmp77 [V98,T164] ( 4, 0.12) ref -> x2
;* V99 tmp78 [V99 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V100 tmp79 [V100,T130] ( 3, 1.14) ref -> x5 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
-; V101 tmp80 [V101,T139] ( 3, 0.98) ref -> x28 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V102 tmp81 [V102,T123] ( 3, 1.31) byref -> x0 single-def "Inlining Arg"
+; V100 tmp79 [V100,T131] ( 3, 1.14) ref -> x5 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V101 tmp80 [V101,T140] ( 3, 0.98) ref -> x28 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
+; V102 tmp81 [V102,T124] ( 3, 1.31) byref -> x0 single-def "Inlining Arg"
;* V103 tmp82 [V103 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V104 tmp83 [V104,T124] ( 2, 1.31) long -> x1 "Inlining Arg"
-; V105 tmp84 [V105,T108] ( 4, 1.96) long -> x2 "Inlining Arg"
+; V104 tmp83 [V104,T125] ( 2, 1.31) long -> x1 "Inlining Arg"
+; V105 tmp84 [V105,T109] ( 4, 1.96) long -> x2 "Inlining Arg"
;* V106 tmp85 [V106 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
;* V107 tmp86 [V107 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Type>
-; V108 tmp87 [V108,T131] ( 3, 1 ) ref -> x2 class-hnd "spilling ret_expr" <System.Type>
-; V109 tmp88 [V109,T206] ( 2, 0 ) ref -> x28 class-hnd exact single-def "non-inline candidate call" <System.String>
-; V110 tmp89 [V110,T199] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-; V111 tmp90 [V111,T119] ( 4, 1.50) ref -> x1 "guarded devirt return temp"
+; V108 tmp87 [V108,T132] ( 3, 1 ) ref -> x2 class-hnd "spilling ret_expr" <System.Type>
+; V109 tmp88 [V109,T208] ( 2, 0 ) ref -> x28 class-hnd exact single-def "non-inline candidate call" <System.String>
+; V110 tmp89 [V110,T201] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V111 tmp90 [V111,T120] ( 4, 1.50) ref -> x1 "guarded devirt return temp"
;* V112 tmp91 [V112 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V113 tmp92 [V113,T132] ( 3, 1 ) int -> x0 "guarded devirt return temp"
+; V113 tmp92 [V113,T133] ( 3, 1 ) int -> x0 "guarded devirt return temp"
;* V114 tmp93 [V114 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V115 tmp94 [V115 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.RuntimeType+RuntimeTypeCache>
-; V116 tmp95 [V116,T113] ( 2, 1.71) ref -> x15 class-hnd exact single-def "Inlining Arg" <<unknown class>>
+; V116 tmp95 [V116,T114] ( 2, 1.71) ref -> x15 class-hnd exact single-def "Inlining Arg" <<unknown class>>
;* V117 tmp96 [V117 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Reflection.ConstructorInfo]>
;* V118 tmp97 [V118 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" <System.Span`1[System.Reflection.ConstructorInfo]>
-; V119 tmp98 [V119,T116] ( 2, 1.71) int -> x25 "Inlining Arg"
-; V120 tmp99 [V120,T114] ( 2, 1.71) byref -> x22 single-def "Inlining Arg"
+; V119 tmp98 [V119,T117] ( 2, 1.71) int -> x25 "Inlining Arg"
+; V120 tmp99 [V120,T115] ( 2, 1.71) byref -> x22 single-def "Inlining Arg"
;* V121 tmp100 [V121 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
;* V122 tmp101 [V122 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
; V123 tmp102 [V123,T63] ( 2, 4.57) ref -> x1 class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
; V124 tmp103 [V124,T47] ( 6, 5.50) ref -> x1
-; V125 tmp104 [V125,T154] ( 3, 0.46) ref -> x1 class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
+; V125 tmp104 [V125,T155] ( 3, 0.46) ref -> x1 class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
;* V126 tmp105 [V126 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V127 tmp106 [V127,T156] ( 2, 0.31) ref -> x2 class-hnd exact "dup spill" <System.Signature>
-; V128 tmp107 [V128,T158] ( 4, 0.23) ref -> x2
+; V127 tmp106 [V127,T157] ( 2, 0.31) ref -> x2 class-hnd exact "dup spill" <System.Signature>
+; V128 tmp107 [V128,T159] ( 4, 0.23) ref -> x2
;* V129 tmp108 [V129 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V130 tmp109 [V130,T100] ( 3, 2.29) ref -> x27 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
-; V131 tmp110 [V131,T109] ( 3, 1.96) ref -> [fp+0xD0] class-hnd exact spill-single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V132 tmp111 [V132,T87] ( 3, 2.61) byref -> x0 "Inlining Arg"
+; V130 tmp109 [V130,T101] ( 3, 2.29) ref -> x27 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V131 tmp110 [V131,T110] ( 3, 1.96) ref -> [fp+0xD0] class-hnd exact spill-single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
+; V132 tmp111 [V132,T88] ( 3, 2.61) byref -> x0 "Inlining Arg"
;* V133 tmp112 [V133 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V134 tmp113 [V134,T88] ( 2, 2.61) long -> x1 "Inlining Arg"
-; V135 tmp114 [V135,T71] ( 4, 3.92) long -> x2 "Inlining Arg"
-; V136 tmp115 [V136,T86] ( 4, 2.71) ref -> x1 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V134 tmp113 [V134,T89] ( 2, 2.61) long -> x1 "Inlining Arg"
+; V135 tmp114 [V135,T72] ( 4, 3.92) long -> x2 "Inlining Arg"
+; V136 tmp115 [V136,T87] ( 4, 2.71) ref -> x1 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V137 tmp116 [V137,T34] ( 6, 6.64) ref -> [fp+0xC8] class-hnd exact spill-single-def "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V138 tmp117 [V138,T05] ( 18, 18.12) int -> [fp+0x194] "Inline stloc first use temp"
; V139 tmp118 [V139,T08] ( 18, 16.05) ref -> [fp+0xC0] class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
; V140 tmp119 [V140,T54] ( 14, 5.02) ref -> [fp+0xB8] class-hnd "Inline stloc first use temp" <System.Type>
; V141 tmp120 [V141,T48] ( 8, 5.47) ref -> [fp+0xB0] class-hnd "Inline stloc first use temp" <System.Object[]>
-; V142 tmp121 [V142,T75] ( 10, 3.48) int -> [fp+0x190] "Inline stloc first use temp"
-; V143 tmp122 [V143,T152] ( 6, 0.50) ref -> [fp+0xA8] class-hnd "Inline stloc first use temp" <System.Object>
+; V142 tmp121 [V142,T76] ( 10, 3.48) int -> [fp+0x190] "Inline stloc first use temp"
+; V143 tmp122 [V143,T153] ( 6, 0.50) ref -> [fp+0xA8] class-hnd "Inline stloc first use temp" <System.Object>
;* V144 tmp123 [V144 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V145 tmp124 [V145,T153] ( 6, 0.50) ref -> x0 class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
+; V145 tmp124 [V145,T154] ( 6, 0.50) ref -> x0 class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
;* V146 tmp125 [V146 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V147 tmp126 [V147,T187] ( 6, 0 ) ref -> [fp+0xA0] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
-; V148 tmp127 [V148,T200] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V147 tmp126 [V147,T189] ( 6, 0 ) ref -> [fp+0xA0] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V148 tmp127 [V148,T202] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <<unknown class>>
; V149 tmp128 [V149 ] ( 6, 2.43) ref -> [fp+0x188] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Object>
-; V150 tmp129 [V150,T157] ( 6, 0.30) ref -> [fp+0x98] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V150 tmp129 [V150,T158] ( 6, 0.30) ref -> [fp+0x98] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
;* V151 tmp130 [V151 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V152 tmp131 [V152,T59] ( 4, 4.97) ref -> registers "guarded devirt return temp"
; V153 tmp132 [V153,T04] ( 22, 19.88) ref -> [fp+0x90] "guarded devirt arg temp"
@@ -167,7 +167,7 @@
; V155 tmp134 [V155,T56] ( 8, 4.97) ref -> registers "guarded devirt return temp"
; V156 tmp135 [V156,T00] ( 20,109.32) ref -> [fp+0x88] "guarded devirt arg temp"
;* V157 tmp136 [V157 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V158 tmp137 [V158,T178] ( 8, 0.00) ref -> [fp+0x80] class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V158 tmp137 [V158,T180] ( 8, 0.00) ref -> [fp+0x80] class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V159 tmp138 [V159 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V160 tmp139 [V160 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V161 tmp140 [V161 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
@@ -187,10 +187,10 @@
;* V175 tmp154 [V175 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimePropertyInfo>
; V176 tmp155 [V176,T33] ( 12, 6.83) ref -> x2 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
;* V177 tmp156 [V177 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V178 tmp157 [V178,T188] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V178 tmp157 [V178,T190] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V179 tmp158 [V179 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V180 tmp159 [V180 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V181 tmp160 [V181,T189] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V181 tmp160 [V181,T191] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
; V182 tmp161 [V182,T23] ( 6, 8.77) int -> [fp+0x16C] "Inlining Arg"
;* V183 tmp162 [V183 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V184 tmp163 [V184 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
@@ -198,12 +198,12 @@
;* V186 tmp165 [V186 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
; V187 tmp166 [V187,T18] ( 4, 9.94) ref -> x10 class-hnd "impAppendStmt" <<unknown class>>
; V188 tmp167 [V188,T64] ( 6, 2.04) ref -> x6 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-;* V189 tmp168 [V189,T78] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
...
Details
Improvements/regressions per collection
| Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
| benchmarks.run.osx.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| benchmarks.run_pgo.osx.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| benchmarks.run_tiered.osx.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| coreclr_tests.run.osx.arm64.checked.mch |
1 |
0 |
1 |
0 |
-0 |
+16 |
| libraries.crossgen2.osx.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries.pmi.osx.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries_tests.run.osx.arm64.Release.mch |
2 |
1 |
1 |
0 |
-24 |
+12 |
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| realworld.run.osx.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
|
3 |
1 |
2 |
0 |
-24 |
+28 |
Context information
| Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
| benchmarks.run.osx.arm64.checked.mch |
24,861 |
5 |
24,856 |
0 (0.00%) |
0 (0.00%) |
| benchmarks.run_pgo.osx.arm64.checked.mch |
84,164 |
48,254 |
35,910 |
0 (0.00%) |
12 (0.01%) |
| benchmarks.run_tiered.osx.arm64.checked.mch |
48,057 |
37,339 |
10,718 |
0 (0.00%) |
0 (0.00%) |
| coreclr_tests.run.osx.arm64.checked.mch |
584,883 |
356,502 |
228,381 |
0 (0.00%) |
5 (0.00%) |
| libraries.crossgen2.osx.arm64.checked.mch |
1,881 |
0 |
1,881 |
0 (0.00%) |
0 (0.00%) |
| libraries.pmi.osx.arm64.checked.mch |
316,294 |
18 |
316,276 |
0 (0.00%) |
0 (0.00%) |
| libraries_tests.run.osx.arm64.Release.mch |
634,566 |
463,650 |
170,916 |
0 (0.00%) |
83 (0.01%) |
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch |
303,146 |
21,597 |
281,549 |
0 (0.00%) |
0 (0.00%) |
| realworld.run.osx.arm64.checked.mch |
31,543 |
3 |
31,540 |
0 (0.00%) |
0 (0.00%) |
|
2,029,395 |
927,368 |
1,102,027 |
0 (0.00%) |
100 (0.00%) |
jit-analyze output
coreclr_tests.run.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 483589356 (overridden on cmd)
Total bytes of diff: 483589372 (overridden on cmd)
Total bytes of delta: 16 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
16 : 195321.dasm (0.58 % of base)
1 total files with Code Size differences (0 improved, 1 regressed), 0 unchanged.
Top method regressions (bytes):
16 (0.58 % of base) : 195321.dasm - Program:TestEntryPoint() (FullOpts)
Top method regressions (percentages):
16 (0.58 % of base) : 195321.dasm - Program:TestEntryPoint() (FullOpts)
1 total methods with Code Size differences (0 improved, 1 regressed).
libraries_tests.run.osx.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 313700352 (overridden on cmd)
Total bytes of diff: 313700340 (overridden on cmd)
Total bytes of delta: -12 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
12 : 125204.dasm (0.14 % of base)
Top file improvements (bytes):
-24 : 125206.dasm (-0.51 % of base)
2 total files with Code Size differences (1 improved, 1 regressed), 0 unchanged.
Top method regressions (bytes):
12 (0.14 % of base) : 125204.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
Top method improvements (bytes):
-24 (-0.51 % of base) : 125206.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
Top method regressions (percentages):
12 (0.14 % of base) : 125204.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
Top method improvements (percentages):
-24 (-0.51 % of base) : 125206.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
2 total methods with Code Size differences (1 improved, 1 regressed).
windows arm64
Diffs are based on 2,070,865 contexts (937,853 MinOpts, 1,133,012 FullOpts).
MISSED contexts: base: 1 (0.00%), diff: 124 (0.01%)
Overall (-116 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| coreclr_tests.run.windows.arm64.checked.mch |
496,301,932 |
+32 |
| libraries_tests.run.windows.arm64.Release.mch |
326,715,624 |
-148 |
FullOpts (-116 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| coreclr_tests.run.windows.arm64.checked.mch |
156,627,528 |
+32 |
| libraries_tests.run.windows.arm64.Release.mch |
123,241,776 |
-148 |
Example diffs
coreclr_tests.run.windows.arm64.checked.mch
+16 (+0.49%) : 140643.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -965,9 +965,13 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- bl CORINFO_HELP_CHKCASTCLASS
+ movz x2, #0xD1FFAB1E // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ ldr x2, [x2]
+ blr x2
; gcrRegs -[x1] +[x0]
- ;; size=92 bbWeight=0 PerfScore 0.00
+ ;; size=108 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
; gcrRegs -[x0]
mov x2, x20
@@ -1446,7 +1450,7 @@ G_M27650_IG70: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
b G_M27650_IG46
;; size=32 bbWeight=0 PerfScore 0.00
-; Total bytes of code 3260, prolog size 24, PerfScore 429.55, instruction count 815, allocated bytes for code 3260 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
+; Total bytes of code 3276, prolog size 24, PerfScore 429.55, instruction count 819, allocated bytes for code 3276 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
; ============================================================
Unwind Info:
@@ -1457,7 +1461,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 815 (0x0032f) Actual length = 3260 (0x000cbc)
+ Function Length : 819 (0x00333) Actual length = 3276 (0x000ccc)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+16 (+0.58%) : 496648.dasm - Program:TestEntryPoint() (FullOpts)
@@ -9,198 +9,199 @@
; Final local variable assignments
;
;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V01 tmp1 [V01,T02] ( 3, 1.50) int -> x0 "Inline return value spill temp"
+; V01 tmp1 [V01,T03] ( 3, 1.50) int -> x0 "Inline return value spill temp"
;* V02 tmp2 [V02 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V03 tmp3 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "spilling QMark2" <System.RuntimeType>
-; V04 tmp4 [V04,T65] ( 17, 0 ) int -> x0 "Inline return value spill temp"
-; V05 tmp5 [V05,T64] ( 18, 0 ) ref -> x19 class-hnd "Inline stloc first use temp" <System.RuntimeType>
-; V06 tmp6 [V06,T72] ( 3, 0 ) ref -> x1 single-def "CASTCLASS eval op1"
-; V07 tmp7 [V07,T73] ( 3, 0 ) long -> x2 "fgMakeTemp is creating a new local variable"
-; V08 tmp8 [V08,T71] ( 4, 0 ) ref -> x19 class-hnd single-def "spilling QMark2" <System.RuntimeType>
-;* V09 tmp9 [V09,T18] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V10 tmp10 [V10,T19] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+; V04 tmp4 [V04,T66] ( 17, 0 ) int -> x0 "Inline return value spill temp"
+; V05 tmp5 [V05,T65] ( 18, 0 ) ref -> x19 class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V06 tmp6 [V06,T73] ( 3, 0 ) ref -> x1 single-def "CASTCLASS eval op1"
+; V07 tmp7 [V07,T74] ( 3, 0 ) long -> x2 "fgMakeTemp is creating a new local variable"
+; V08 tmp8 [V08,T72] ( 4, 0 ) ref -> x19 class-hnd single-def "spilling QMark2" <System.RuntimeType>
+;* V09 tmp9 [V09,T19] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V10 tmp10 [V10,T20] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V11 tmp11 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V12 tmp12 [V12,T20] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V13 tmp13 [V13,T21] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V12 tmp12 [V12,T21] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V13 tmp13 [V13,T22] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V14 tmp14 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V15 tmp15 [V15,T22] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V16 tmp16 [V16,T23] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V15 tmp15 [V15,T23] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V16 tmp16 [V16,T24] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V17 tmp17 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V18 tmp18 [V18,T24] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V19 tmp19 [V19,T25] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V18 tmp18 [V18,T25] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V19 tmp19 [V19,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V20 tmp20 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V21 tmp21 [V21,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V22 tmp22 [V22,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V21 tmp21 [V21,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V22 tmp22 [V22,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V23 tmp23 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V24 tmp24 [V24,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V25 tmp25 [V25,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V24 tmp24 [V24,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V25 tmp25 [V25,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V26 tmp26 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V27 tmp27 [V27,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V28 tmp28 [V28,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V27 tmp27 [V27,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V28 tmp28 [V28,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V29 tmp29 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V30 tmp30 [V30,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V31 tmp31 [V31,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V30 tmp30 [V30,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V31 tmp31 [V31,T34] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V32 tmp32 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V33 tmp33 [V33,T34] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V34 tmp34 [V34,T35] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V35 tmp35 [V35,T03] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V36 tmp36 [V36,T36] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V37 tmp37 [V37,T37] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V38 tmp38 [V38,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V39 tmp39 [V39,T38] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V40 tmp40 [V40,T39] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V41 tmp41 [V41,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V42 tmp42 [V42,T40] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V43 tmp43 [V43,T41] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V44 tmp44 [V44,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V45 tmp45 [V45,T42] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V46 tmp46 [V46,T43] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V47 tmp47 [V47,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V48 tmp48 [V48,T44] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V49 tmp49 [V49,T45] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V50 tmp50 [V50,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V51 tmp51 [V51,T46] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V52 tmp52 [V52,T47] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V53 tmp53 [V53,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V54 tmp54 [V54,T48] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V55 tmp55 [V55,T49] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V56 tmp56 [V56,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V57 tmp57 [V57,T50] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V58 tmp58 [V58,T51] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V59 tmp59 [V59,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V60 tmp60 [V60,T52] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V61 tmp61 [V61,T53] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V62 tmp62 [V62,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V63 tmp63 [V63,T54] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V64 tmp64 [V64,T55] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V65 tmp65 [V65,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V66 tmp66 [V66,T56] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V67 tmp67 [V67,T57] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V68 tmp68 [V68,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V69 tmp69 [V69,T58] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V70 tmp70 [V70,T59] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V71 tmp71 [V71,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V72 tmp72 [V72,T60] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V73 tmp73 [V73,T61] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V74 tmp74 [V74,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V75 tmp75 [V75,T62] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V76 tmp76 [V76,T63] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V77 tmp77 [V77,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V78 tmp78 [V78,T74] ( 3, 0 ) int -> x0 "Inline return value spill temp"
-; V79 tmp79 [V79,T01] ( 6, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Type>
+;* V33 tmp33 [V33,T35] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V34 tmp34 [V34,T36] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V35 tmp35 [V35,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V36 tmp36 [V36,T37] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V37 tmp37 [V37,T38] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V38 tmp38 [V38,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V39 tmp39 [V39,T39] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V40 tmp40 [V40,T40] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V41 tmp41 [V41,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V42 tmp42 [V42,T41] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V43 tmp43 [V43,T42] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V44 tmp44 [V44,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V45 tmp45 [V45,T43] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V46 tmp46 [V46,T44] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V47 tmp47 [V47,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V48 tmp48 [V48,T45] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V49 tmp49 [V49,T46] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V50 tmp50 [V50,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V51 tmp51 [V51,T47] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V52 tmp52 [V52,T48] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V53 tmp53 [V53,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V54 tmp54 [V54,T49] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V55 tmp55 [V55,T50] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V56 tmp56 [V56,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V57 tmp57 [V57,T51] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V58 tmp58 [V58,T52] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V59 tmp59 [V59,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V60 tmp60 [V60,T53] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V61 tmp61 [V61,T54] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V62 tmp62 [V62,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V63 tmp63 [V63,T55] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V64 tmp64 [V64,T56] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V65 tmp65 [V65,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V66 tmp66 [V66,T57] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V67 tmp67 [V67,T58] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V68 tmp68 [V68,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V69 tmp69 [V69,T59] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V70 tmp70 [V70,T60] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V71 tmp71 [V71,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V72 tmp72 [V72,T61] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V73 tmp73 [V73,T62] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V74 tmp74 [V74,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V75 tmp75 [V75,T63] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V76 tmp76 [V76,T64] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V77 tmp77 [V77,T18] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V78 tmp78 [V78,T75] ( 3, 0 ) int -> x0 "Inline return value spill temp"
+; V79 tmp79 [V79,T02] ( 6, 4 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Type>
;* V80 tmp80 [V80 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V81 tmp81 [V81 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.RuntimeType>
-; V82 tmp82 [V82,T75] ( 3, 0 ) int -> x0 "guarded devirt return temp"
+; V82 tmp82 [V82,T76] ( 3, 0 ) int -> x0 "guarded devirt return temp"
;* V83 tmp83 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V84 tmp84 [V84 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V85 tmp85 [V85 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V86 tmp86 [V86 ] ( 0, 0 ) ref -> zero-ref "CASTCLASS eval op1"
;* V87 tmp87 [V87 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V88 tmp88 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.RuntimeType>
-;* V89 tmp89 [V89,T102] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V90 tmp90 [V90,T103] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V91 tmp91 [V91,T86] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V92 tmp92 [V92,T104] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V93 tmp93 [V93,T105] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V94 tmp94 [V94,T87] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V95 tmp95 [V95,T106] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V96 tmp96 [V96,T107] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V97 tmp97 [V97,T88] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V98 tmp98 [V98,T108] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V99 tmp99 [V99,T109] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V100 tmp100 [V100,T89] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V101 tmp101 [V101,T110] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V102 tmp102 [V102,T111] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V103 tmp103 [V103,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V104 tmp104 [V104,T112] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V105 tmp105 [V105,T113] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V106 tmp106 [V106,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V107 tmp107 [V107,T114] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V108 tmp108 [V108,T115] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V109 tmp109 [V109,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V110 tmp110 [V110,T116] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V111 tmp111 [V111,T117] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V112 tmp112 [V112,T93] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V113 tmp113 [V113,T118] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V114 tmp114 [V114,T119] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V115 tmp115 [V115,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V116 tmp116 [V116,T120] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V117 tmp117 [V117,T121] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V118 tmp118 [V118,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V119 tmp119 [V119,T122] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V120 tmp120 [V120,T123] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V121 tmp121 [V121,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V122 tmp122 [V122,T124] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V123 tmp123 [V123,T125] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V124 tmp124 [V124,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V125 tmp125 [V125,T126] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V126 tmp126 [V126,T127] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V127 tmp127 [V127,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V128 tmp128 [V128,T128] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V129 tmp129 [V129,T129] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V130 tmp130 [V130,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V131 tmp131 [V131,T76] ( 3, 0 ) int -> x0 "Inline return value spill temp"
-; V132 tmp132 [V132,T66] ( 6, 0 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Type>
+;* V89 tmp89 [V89,T103] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V90 tmp90 [V90,T104] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V91 tmp91 [V91,T87] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V92 tmp92 [V92,T105] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V93 tmp93 [V93,T106] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V94 tmp94 [V94,T88] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V95 tmp95 [V95,T107] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V96 tmp96 [V96,T108] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V97 tmp97 [V97,T89] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V98 tmp98 [V98,T109] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V99 tmp99 [V99,T110] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V100 tmp100 [V100,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V101 tmp101 [V101,T111] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V102 tmp102 [V102,T112] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V103 tmp103 [V103,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V104 tmp104 [V104,T113] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V105 tmp105 [V105,T114] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V106 tmp106 [V106,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V107 tmp107 [V107,T115] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V108 tmp108 [V108,T116] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V109 tmp109 [V109,T93] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V110 tmp110 [V110,T117] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V111 tmp111 [V111,T118] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V112 tmp112 [V112,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V113 tmp113 [V113,T119] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V114 tmp114 [V114,T120] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V115 tmp115 [V115,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V116 tmp116 [V116,T121] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V117 tmp117 [V117,T122] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V118 tmp118 [V118,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V119 tmp119 [V119,T123] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V120 tmp120 [V120,T124] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V121 tmp121 [V121,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V122 tmp122 [V122,T125] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V123 tmp123 [V123,T126] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V124 tmp124 [V124,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V125 tmp125 [V125,T127] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V126 tmp126 [V126,T128] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V127 tmp127 [V127,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V128 tmp128 [V128,T129] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V129 tmp129 [V129,T130] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V130 tmp130 [V130,T100] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V131 tmp131 [V131,T77] ( 3, 0 ) int -> x0 "Inline return value spill temp"
+; V132 tmp132 [V132,T67] ( 6, 0 ) ref -> x0 class-hnd single-def "Inlining Arg" <System.Type>
...
libraries_tests.run.windows.arm64.Release.mch
-48 (-1.02%) : 120265.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
@@ -9,133 +9,133 @@
; 19 inlinees with PGO data; 57 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T18] ( 8, 6.35) ref -> x20 this class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory>
+; V00 this [V00,T19] ( 8, 6.35) ref -> x20 this class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory>
;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V02 arg2 [V02,T45] ( 3, 2 ) ref -> x23 class-hnd single-def <System.Type>
-; V03 arg3 [V03,T28] ( 6, 4.17) ref -> x21 class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
+; V02 arg2 [V02,T46] ( 3, 2 ) ref -> x23 class-hnd single-def <System.Type>
+; V03 arg3 [V03,T29] ( 6, 4.17) ref -> x21 class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
; V04 arg4 [V04,T04] ( 19, 12.30) ref -> x19 class-hnd single-def <System.Reflection.ParameterInfo[]>
-; V05 arg5 [V05,T44] ( 3, 2.04) ubyte -> x22 single-def
-; V06 loc0 [V06,T30] ( 6, 5.81) ref -> x25 class-hnd exact single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
-; V07 loc1 [V07,T02] ( 18, 15.86) int -> x26
+; V05 arg5 [V05,T45] ( 3, 2.04) ubyte -> x22 single-def
+; V06 loc0 [V06,T31] ( 6, 5.81) ref -> x25 class-hnd exact single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V07 loc1 [V07,T03] ( 18, 15.86) int -> x26
; V08 loc2 [V08,T05] ( 18, 14.04) ref -> x27 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-; V09 loc3 [V09,T35] ( 15, 4.39) ref -> [fp+0x60] class-hnd <System.Type>
-; V10 loc4 [V10 ] ( 4, 0.13) ref -> [fp+0x118] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-; V11 loc5 [V11,T33] ( 8, 4.78) ref -> x28 class-hnd <System.Object[]>
-; V12 loc6 [V12,T48] ( 10, 3.04) int -> [fp+0x114]
-; V13 loc7 [V13,T63] ( 8, 0.46) ref -> [fp+0x58] class-hnd <System.Object>
-; V14 loc8 [V14,T64] ( 6, 0.43) ref -> x4 class-hnd <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
+; V09 loc3 [V09,T36] ( 15, 4.39) ref -> [fp+0x50] class-hnd <System.Type>
+; V10 loc4 [V10 ] ( 4, 0.13) ref -> [fp+0x108] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
+; V11 loc5 [V11,T34] ( 8, 4.78) ref -> x28 class-hnd <System.Object[]>
+; V12 loc6 [V12,T50] ( 10, 3.04) int -> [fp+0x104]
+; V13 loc7 [V13,T64] ( 8, 0.46) ref -> [fp+0x48] class-hnd <System.Object>
+; V14 loc8 [V14,T65] ( 6, 0.43) ref -> x4 class-hnd <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
;* V15 loc9 [V15 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;# V16 OutArgs [V16 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V17 tmp1 [V17,T76] ( 6, 0 ) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
-; V18 tmp2 [V18,T84] ( 3, 0 ) ref -> x28 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V19 tmp3 [V19,T85] ( 3, 0 ) ref -> x27 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V20 tmp4 [V20,T65] ( 6, 0.26) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V17 tmp1 [V17,T78] ( 6, 0 ) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V18 tmp2 [V18,T86] ( 3, 0 ) ref -> x28 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V19 tmp3 [V19,T87] ( 3, 0 ) ref -> x24 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V20 tmp4 [V20,T66] ( 6, 0.26) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
;* V21 tmp5 [V21 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V22 tmp6 [V22,T39] ( 4, 4.35) ref -> x2 "guarded devirt return temp"
-; V23 tmp7 [V23,T01] ( 22, 17.40) ref -> [fp+0x50] "guarded devirt arg temp"
+; V22 tmp6 [V22,T40] ( 4, 4.35) ref -> x2 "guarded devirt return temp"
+; V23 tmp7 [V23,T02] ( 22, 17.40) ref -> [fp+0x40] "guarded devirt arg temp"
;* V24 tmp8 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V25 tmp9 [V25,T36] ( 8, 4.35) ref -> x28 "guarded devirt return temp"
+; V25 tmp9 [V25,T37] ( 8, 4.35) ref -> x28 "guarded devirt return temp"
; V26 tmp10 [V26,T00] ( 19, 26.13) ref -> x28 "guarded devirt arg temp"
;* V27 tmp11 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V28 tmp12 [V28,T72] ( 8, 0.00) ref -> [fp+0x48] class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V28 tmp12 [V28,T74] ( 8, 0.00) ref -> [fp+0x38] class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V29 tmp13 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V30 tmp14 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V31 tmp15 [V31 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V32 tmp16 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Object[]>
-; V33 tmp17 [V33 ] ( 18, 15.37) struct (24) [fp+0xF8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Attribute]>
-; V34 tmp18 [V34,T09] ( 10, 8.70) ref -> x1 class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
-; V35 tmp19 [V35,T15] ( 4, 8.70) int -> x2 "impAppendStmt"
+; V33 tmp17 [V33 ] ( 18, 15.37) struct (24) [fp+0xE8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Attribute]>
+; V34 tmp18 [V34,T10] ( 10, 8.70) ref -> x1 class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
+; V35 tmp19 [V35,T16] ( 4, 8.70) int -> x2 "impAppendStmt"
;* V36 tmp20 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Object[]>
;* V37 tmp21 [V37 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V38 tmp22 [V38,T11] ( 4, 8.70) ref -> x2 "CASTCLASS eval op1"
+; V38 tmp22 [V38,T12] ( 4, 8.70) ref -> x2 "CASTCLASS eval op1"
;* V39 tmp23 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
-; V40 tmp24 [V40,T20] ( 12, 8.15) ref -> x2 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
-; V41 tmp25 [V41,T12] ( 4, 8.70) ref -> x3 "CASTCLASS eval op1"
+; V40 tmp24 [V40,T21] ( 12, 8.15) ref -> x2 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
+; V41 tmp25 [V41,T13] ( 4, 8.70) ref -> x3 "CASTCLASS eval op1"
;* V42 tmp26 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimeConstructorInfo>
-; V43 tmp27 [V43,T07] ( 12, 10.33) ref -> x3 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
-; V44 tmp28 [V44,T13] ( 4, 8.70) ref -> x1 "CASTCLASS eval op1"
+; V43 tmp27 [V43,T08] ( 12, 10.33) ref -> x3 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
+; V44 tmp28 [V44,T14] ( 4, 8.70) ref -> x1 "CASTCLASS eval op1"
;* V45 tmp29 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimePropertyInfo>
-; V46 tmp30 [V46,T29] ( 12, 5.98) ref -> x1 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
+; V46 tmp30 [V46,T30] ( 12, 5.98) ref -> x1 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
;* V47 tmp31 [V47 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V48 tmp32 [V48,T77] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V48 tmp32 [V48,T79] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V49 tmp33 [V49 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V50 tmp34 [V50 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V51 tmp35 [V51,T78] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V51 tmp35 [V51,T80] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V52 tmp36 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Object[]>
-; V53 tmp37 [V53 ] ( 20, 15.31) struct (24) [fp+0xE0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
-; V54 tmp38 [V54 ] ( 4, 4.35) struct (24) [fp+0xC8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
+; V53 tmp37 [V53 ] ( 20, 15.31) struct (24) [fp+0xD0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
+; V54 tmp38 [V54 ] ( 4, 4.35) struct (24) [fp+0xB8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
;* V55 tmp39 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.RuntimeType>
;* V56 tmp40 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.RuntimeType>
-; V57 tmp41 [V57,T16] ( 4, 8.70) int -> x28 "Inlining Arg"
-; V58 tmp42 [V58,T19] ( 12, 8.31) ref -> x28 class-hnd "Inline stloc first use temp" <System.Object[]>
-; V59 tmp43 [V59,T23] ( 16, 6.98) int -> [fp+0xC4] "Inline stloc first use temp"
-; V60 tmp44 [V60,T43] ( 6, 4.28) ref -> x2 class-hnd "Inline return value spill temp" <System.Object>
-; V61 tmp45 [V61,T21] ( 6, 7.66) int -> x3 "Inlining Arg"
+; V57 tmp41 [V57,T17] ( 4, 8.70) int -> x28 "Inlining Arg"
+; V58 tmp42 [V58,T20] ( 12, 8.31) ref -> x28 class-hnd "Inline stloc first use temp" <System.Object[]>
+; V59 tmp43 [V59,T24] ( 16, 6.98) int -> [fp+0xB4] "Inline stloc first use temp"
+; V60 tmp44 [V60,T44] ( 6, 4.28) ref -> x2 class-hnd "Inline return value spill temp" <System.Object>
+; V61 tmp45 [V61,T22] ( 6, 7.66) int -> x3 "Inlining Arg"
;* V62 tmp46 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V63 tmp47 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V64 tmp48 [V64,T32] ( 6, 5.24) ref -> x27 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
+; V64 tmp48 [V64,T33] ( 6, 5.24) ref -> x27 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
;* V65 tmp49 [V65 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V66 tmp50 [V66,T14] ( 4, 8.70) ref -> x1 class-hnd "impAppendStmt" <<unknown class>>
-; V67 tmp51 [V67,T46] ( 6, 1.44) ref -> x4 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-;* V68 tmp52 [V68,T51] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V69 tmp53 [V69 ] ( 8, 0 ) struct (24) [fp+0xA8] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V70 tmp54 [V70,T08] ( 12, 8.70) ref -> [fp+0x40] class-hnd "Inline stloc first use temp" <<unknown class>>
-; V71 tmp55 [V71,T37] ( 8, 4.35) ref -> [fp+0x38] class-hnd "Inline stloc first use temp" <System.Collections.Generic.IEqualityComparer`1[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey]>
-; V72 tmp56 [V72,T79] ( 6, 0 ) int -> [fp+0xA4] "Inline stloc first use temp"
-; V73 tmp57 [V73,T74] ( 14, 0 ) ref -> [fp+0x30] class-hnd "Inline stloc first use temp" <<unknown class>>
-; V74 tmp58 [V74,T31] ( 6, 5.66) int -> [fp+0xA0] "Inline stloc first use temp"
-; V75 tmp59 [V75,T03] ( 16, 15.58) ref -> [fp+0x28] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V66 tmp50 [V66,T15] ( 4, 8.70) ref -> x1 class-hnd "impAppendStmt" <<unknown class>>
+; V67 tmp51 [V67,T07] ( 6, 9.60) ref -> x27 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
+;* V68 tmp52 [V68,T49] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V69 tmp53 [V69 ] ( 8, 0 ) struct (24) [fp+0x98] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V70 tmp54 [V70,T09] ( 12, 8.70) ref -> [fp+0x30] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V71 tmp55 [V71,T38] ( 8, 4.35) ref -> [fp+0x28] class-hnd "Inline stloc first use temp" <System.Collections.Generic.IEqualityComparer`1[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey]>
+; V72 tmp56 [V72,T81] ( 6, 0 ) int -> [fp+0x94] "Inline stloc first use temp"
+; V73 tmp57 [V73,T76] ( 14, 0 ) ref -> [fp+0x20] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V74 tmp58 [V74,T32] ( 6, 5.66) int -> [fp+0x90] "Inline stloc first use temp"
+; V75 tmp59 [V75,T01] ( 16, 23.74) ref -> [fp+0x18] class-hnd "Inline stloc first use temp" <<unknown class>>
;* V76 tmp60 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V77 tmp61 [V77 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V78 tmp62 [V78,T41] ( 4, 4.35) int -> x0 "Inline return value spill temp"
+; V78 tmp62 [V78,T42] ( 4, 4.35) int -> x0 "Inline return value spill temp"
;* V79 tmp63 [V79 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V80 tmp64 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling ret_expr" <System.Type>
-; V81 tmp65 [V81,T38] ( 6, 4.35) int -> x0 "guarded devirt return temp"
+; V81 tmp65 [V81,T39] ( 6, 4.35) int -> x0 "guarded devirt return temp"
;* V82 tmp66 [V82 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V83 tmp67 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <<unknown class>>
-; V84 tmp68 [V84,T25] ( 7, 6.54) ref -> x4 class-hnd "Inline stloc first use temp" <<unknown class>>
+; V84 tmp68 [V84,T26] ( 7, 6.54) ref -> x6 class-hnd "Inline stloc first use temp" <<unknown class>>
;* V85 tmp69 [V85 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V86 tmp70 [V86 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V87 tmp71 [V87,T26] ( 6, 6.52) int -> x3 "Inline stloc first use temp"
+; V87 tmp71 [V87,T27] ( 6, 6.52) int -> x7 "Inline stloc first use temp"
;* V88 tmp72 [V88 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V89 tmp73 [V89 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V90 tmp74 [V90 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-;* V91 tmp75 [V91,T62] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V91 tmp75 [V91,T63] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V92 tmp76 [V92 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V93 tmp77 [V93 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V94 tmp78 [V94 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V95 tmp79 [V95 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V96 tmp80 [V96,T59] ( 4, 1.10) ubyte -> x10 "Inline return value spill temp"
+; V96 tmp80 [V96,T60] ( 4, 1.10) ubyte -> x13 "Inline return value spill temp"
;* V97 tmp81 [V97 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V98 tmp82 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Type>
;* V99 tmp83 [V99 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Object>
;* V100 tmp84 [V100 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Type>
-; V101 tmp85 [V101,T58] ( 8, 1.10) ubyte -> x10 "Inline return value spill temp"
+; V101 tmp85 [V101,T59] ( 8, 1.10) ubyte -> x13 "Inline return value spill temp"
;* V102 tmp86 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
-; V103 tmp87 [V103,T50] ( 4, 1.97) ref -> x11 class-hnd "spilling QMark2" <System.RuntimeType>
-; V104 tmp88 [V104,T83] ( 4, 0 ) int -> registers "Inline return value spill temp"
-; V105 tmp89 [V105 ] ( 8, 0 ) struct (24) [fp+0x88] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V103 tmp87 [V103,T52] ( 4, 1.97) ref -> x14 class-hnd "spilling QMark2" <System.RuntimeType>
+; V104 tmp88 [V104,T85] ( 4, 0 ) int -> registers "Inline return value spill temp"
+; V105 tmp89 [V105 ] ( 8, 0 ) struct (24) [fp+0x78] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V106 tmp90 [V106 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <<unknown class>>
-; V107 tmp91 [V107,T75] ( 8, 0 ) ref -> x6 class-hnd "Inline stloc first use temp" <<unknown class>>
+; V107 tmp91 [V107,T77] ( 8, 0 ) ref -> x6 class-hnd "Inline stloc first use temp" <<unknown class>>
;* V108 tmp92 [V108 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V109 tmp93 [V109 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V110 tmp94 [V110,T80] ( 6, 0 ) int -> x7 "Inline stloc first use temp"
-; V111 tmp95 [V111,T47] ( 7, 1.22) ref -> x24 single-def "field V01.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V112 tmp96 [V112,T49] ( 1, 1 ) ref -> x2 single-def "field V01.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-; V113 tmp97 [V113,T81] ( 4, 0 ) ref -> x1 "field V15.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V114 tmp98 [V114,T82] ( 4, 0 ) ref -> x2 "field V15.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V115 tmp99 [V115,T52] ( 0, 0 ) ref -> zero-ref "field V21.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V116 tmp100 [V116,T22] ( 15, 7.57) ref -> x27 "field V21.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-; V117 tmp101 [V117 ] ( 6, 5.02) ref -> [fp+0xF8] do-not-enreg[X] addr-exposed "field V33._items (fldOffset=0x0)" P-DEP
-; V118 tmp102 [V118 ] ( 6, 5.33) ref -> [fp+0x100] do-not-enreg[X] addr-exposed "field V33._item (fldOffset=0x8)" P-DEP
-; V119 tmp103 [V119 ] ( 14, 13.72) int -> [fp+0x108] do-not-enreg[X] addr-exposed "field V33._count (fldOffset=0x10)" P-DEP
-; V120 tmp104 [V120 ] ( 4, 4.35) int -> [fp+0x10C] do-not-enreg[X] addr-exposed "field V33._capacity (fldOffset=0x14)" P-DEP
-; V121 tmp105 [V121 ] ( 10, 8.63) ref -> [fp+0xE0] do-not-enreg[X] addr-exposed "field V53._items (fldOffset=0x0)" P-DEP
-; V122 tmp106 [V122 ] ( 6, 6.42) ref -> [fp+0xE8] do-not-enreg[X] addr-exposed "field V53._item (fldOffset=0x8)" P-DEP
-; V123 tmp107 [V123 ] ( 12, 8.96) int -> [fp+0xF0] do-not-enreg[X] addr-exposed "field V53._count (fldOffset=0x10)" P-DEP
-; V124 tmp108 [V124 ] ( 4, 4.35) int -> [fp+0xF4] do-not-enreg[X] addr-exposed "field V53._capacity (fldOffset=0x14)" P-DEP
-;* V125 tmp109 [V125,T53] ( 0, 0 ) ref -> zero-ref "field V63.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V126 tmp110 [V126,T40] ( 4, 4.35) ref -> x27 "field V63.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V110 tmp94 [V110,T82] ( 6, 0 ) int -> x7 "Inline stloc first use temp"
+; V111 tmp95 [V111,T48] ( 7, 1.22) ref -> x24 single-def "field V01.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V112 tmp96 [V112,T51] ( 1, 1 ) ref -> x2 single-def "field V01.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V113 tmp97 [V113,T83] ( 4, 0 ) ref -> x1 "field V15.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V114 tmp98 [V114,T84] ( 4, 0 ) ref -> x2 "field V15.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V115 tmp99 [V115,T53] ( 0, 0 ) ref -> zero-ref "field V21.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V116 tmp100 [V116,T23] ( 15, 7.57) ref -> x27 "field V21.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V117 tmp101 [V117 ] ( 6, 5.02) ref -> [fp+0xE8] do-not-enreg[X] addr-exposed "field V33._items (fldOffset=0x0)" P-DEP
+; V118 tmp102 [V118 ] ( 6, 5.33) ref -> [fp+0xF0] do-not-enreg[X] addr-exposed "field V33._item (fldOffset=0x8)" P-DEP
+; V119 tmp103 [V119 ] ( 14, 13.72) int -> [fp+0xF8] do-not-enreg[X] addr-exposed "field V33._count (fldOffset=0x10)" P-DEP
+; V120 tmp104 [V120 ] ( 4, 4.35) int -> [fp+0xFC] do-not-enreg[X] addr-exposed "field V33._capacity (fldOffset=0x14)" P-DEP
+; V121 tmp105 [V121 ] ( 10, 8.63) ref -> [fp+0xD0] do-not-enreg[X] addr-exposed "field V53._items (fldOffset=0x0)" P-DEP
+; V122 tmp106 [V122 ] ( 6, 6.42) ref -> [fp+0xD8] do-not-enreg[X] addr-exposed "field V53._item (fldOffset=0x8)" P-DEP
+; V123 tmp107 [V123 ] ( 12, 8.96) int -> [fp+0xE0] do-not-enreg[X] addr-exposed "field V53._count (fldOffset=0x10)" P-DEP
+; V124 tmp108 [V124 ] ( 4, 4.35) int -> [fp+0xE4] do-not-enreg[X] addr-exposed "field V53._capacity (fldOffset=0x14)" P-DEP
+;* V125 tmp109 [V125,T54] ( 0, 0 ) ref -> zero-ref "field V63.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V126 tmp110 [V126,T41] ( 4, 4.35) ref -> x27 "field V63.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
;* V127 tmp111 [V127 ] ( 0, 0 ) ref -> zero-ref "field V76.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
;* V128 tmp112 [V128 ] ( 0, 0 ) ref -> zero-ref "field V76.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
;* V129 tmp113 [V129 ] ( 0, 0 ) ref -> zero-ref "field V92.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
@@ -147,36 +147,38 @@
;* V135 tmp119 [V135 ] ( 0, 0 ) int -> zero-ref "V65.[000..004)"
;* V136 tmp120 [V136 ] ( 0, 0 ) ref -> zero-ref "V65.[008..016)"
;* V137 tmp121 [V137 ] ( 0, 0 ) ref -> zero-ref "V65.[016..024)"
-;* V138 tmp122 [V138,T55] ( 0, 0 ) int -> zero-ref "V69.[000..004)"
-;* V139 tmp123 [V139,T54] ( 0, 0 ) ref -> zero-ref "V69.[008..016)"
-; V140 tmp124 [V140,T24] ( 13, 6.54) ref -> x0 "V69.[016..024)"
-; V141 tmp125 [V141,T61] ( 4, 1.10) int -> [fp+0x84] "V89.[000..004)"
-; V142 tmp126 [V142,T60] ( 4, 1.10) ref -> x8 "V89.[008..016)"
-; V143 tmp127 [V143,T56] ( 12, 2.09) ref -> [fp+0x20] "V89.[016..024)"
+;* V138 tmp122 [V138,T56] ( 0, 0 ) int -> zero-ref "V69.[000..004)"
+;* V139 tmp123 [V139,T55] ( 0, 0 ) ref -> zero-ref "V69.[008..016)"
+; V140 tmp124 [V140,T25] ( 13, 6.54) ref -> x0 "V69.[016..024)"
+; V141 tmp125 [V141,T62] ( 4, 1.10) int -> [fp+0x74] "V89.[000..004)"
+; V142 tmp126 [V142,T61] ( 4, 1.10) ref -> x11 "V89.[008..016)"
+; V143 tmp127 [V143,T57] ( 12, 2.09) ref -> x0 "V89.[016..024)"
;* V144 tmp128 [V144 ] ( 0, 0 ) int -> zero-ref "V93.[000..004)"
;* V145 tmp129 [V145 ] ( 0, 0 ) ref -> zero-ref "V93.[008..016)"
;* V146 tmp130 [V146 ] ( 0, 0 ) ref -> zero-ref "V93.[016..024)"
-; V147 tmp131 [V147,T34] ( 8, 4.40) byref -> x6 "Spilling address for field-by-field copy"
-; V148 tmp132 [V148,T70] ( 6, 0.00) ref -> x3 "arr expr"
-; V149 tmp133 [V149,T71] ( 6, 0.00) int -> x2 "index expr"
-; V150 tmp134 [V150,T87] ( 2, 0 ) ref -> x1 "argument with side effect"
-; V151 tmp135 [V151 ] ( 8, 0 ) struct (24) [fp+0x68] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V152 tmp136 [V152,T88] ( 2, 0 ) ref -> x0 "argument with side effect"
-; V153 tmp137 [V153,T89] ( 2, 0 ) ref -> x1 "argument with side effect"
-; V154 cse0 [V154,T42] ( 2, 4.30) int -> x2 "CSE - moderate"
-; V155 cse1 [V155,T68] ( 2, 0.04) int -> x2 "CSE - conservative"
-; V156 cse2 [V156,T17] ( 4, 8.61) ref -> x1 "CSE - moderate"
+; V147 tmp131 [V147,T35] ( 8, 4.40) byref -> x9 "Spilling address for field-by-field copy"
+; V148 tmp132 [V148,T72] ( 6, 0.00) ref -> x3 "arr expr"
+; V149 tmp133 [V149,T73] ( 6, 0.00) int -> x2 "index expr"
+; V150 tmp134 [V150,T89] ( 2, 0 ) ref -> x1 "argument with side effect"
+; V151 tmp135 [V151 ] ( 8, 0 ) struct (24) [fp+0x58] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V152 tmp136 [V152,T90] ( 2, 0 ) ref -> x0 "argument with side effect"
+; V153 tmp137 [V153,T91] ( 2, 0 ) ref -> x1 "argument with side effect"
+; V154 cse0 [V154,T43] ( 2, 4.30) int -> x4 "CSE - moderate"
+; V155 cse1 [V155,T69] ( 2, 0.04) int -> x4 "CSE - conservative"
+; V156 cse2 [V156,T18] ( 4, 8.61) ref -> x1 "CSE - moderate"
...
-48 (-1.02%) : 123009.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
@@ -9,133 +9,133 @@
; 19 inlinees with PGO data; 57 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T19] ( 8, 6.18) ref -> x20 this class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory>
+; V00 this [V00,T20] ( 8, 6.18) ref -> x20 this class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory>
;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V02 arg2 [V02,T44] ( 3, 2 ) ref -> x23 class-hnd single-def <System.Type>
-; V03 arg3 [V03,T27] ( 6, 4.09) ref -> x21 class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
+; V02 arg2 [V02,T45] ( 3, 2 ) ref -> x23 class-hnd single-def <System.Type>
+; V03 arg3 [V03,T28] ( 6, 4.09) ref -> x21 class-hnd single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
; V04 arg4 [V04,T04] ( 19, 12.03) ref -> x19 class-hnd single-def <System.Reflection.ParameterInfo[]>
-; V05 arg5 [V05,T42] ( 3, 2.04) ubyte -> x22 single-def
-; V06 loc0 [V06,T30] ( 6, 5.73) ref -> x25 class-hnd exact single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V05 arg5 [V05,T43] ( 3, 2.04) ubyte -> x22 single-def
+; V06 loc0 [V06,T31] ( 6, 5.73) ref -> x25 class-hnd exact single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V07 loc1 [V07,T03] ( 18, 15.44) int -> x26
; V08 loc2 [V08,T05] ( 18, 13.53) ref -> x27 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-; V09 loc3 [V09,T34] ( 15, 4.22) ref -> [fp+0x60] class-hnd <System.Type>
-; V10 loc4 [V10 ] ( 4, 0.12) ref -> [fp+0x118] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-; V11 loc5 [V11,T32] ( 8, 4.57) ref -> x28 class-hnd <System.Object[]>
-; V12 loc6 [V12,T48] ( 10, 2.87) int -> [fp+0x114]
-; V13 loc7 [V13,T62] ( 8, 0.43) ref -> [fp+0x58] class-hnd <System.Object>
-; V14 loc8 [V14,T65] ( 6, 0.39) ref -> x5 class-hnd <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
+; V09 loc3 [V09,T35] ( 15, 4.22) ref -> [fp+0x50] class-hnd <System.Type>
+; V10 loc4 [V10 ] ( 4, 0.12) ref -> [fp+0x108] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
+; V11 loc5 [V11,T33] ( 8, 4.57) ref -> x28 class-hnd <System.Object[]>
+; V12 loc6 [V12,T50] ( 10, 2.87) int -> [fp+0x104]
+; V13 loc7 [V13,T63] ( 8, 0.43) ref -> [fp+0x48] class-hnd <System.Object>
+; V14 loc8 [V14,T66] ( 6, 0.39) ref -> x5 class-hnd <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
;* V15 loc9 [V15 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;# V16 OutArgs [V16 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V17 tmp1 [V17,T77] ( 6, 0 ) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
-; V18 tmp2 [V18,T85] ( 3, 0 ) ref -> x28 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V19 tmp3 [V19,T86] ( 3, 0 ) ref -> x27 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V20 tmp4 [V20,T67] ( 6, 0.24) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V17 tmp1 [V17,T79] ( 6, 0 ) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V18 tmp2 [V18,T87] ( 3, 0 ) ref -> x28 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V19 tmp3 [V19,T88] ( 3, 0 ) ref -> x24 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V20 tmp4 [V20,T68] ( 6, 0.24) ref -> x27 class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
;* V21 tmp5 [V21 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V22 tmp6 [V22,T38] ( 4, 4.18) ref -> x2 "guarded devirt return temp"
-; V23 tmp7 [V23,T01] ( 22, 17.23) ref -> [fp+0x50] "guarded devirt arg temp"
+; V22 tmp6 [V22,T39] ( 4, 4.18) ref -> x2 "guarded devirt return temp"
+; V23 tmp7 [V23,T02] ( 22, 17.23) ref -> [fp+0x40] "guarded devirt arg temp"
;* V24 tmp8 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V25 tmp9 [V25,T35] ( 8, 4.18) ref -> x28 "guarded devirt return temp"
+; V25 tmp9 [V25,T36] ( 8, 4.18) ref -> x28 "guarded devirt return temp"
; V26 tmp10 [V26,T00] ( 19, 25.10) ref -> x28 "guarded devirt arg temp"
;* V27 tmp11 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V28 tmp12 [V28,T68] ( 8, 0.20) ref -> [fp+0x48] class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V28 tmp12 [V28,T69] ( 8, 0.20) ref -> [fp+0x38] class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V29 tmp13 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V30 tmp14 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V31 tmp15 [V31 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V32 tmp16 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Object[]>
-; V33 tmp17 [V33 ] ( 18, 8.60) struct (24) [fp+0xF8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Attribute]>
-; V34 tmp18 [V34,T10] ( 10, 8.35) ref -> x1 class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
-; V35 tmp19 [V35,T16] ( 4, 8.35) int -> x2 "impAppendStmt"
+; V33 tmp17 [V33 ] ( 18, 8.60) struct (24) [fp+0xE8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Attribute]>
+; V34 tmp18 [V34,T11] ( 10, 8.35) ref -> x1 class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
+; V35 tmp19 [V35,T17] ( 4, 8.35) int -> x2 "impAppendStmt"
;* V36 tmp20 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Object[]>
;* V37 tmp21 [V37 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V38 tmp22 [V38,T12] ( 4, 8.35) ref -> x2 "CASTCLASS eval op1"
+; V38 tmp22 [V38,T13] ( 4, 8.35) ref -> x2 "CASTCLASS eval op1"
;* V39 tmp23 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
-; V40 tmp24 [V40,T20] ( 12, 7.83) ref -> x2 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
-; V41 tmp25 [V41,T13] ( 4, 8.35) ref -> x3 "CASTCLASS eval op1"
+; V40 tmp24 [V40,T21] ( 12, 7.83) ref -> x2 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeMethodInfo>
+; V41 tmp25 [V41,T14] ( 4, 8.35) ref -> x3 "CASTCLASS eval op1"
;* V42 tmp26 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimeConstructorInfo>
-; V43 tmp27 [V43,T08] ( 12, 9.92) ref -> x3 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
-; V44 tmp28 [V44,T14] ( 4, 8.35) ref -> x1 "CASTCLASS eval op1"
+; V43 tmp27 [V43,T09] ( 12, 9.92) ref -> x3 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
+; V44 tmp28 [V44,T15] ( 4, 8.35) ref -> x1 "CASTCLASS eval op1"
;* V45 tmp29 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimePropertyInfo>
-; V46 tmp30 [V46,T29] ( 12, 5.74) ref -> x1 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
+; V46 tmp30 [V46,T30] ( 12, 5.74) ref -> x1 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
;* V47 tmp31 [V47 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V48 tmp32 [V48,T78] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V48 tmp32 [V48,T80] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V49 tmp33 [V49 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V50 tmp34 [V50 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V51 tmp35 [V51,T79] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V51 tmp35 [V51,T81] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V52 tmp36 [V52 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Object[]>
-; V53 tmp37 [V53 ] ( 20, 19.56) struct (24) [fp+0xE0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
-; V54 tmp38 [V54 ] ( 4, 4.18) struct (24) [fp+0xC8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
+; V53 tmp37 [V53 ] ( 20, 19.56) struct (24) [fp+0xD0] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
+; V54 tmp38 [V54 ] ( 4, 4.18) struct (24) [fp+0xB8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Object]>
;* V55 tmp39 [V55 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.RuntimeType>
;* V56 tmp40 [V56 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.RuntimeType>
-; V57 tmp41 [V57,T17] ( 4, 8.35) int -> x28 "Inlining Arg"
-; V58 tmp42 [V58,T33] ( 12, 4.54) ref -> x28 class-hnd "Inline stloc first use temp" <System.Object[]>
-; V59 tmp43 [V59,T07] ( 16, 10.22) int -> [fp+0xC4] "Inline stloc first use temp"
-; V60 tmp44 [V60,T21] ( 6, 7.25) ref -> x2 class-hnd "Inline return value spill temp" <System.Object>
-; V61 tmp45 [V61,T66] ( 6, 0.28) int -> x3 "Inlining Arg"
+; V57 tmp41 [V57,T18] ( 4, 8.35) int -> x28 "Inlining Arg"
+; V58 tmp42 [V58,T34] ( 12, 4.54) ref -> x28 class-hnd "Inline stloc first use temp" <System.Object[]>
+; V59 tmp43 [V59,T08] ( 16, 10.22) int -> [fp+0xB4] "Inline stloc first use temp"
+; V60 tmp44 [V60,T22] ( 6, 7.25) ref -> x2 class-hnd "Inline return value spill temp" <System.Object>
+; V61 tmp45 [V61,T67] ( 6, 0.28) int -> x3 "Inlining Arg"
;* V62 tmp46 [V62 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V63 tmp47 [V63 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V64 tmp48 [V64,T31] ( 6, 5.04) ref -> x27 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
+; V64 tmp48 [V64,T32] ( 6, 5.04) ref -> x27 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
;* V65 tmp49 [V65 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V66 tmp50 [V66,T15] ( 4, 8.35) ref -> x1 class-hnd "impAppendStmt" <<unknown class>>
-; V67 tmp51 [V67,T45] ( 6, 1.44) ref -> x4 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-;* V68 tmp52 [V68,T50] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V69 tmp53 [V69 ] ( 8, 0 ) struct (24) [fp+0xA8] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V70 tmp54 [V70,T09] ( 12, 8.35) ref -> [fp+0x40] class-hnd "Inline stloc first use temp" <<unknown class>>
-; V71 tmp55 [V71,T36] ( 8, 4.18) ref -> [fp+0x38] class-hnd "Inline stloc first use temp" <System.Collections.Generic.IEqualityComparer`1[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey]>
-; V72 tmp56 [V72,T80] ( 6, 0 ) int -> [fp+0xA4] "Inline stloc first use temp"
-; V73 tmp57 [V73,T75] ( 14, 0 ) ref -> [fp+0x30] class-hnd "Inline stloc first use temp" <<unknown class>>
-; V74 tmp58 [V74,T28] ( 6, 5.85) int -> [fp+0xA0] "Inline stloc first use temp"
-; V75 tmp59 [V75,T02] ( 16, 16.70) ref -> [fp+0x28] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V66 tmp50 [V66,T16] ( 4, 8.35) ref -> x1 class-hnd "impAppendStmt" <<unknown class>>
+; V67 tmp51 [V67,T07] ( 6, 8.90) ref -> x27 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
+;* V68 tmp52 [V68,T49] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+; V69 tmp53 [V69 ] ( 8, 0 ) struct (24) [fp+0x98] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V70 tmp54 [V70,T10] ( 12, 8.35) ref -> [fp+0x30] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V71 tmp55 [V71,T37] ( 8, 4.18) ref -> [fp+0x28] class-hnd "Inline stloc first use temp" <System.Collections.Generic.IEqualityComparer`1[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey]>
+; V72 tmp56 [V72,T82] ( 6, 0 ) int -> [fp+0x94] "Inline stloc first use temp"
+; V73 tmp57 [V73,T77] ( 14, 0 ) ref -> [fp+0x20] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V74 tmp58 [V74,T29] ( 6, 5.85) int -> [fp+0x90] "Inline stloc first use temp"
+; V75 tmp59 [V75,T01] ( 16, 24.17) ref -> [fp+0x18] class-hnd "Inline stloc first use temp" <<unknown class>>
;* V76 tmp60 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V77 tmp61 [V77 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V78 tmp62 [V78,T40] ( 4, 4.18) int -> x0 "Inline return value spill temp"
+; V78 tmp62 [V78,T41] ( 4, 4.18) int -> x0 "Inline return value spill temp"
;* V79 tmp63 [V79 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V80 tmp64 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling ret_expr" <System.Type>
-; V81 tmp65 [V81,T37] ( 6, 4.18) int -> x0 "guarded devirt return temp"
+; V81 tmp65 [V81,T38] ( 6, 4.18) int -> x0 "guarded devirt return temp"
;* V82 tmp66 [V82 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V83 tmp67 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <<unknown class>>
-; V84 tmp68 [V84,T24] ( 7, 6.29) ref -> registers class-hnd "Inline stloc first use temp" <<unknown class>>
+; V84 tmp68 [V84,T25] ( 7, 6.29) ref -> x6 class-hnd "Inline stloc first use temp" <<unknown class>>
;* V85 tmp69 [V85 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V86 tmp70 [V86 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V87 tmp71 [V87,T25] ( 6, 6.26) int -> x3 "Inline stloc first use temp"
+; V87 tmp71 [V87,T26] ( 6, 6.26) int -> x7 "Inline stloc first use temp"
;* V88 tmp72 [V88 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V89 tmp73 [V89 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V90 tmp74 [V90 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-;* V91 tmp75 [V91,T61] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V91 tmp75 [V91,T62] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V92 tmp76 [V92 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V93 tmp77 [V93 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V94 tmp78 [V94 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V95 tmp79 [V95 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V96 tmp80 [V96,T58] ( 4, 1.01) ubyte -> x10 "Inline return value spill temp"
+; V96 tmp80 [V96,T59] ( 4, 1.01) ubyte -> x13 "Inline return value spill temp"
;* V97 tmp81 [V97 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
;* V98 tmp82 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Type>
;* V99 tmp83 [V99 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Object>
;* V100 tmp84 [V100 ] ( 0, 0 ) ref -> zero-ref class-hnd "impAppendStmt" <System.Type>
-; V101 tmp85 [V101,T57] ( 8, 1.01) ubyte -> x10 "Inline return value spill temp"
+; V101 tmp85 [V101,T58] ( 8, 1.01) ubyte -> x13 "Inline return value spill temp"
;* V102 tmp86 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
-; V103 tmp87 [V103,T49] ( 4, 1.90) ref -> x11 class-hnd "spilling QMark2" <System.RuntimeType>
-; V104 tmp88 [V104,T84] ( 4, 0 ) int -> registers "Inline return value spill temp"
-; V105 tmp89 [V105 ] ( 8, 0 ) struct (24) [fp+0x88] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V103 tmp87 [V103,T51] ( 4, 1.90) ref -> x14 class-hnd "spilling QMark2" <System.RuntimeType>
+; V104 tmp88 [V104,T86] ( 4, 0 ) int -> registers "Inline return value spill temp"
+; V105 tmp89 [V105 ] ( 8, 0 ) struct (24) [fp+0x78] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V106 tmp90 [V106 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <<unknown class>>
-; V107 tmp91 [V107,T76] ( 8, 0 ) ref -> x6 class-hnd "Inline stloc first use temp" <<unknown class>>
+; V107 tmp91 [V107,T78] ( 8, 0 ) ref -> x6 class-hnd "Inline stloc first use temp" <<unknown class>>
;* V108 tmp92 [V108 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V109 tmp93 [V109 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V110 tmp94 [V110,T81] ( 6, 0 ) int -> x7 "Inline stloc first use temp"
-; V111 tmp95 [V111,T46] ( 7, 1.20) ref -> x24 single-def "field V01.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V112 tmp96 [V112,T47] ( 1, 1 ) ref -> x2 single-def "field V01.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-; V113 tmp97 [V113,T82] ( 4, 0 ) ref -> x1 "field V15.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V114 tmp98 [V114,T83] ( 4, 0 ) ref -> x2 "field V15.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-;* V115 tmp99 [V115,T51] ( 0, 0 ) ref -> zero-ref "field V21.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V116 tmp100 [V116,T22] ( 15, 7.25) ref -> x27 "field V21.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
-; V117 tmp101 [V117 ] ( 6, 4.20) ref -> [fp+0xF8] do-not-enreg[X] addr-exposed "field V33._items (fldOffset=0x0)" P-DEP
-; V118 tmp102 [V118 ] ( 6, 4.21) ref -> [fp+0x100] do-not-enreg[X] addr-exposed "field V33._item (fldOffset=0x8)" P-DEP
-; V119 tmp103 [V119 ] ( 14, 8.54) int -> [fp+0x108] do-not-enreg[X] addr-exposed "field V33._count (fldOffset=0x10)" P-DEP
-; V120 tmp104 [V120 ] ( 4, 4.18) int -> [fp+0x10C] do-not-enreg[X] addr-exposed "field V33._capacity (fldOffset=0x14)" P-DEP
-; V121 tmp105 [V121 ] ( 10, 11.43) ref -> [fp+0xE0] do-not-enreg[X] addr-exposed "field V53._items (fldOffset=0x0)" P-DEP
-; V122 tmp106 [V122 ] ( 6, 7.69) ref -> [fp+0xE8] do-not-enreg[X] addr-exposed "field V53._item (fldOffset=0x8)" P-DEP
-; V123 tmp107 [V123 ] ( 12, 8.79) int -> [fp+0xF0] do-not-enreg[X] addr-exposed "field V53._count (fldOffset=0x10)" P-DEP
-; V124 tmp108 [V124 ] ( 4, 4.18) int -> [fp+0xF4] do-not-enreg[X] addr-exposed "field V53._capacity (fldOffset=0x14)" P-DEP
-;* V125 tmp109 [V125,T52] ( 0, 0 ) ref -> zero-ref "field V63.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
-; V126 tmp110 [V126,T39] ( 4, 4.18) ref -> x27 "field V63.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V110 tmp94 [V110,T83] ( 6, 0 ) int -> x7 "Inline stloc first use temp"
+; V111 tmp95 [V111,T47] ( 7, 1.20) ref -> x24 single-def "field V01.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V112 tmp96 [V112,T48] ( 1, 1 ) ref -> x2 single-def "field V01.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V113 tmp97 [V113,T84] ( 4, 0 ) ref -> x1 "field V15.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V114 tmp98 [V114,T85] ( 4, 0 ) ref -> x2 "field V15.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+;* V115 tmp99 [V115,T52] ( 0, 0 ) ref -> zero-ref "field V21.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V116 tmp100 [V116,T23] ( 15, 7.25) ref -> x27 "field V21.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
+; V117 tmp101 [V117 ] ( 6, 4.20) ref -> [fp+0xE8] do-not-enreg[X] addr-exposed "field V33._items (fldOffset=0x0)" P-DEP
+; V118 tmp102 [V118 ] ( 6, 4.21) ref -> [fp+0xF0] do-not-enreg[X] addr-exposed "field V33._item (fldOffset=0x8)" P-DEP
+; V119 tmp103 [V119 ] ( 14, 8.54) int -> [fp+0xF8] do-not-enreg[X] addr-exposed "field V33._count (fldOffset=0x10)" P-DEP
+; V120 tmp104 [V120 ] ( 4, 4.18) int -> [fp+0xFC] do-not-enreg[X] addr-exposed "field V33._capacity (fldOffset=0x14)" P-DEP
+; V121 tmp105 [V121 ] ( 10, 11.43) ref -> [fp+0xD0] do-not-enreg[X] addr-exposed "field V53._items (fldOffset=0x0)" P-DEP
+; V122 tmp106 [V122 ] ( 6, 7.69) ref -> [fp+0xD8] do-not-enreg[X] addr-exposed "field V53._item (fldOffset=0x8)" P-DEP
+; V123 tmp107 [V123 ] ( 12, 8.79) int -> [fp+0xE0] do-not-enreg[X] addr-exposed "field V53._count (fldOffset=0x10)" P-DEP
+; V124 tmp108 [V124 ] ( 4, 4.18) int -> [fp+0xE4] do-not-enreg[X] addr-exposed "field V53._capacity (fldOffset=0x14)" P-DEP
+;* V125 tmp109 [V125,T53] ( 0, 0 ) ref -> zero-ref "field V63.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
+; V126 tmp110 [V126,T40] ( 4, 4.18) ref -> x27 "field V63.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
;* V127 tmp111 [V127 ] ( 0, 0 ) ref -> zero-ref "field V76.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
;* V128 tmp112 [V128 ] ( 0, 0 ) ref -> zero-ref "field V76.<ServiceType>k__BackingField (fldOffset=0x8)" P-INDEP
;* V129 tmp113 [V129 ] ( 0, 0 ) ref -> zero-ref "field V92.<ServiceKey>k__BackingField (fldOffset=0x0)" P-INDEP
@@ -147,36 +147,38 @@
;* V135 tmp119 [V135 ] ( 0, 0 ) int -> zero-ref "V65.[000..004)"
;* V136 tmp120 [V136 ] ( 0, 0 ) ref -> zero-ref "V65.[008..016)"
;* V137 tmp121 [V137 ] ( 0, 0 ) ref -> zero-ref "V65.[016..024)"
-;* V138 tmp122 [V138,T54] ( 0, 0 ) int -> zero-ref "V69.[000..004)"
-;* V139 tmp123 [V139,T53] ( 0, 0 ) ref -> zero-ref "V69.[008..016)"
-; V140 tmp124 [V140,T23] ( 13, 6.29) ref -> x0 "V69.[016..024)"
-; V141 tmp125 [V141,T60] ( 4, 1.01) int -> [fp+0x84] "V89.[000..004)"
-; V142 tmp126 [V142,T59] ( 4, 1.01) ref -> x8 "V89.[008..016)"
-; V143 tmp127 [V143,T55] ( 12, 1.95) ref -> [fp+0x20] "V89.[016..024)"
+;* V138 tmp122 [V138,T55] ( 0, 0 ) int -> zero-ref "V69.[000..004)"
+;* V139 tmp123 [V139,T54] ( 0, 0 ) ref -> zero-ref "V69.[008..016)"
+; V140 tmp124 [V140,T24] ( 13, 6.29) ref -> x0 "V69.[016..024)"
+; V141 tmp125 [V141,T61] ( 4, 1.01) int -> [fp+0x74] "V89.[000..004)"
+; V142 tmp126 [V142,T60] ( 4, 1.01) ref -> x11 "V89.[008..016)"
+; V143 tmp127 [V143,T56] ( 12, 1.95) ref -> x0 "V89.[016..024)"
;* V144 tmp128 [V144 ] ( 0, 0 ) int -> zero-ref "V93.[000..004)"
;* V145 tmp129 [V145 ] ( 0, 0 ) ref -> zero-ref "V93.[008..016)"
;* V146 tmp130 [V146 ] ( 0, 0 ) ref -> zero-ref "V93.[016..024)"
-; V147 tmp131 [V147,T43] ( 8, 4.02) byref -> x6 "Spilling address for field-by-field copy"
-; V148 tmp132 [V148,T63] ( 6, 0.39) ref -> x3 "arr expr"
-; V149 tmp133 [V149,T64] ( 6, 0.39) int -> x2 "index expr"
-; V150 tmp134 [V150,T87] ( 2, 0 ) ref -> x1 "argument with side effect"
-; V151 tmp135 [V151 ] ( 8, 0 ) struct (24) [fp+0x68] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-; V152 tmp136 [V152,T88] ( 2, 0 ) ref -> x0 "argument with side effect"
-; V153 tmp137 [V153,T89] ( 2, 0 ) ref -> x1 "argument with side effect"
-; V154 cse0 [V154,T41] ( 2, 4.13) int -> x2 "CSE - moderate"
-; V155 cse1 [V155,T72] ( 2, 0.04) int -> x2 "CSE - conservative"
-; V156 cse2 [V156,T18] ( 4, 8.27) ref -> x1 "CSE - moderate"
+; V147 tmp131 [V147,T44] ( 8, 4.02) byref -> x9 "Spilling address for field-by-field copy"
+; V148 tmp132 [V148,T64] ( 6, 0.39) ref -> x3 "arr expr"
+; V149 tmp133 [V149,T65] ( 6, 0.39) int -> x2 "index expr"
+; V150 tmp134 [V150,T89] ( 2, 0 ) ref -> x1 "argument with side effect"
+; V151 tmp135 [V151 ] ( 8, 0 ) struct (24) [fp+0x58] do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
+; V152 tmp136 [V152,T90] ( 2, 0 ) ref -> x0 "argument with side effect"
+; V153 tmp137 [V153,T91] ( 2, 0 ) ref -> x1 "argument with side effect"
+; V154 cse0 [V154,T42] ( 2, 4.13) int -> x4 "CSE - moderate"
+; V155 cse1 [V155,T73] ( 2, 0.04) int -> x4 "CSE - conservative"
+; V156 cse2 [V156,T19] ( 4, 8.27) ref -> x1 "CSE - moderate"
; V157 cse3 [V157,T06] ( 8, 12.39) long -> registers multi-def "CSE - aggressive"
...
-32 (-0.37%) : 120263.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
@@ -15,47 +15,47 @@
; V03 arg3 [V03,T14] ( 12, 6.50) ref -> x19 class-hnd single-def <System.Type>
; V04 arg4 [V04,T23] ( 10, 6.98) ref -> [fp+0xE0] class-hnd EH-live single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
; V05 loc0 [V05,T32] ( 11, 7.00) ref -> x23 class-hnd single-def <System.Reflection.ConstructorInfo[]>
-; V06 loc1 [V06,T81] ( 5, 2.86) ref -> x24 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V06 loc1 [V06,T82] ( 5, 2.86) ref -> x24 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V07 loc2 [V07,T64] ( 22, 4.93) ref -> x22 class-hnd <System.Reflection.ConstructorInfo>
; V08 loc3 [V08,T47] ( 6, 5.57) ref -> x25 class-hnd <<unknown class>>
-; V09 loc4 [V09,T73] ( 19, 3.79) ref -> x25 class-hnd single-def <System.Reflection.ConstructorInfo>
+; V09 loc4 [V09,T74] ( 19, 3.79) ref -> x25 class-hnd single-def <System.Reflection.ConstructorInfo>
;* V10 loc5 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Reflection.ParameterInfo[]>
-; V11 loc6 [V11,T101] ( 4, 2 ) ref -> x22 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
+; V11 loc6 [V11,T102] ( 4, 2 ) ref -> x22 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
; V12 loc7 [V12,T49] ( 8, 5.43) int -> x26
; V13 loc8 [V13,T12] ( 15, 12.37) ref -> x27 class-hnd <System.Reflection.ParameterInfo[]>
;* V14 loc9 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
-; V15 loc10 [V15,T72] ( 4, 3.86) ref -> x28 class-hnd <System.Reflection.ParameterInfo[]>
+; V15 loc10 [V15,T73] ( 4, 3.86) ref -> x28 class-hnd <System.Reflection.ParameterInfo[]>
; V16 loc11 [V16,T40] ( 5, 6.43) int -> [fp+0x1C4]
; V17 loc12 [V17,T41] ( 11, 6.00) ref -> [fp+0xD8] class-hnd spill-single-def <System.Reflection.ParameterInfo>
-; V18 loc13 [V18,T87] ( 3, 2.57) ref -> x27 class-hnd <System.Reflection.ParameterInfo[]>
+; V18 loc13 [V18,T88] ( 3, 2.57) ref -> x27 class-hnd <System.Reflection.ParameterInfo[]>
; V19 loc14 [V19,T46] ( 5, 5.79) int -> x28
; V20 loc15 [V20,T51] ( 12, 5.15) ref -> [fp+0xD0] class-hnd spill-single-def <System.Reflection.ParameterInfo>
;# V21 OutArgs [V21 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V22 tmp1 [V22,T109] ( 2, 1.71) ref -> x22 class-hnd single-def "dup spill" <<unknown class>>
+; V22 tmp1 [V22,T110] ( 2, 1.71) ref -> x22 class-hnd single-def "dup spill" <<unknown class>>
;* V23 tmp2 [V23 ] ( 0, 0 ) ref -> zero-ref single-def
-; V24 tmp3 [V24,T99] ( 5, 2.14) ref -> x22
-; V25 tmp4 [V25,T173] ( 5, 0 ) ref -> x20 class-hnd exact "dup spill" <System.Object[]>
-; V26 tmp5 [V26,T191] ( 2, 0 ) ref -> x24 class-hnd exact "impSpillLclRefs" <System.String>
-; V27 tmp6 [V27,T192] ( 2, 0 ) ref -> x15 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
-; V28 tmp7 [V28,T193] ( 2, 0 ) ref -> x15 class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.ConstructorInfo>
-; V29 tmp8 [V29,T180] ( 3, 0 ) ref -> x22 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V30 tmp9 [V30,T88] ( 3, 2.57) ref -> x25 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V24 tmp3 [V24,T100] ( 5, 2.14) ref -> x22
+; V25 tmp4 [V25,T175] ( 5, 0 ) ref -> x20 class-hnd exact "dup spill" <System.Object[]>
+; V26 tmp5 [V26,T193] ( 2, 0 ) ref -> x24 class-hnd exact "impSpillLclRefs" <System.String>
+; V27 tmp6 [V27,T194] ( 2, 0 ) ref -> x15 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V28 tmp7 [V28,T195] ( 2, 0 ) ref -> x15 class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.ConstructorInfo>
+; V29 tmp8 [V29,T182] ( 3, 0 ) ref -> x22 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V30 tmp9 [V30,T89] ( 3, 2.57) ref -> x25 class-hnd exact "NewObj constructor temp" <<unknown class>>
; V31 tmp10 [V31,T42] ( 7, 6 ) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V32 tmp11 [V32,T181] ( 3, 0 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V32 tmp11 [V32,T183] ( 3, 0 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V33 tmp12 [V33,T67] ( 5, 4.29) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V34 tmp13 [V34,T33] ( 7, 7 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V35 tmp14 [V35,T150] ( 3, 0.43) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V36 tmp15 [V36,T182] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-; V37 tmp16 [V37,T114] ( 4, 1.64) ref -> x5 "guarded devirt return temp"
+; V35 tmp14 [V35,T151] ( 3, 0.43) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
+; V36 tmp15 [V36,T184] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V37 tmp16 [V37,T115] ( 4, 1.64) ref -> x5 "guarded devirt return temp"
;* V38 tmp17 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V39 tmp18 [V39,T96] ( 3, 2.29) ref -> x27 "guarded devirt return temp"
+; V39 tmp18 [V39,T97] ( 3, 2.29) ref -> x27 "guarded devirt return temp"
; V40 tmp19 [V40,T35] ( 10, 6.86) ref -> x27 "guarded devirt arg temp"
;* V41 tmp20 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V42 tmp21 [V42,T139] ( 3, 0.86) ref -> x28 "guarded devirt return temp"
+; V42 tmp21 [V42,T140] ( 3, 0.86) ref -> x28 "guarded devirt return temp"
;* V43 tmp22 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V44 tmp23 [V44,T78] ( 3, 3 ) ref -> x3 "guarded devirt return temp"
+; V44 tmp23 [V44,T79] ( 3, 3 ) ref -> x3 "guarded devirt return temp"
;* V45 tmp24 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V46 tmp25 [V46,T89] ( 3, 2.57) ref -> x1 "guarded devirt return temp"
+; V46 tmp25 [V46,T90] ( 3, 2.57) ref -> x1 "guarded devirt return temp"
;* V47 tmp26 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
;* V48 tmp27 [V48 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V49 tmp28 [V49,T43] ( 3, 6 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]>
@@ -64,21 +64,21 @@
;* V52 tmp31 [V52 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V53 tmp32 [V53 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo>
;* V54 tmp33 [V54 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V55 tmp34 [V55,T86] ( 4, 2.57) ref -> x22 "guarded devirt return temp"
-;* V56 tmp35 [V56,T129] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.RuntimeType>
+; V55 tmp34 [V55,T87] ( 4, 2.57) ref -> x22 "guarded devirt return temp"
+;* V56 tmp35 [V56,T130] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.RuntimeType>
; V57 tmp36 [V57 ] ( 9, 2 ) struct (24) [fp+0x1A8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
;* V58 tmp37 [V58 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inline return value spill temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
-;* V59 tmp38 [V59,T104] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd single-def "Inlining Arg" <System.String>
-;* V60 tmp39 [V60,T131] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
-;* V61 tmp40 [V61,T132] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
-;* V62 tmp41 [V62,T133] ( 0, 0 ) int -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V59 tmp38 [V59,T105] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd single-def "Inlining Arg" <System.String>
+;* V60 tmp39 [V60,T132] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V61 tmp40 [V61,T133] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V62 tmp41 [V62,T134] ( 0, 0 ) int -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
; V63 tmp42 [V63,T54] ( 5, 5 ) ref -> x22 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo[]>
; V64 tmp43 [V64 ] ( 6, 6 ) struct (24) [fp+0x190] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
; V65 tmp44 [V65,T57] ( 5, 5 ) int -> x23 "Inline stloc first use temp"
-; V66 tmp45 [V66,T68] ( 4, 4 ) ref -> x24 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
+; V66 tmp45 [V66,T69] ( 4, 4 ) ref -> x24 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
; V67 tmp46 [V67,T55] ( 5, 5 ) ref -> x22 class-hnd "Inline return value spill temp" <System.RuntimeType+RuntimeTypeCache>
; V68 tmp47 [V68,T56] ( 5, 5 ) ref -> x22 class-hnd single-def "Inline stloc first use temp" <System.Object>
-; V69 tmp48 [V69,T69] ( 2, 4 ) ref -> x0 class-hnd "spilling QMark2" <System.RuntimeType+RuntimeTypeCache>
+; V69 tmp48 [V69,T70] ( 2, 4 ) ref -> x0 class-hnd "spilling QMark2" <System.RuntimeType+RuntimeTypeCache>
;* V70 tmp49 [V70 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.RuntimeType+RuntimeTypeCache>
;* V71 tmp50 [V71 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V72 tmp51 [V72 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <System.String>
@@ -89,69 +89,69 @@
; V77 tmp56 [V77,T34] ( 7, 7 ) ref -> x0 class-hnd "Inline stloc first use temp" <<unknown class>>
; V78 tmp57 [V78,T28] ( 4, 8 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
;* V79 tmp58 [V79 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-; V80 tmp59 [V80,T70] ( 2, 4 ) int -> x1 "Inlining Arg"
-; V81 tmp60 [V81,T102] ( 4, 2 ) ref -> x22 class-hnd "Inline return value spill temp" <System.Reflection.ConstructorInfo[]>
-; V82 tmp61 [V82,T183] ( 3, 0 ) ref -> x22 class-hnd exact single-def "dup spill" <System.Reflection.ConstructorInfo[]>
+; V80 tmp59 [V80,T71] ( 2, 4 ) int -> x1 "Inlining Arg"
+; V81 tmp60 [V81,T103] ( 4, 2 ) ref -> x22 class-hnd "Inline return value spill temp" <System.Reflection.ConstructorInfo[]>
+; V82 tmp61 [V82,T185] ( 3, 0 ) ref -> x22 class-hnd exact single-def "dup spill" <System.Reflection.ConstructorInfo[]>
;* V83 tmp62 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
;* V84 tmp63 [V84 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V85 tmp64 [V85,T98] ( 2, 2.29) ref -> x2 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
-; V86 tmp65 [V86,T83] ( 6, 2.69) ref -> x2
-; V87 tmp66 [V87,T184] ( 3, 0 ) ref -> x2 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
+; V85 tmp64 [V85,T99] ( 2, 2.29) ref -> x2 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
+; V86 tmp65 [V86,T84] ( 6, 2.69) ref -> x2
+; V87 tmp66 [V87,T186] ( 3, 0 ) ref -> x2 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
;* V88 tmp67 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V89 tmp68 [V89,T194] ( 2, 0 ) ref -> x2 class-hnd exact single-def "dup spill" <System.Signature>
-; V90 tmp69 [V90,T174] ( 4, 0 ) ref -> x2
+; V89 tmp68 [V89,T196] ( 2, 0 ) ref -> x2 class-hnd exact single-def "dup spill" <System.Signature>
+; V90 tmp69 [V90,T176] ( 4, 0 ) ref -> x2
;* V91 tmp70 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V92 tmp71 [V92,T126] ( 3, 1.14) ref -> x5 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
-; V93 tmp72 [V93,T135] ( 3, 0.98) ref -> x26 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V94 tmp73 [V94,T119] ( 3, 1.30) byref -> x0 single-def "Inlining Arg"
+; V92 tmp71 [V92,T127] ( 3, 1.14) ref -> x5 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V93 tmp72 [V93,T136] ( 3, 0.98) ref -> x26 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
+; V94 tmp73 [V94,T120] ( 3, 1.30) byref -> x0 single-def "Inlining Arg"
;* V95 tmp74 [V95 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V96 tmp75 [V96,T120] ( 2, 1.30) long -> x1 "Inlining Arg"
-; V97 tmp76 [V97,T105] ( 4, 1.96) long -> x2 "Inlining Arg"
+; V96 tmp75 [V96,T121] ( 2, 1.30) long -> x1 "Inlining Arg"
+; V97 tmp76 [V97,T106] ( 4, 1.96) long -> x2 "Inlining Arg"
;* V98 tmp77 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
;* V99 tmp78 [V99 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Type>
-; V100 tmp79 [V100,T127] ( 3, 1 ) ref -> x2 class-hnd "spilling ret_expr" <System.Type>
-; V101 tmp80 [V101,T195] ( 2, 0 ) ref -> x27 class-hnd exact single-def "non-inline candidate call" <System.String>
-; V102 tmp81 [V102,T185] ( 3, 0 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-; V103 tmp82 [V103,T115] ( 4, 1.50) ref -> x1 "guarded devirt return temp"
+; V100 tmp79 [V100,T128] ( 3, 1 ) ref -> x2 class-hnd "spilling ret_expr" <System.Type>
+; V101 tmp80 [V101,T197] ( 2, 0 ) ref -> x27 class-hnd exact single-def "non-inline candidate call" <System.String>
+; V102 tmp81 [V102,T187] ( 3, 0 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V103 tmp82 [V103,T116] ( 4, 1.50) ref -> x1 "guarded devirt return temp"
;* V104 tmp83 [V104 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V105 tmp84 [V105,T128] ( 3, 1 ) int -> x0 "guarded devirt return temp"
+; V105 tmp84 [V105,T129] ( 3, 1 ) int -> x0 "guarded devirt return temp"
;* V106 tmp85 [V106 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V107 tmp86 [V107 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.RuntimeType+RuntimeTypeCache>
-; V108 tmp87 [V108,T110] ( 2, 1.71) ref -> x15 class-hnd exact single-def "Inlining Arg" <<unknown class>>
+; V108 tmp87 [V108,T111] ( 2, 1.71) ref -> x15 class-hnd exact single-def "Inlining Arg" <<unknown class>>
;* V109 tmp88 [V109 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Reflection.ConstructorInfo]>
;* V110 tmp89 [V110 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" <System.Span`1[System.Reflection.ConstructorInfo]>
-; V111 tmp90 [V111,T113] ( 2, 1.71) int -> x26 "Inlining Arg"
-; V112 tmp91 [V112,T111] ( 2, 1.71) byref -> x25 single-def "Inlining Arg"
+; V111 tmp90 [V111,T114] ( 2, 1.71) int -> x26 "Inlining Arg"
+; V112 tmp91 [V112,T112] ( 2, 1.71) byref -> x25 single-def "Inlining Arg"
;* V113 tmp92 [V113 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
;* V114 tmp93 [V114 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
; V115 tmp94 [V115,T66] ( 2, 4.57) ref -> x2 class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
; V116 tmp95 [V116,T50] ( 6, 5.38) ref -> x2
-; V117 tmp96 [V117,T186] ( 3, 0 ) ref -> x2 class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
+; V117 tmp96 [V117,T188] ( 3, 0 ) ref -> x2 class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
;* V118 tmp97 [V118 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V119 tmp98 [V119,T196] ( 2, 0 ) ref -> x2 class-hnd exact "dup spill" <System.Signature>
-; V120 tmp99 [V120,T175] ( 4, 0 ) ref -> x2
+; V119 tmp98 [V119,T198] ( 2, 0 ) ref -> x2 class-hnd exact "dup spill" <System.Signature>
+; V120 tmp99 [V120,T177] ( 4, 0 ) ref -> x2
;* V121 tmp100 [V121 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V122 tmp101 [V122,T97] ( 3, 2.29) ref -> x27 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
-; V123 tmp102 [V123,T106] ( 3, 1.96) ref -> [fp+0xC8] class-hnd exact spill-single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V124 tmp103 [V124,T84] ( 3, 2.61) byref -> x0 "Inlining Arg"
+; V122 tmp101 [V122,T98] ( 3, 2.29) ref -> x27 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V123 tmp102 [V123,T107] ( 3, 1.96) ref -> [fp+0xC8] class-hnd exact spill-single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
+; V124 tmp103 [V124,T85] ( 3, 2.61) byref -> x0 "Inlining Arg"
;* V125 tmp104 [V125 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V126 tmp105 [V126,T85] ( 2, 2.61) long -> x1 "Inlining Arg"
-; V127 tmp106 [V127,T71] ( 4, 3.91) long -> x2 "Inlining Arg"
-; V128 tmp107 [V128,T82] ( 4, 2.71) ref -> x1 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V126 tmp105 [V126,T86] ( 2, 2.61) long -> x1 "Inlining Arg"
+; V127 tmp106 [V127,T72] ( 4, 3.91) long -> x2 "Inlining Arg"
+; V128 tmp107 [V128,T83] ( 4, 2.71) ref -> x1 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V129 tmp108 [V129,T37] ( 6, 6.64) ref -> [fp+0xC0] class-hnd exact spill-single-def "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V130 tmp109 [V130,T07] ( 18, 18.12) int -> [fp+0x18C] "Inline stloc first use temp"
; V131 tmp110 [V131,T09] ( 18, 16.05) ref -> [fp+0xB8] class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
; V132 tmp111 [V132,T53] ( 14, 5.02) ref -> [fp+0xB0] class-hnd "Inline stloc first use temp" <System.Type>
; V133 tmp112 [V133,T48] ( 8, 5.47) ref -> [fp+0xA8] class-hnd "Inline stloc first use temp" <System.Object[]>
-; V134 tmp113 [V134,T76] ( 10, 3.48) int -> [fp+0x188] "Inline stloc first use temp"
-; V135 tmp114 [V135,T148] ( 6, 0.50) ref -> [fp+0xA0] class-hnd "Inline stloc first use temp" <System.Object>
+; V134 tmp113 [V134,T77] ( 10, 3.48) int -> [fp+0x188] "Inline stloc first use temp"
+; V135 tmp114 [V135,T149] ( 6, 0.50) ref -> [fp+0xA0] class-hnd "Inline stloc first use temp" <System.Object>
;* V136 tmp115 [V136 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V137 tmp116 [V137,T149] ( 6, 0.50) ref -> x0 class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
+; V137 tmp116 [V137,T150] ( 6, 0.50) ref -> x0 class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
;* V138 tmp117 [V138 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V139 tmp118 [V139,T168] ( 6, 0 ) ref -> [fp+0x98] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
-; V140 tmp119 [V140,T187] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V139 tmp118 [V139,T170] ( 6, 0 ) ref -> [fp+0x98] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V140 tmp119 [V140,T189] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <<unknown class>>
; V141 tmp120 [V141 ] ( 6, 2.43) ref -> [fp+0x180] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Object>
-; V142 tmp121 [V142,T151] ( 6, 0.30) ref -> [fp+0x90] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V142 tmp121 [V142,T152] ( 6, 0.30) ref -> [fp+0x90] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
;* V143 tmp122 [V143 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V144 tmp123 [V144,T61] ( 4, 4.97) ref -> registers "guarded devirt return temp"
; V145 tmp124 [V145,T06] ( 22, 19.88) ref -> [fp+0x88] "guarded devirt arg temp"
@@ -159,7 +159,7 @@
; V147 tmp126 [V147,T58] ( 8, 4.97) ref -> registers "guarded devirt return temp"
; V148 tmp127 [V148,T00] ( 20,109.32) ref -> [fp+0x80] "guarded devirt arg temp"
;* V149 tmp128 [V149 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V150 tmp129 [V150,T159] ( 8, 0.00) ref -> [fp+0x78] class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V150 tmp129 [V150,T161] ( 8, 0.00) ref -> [fp+0x78] class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V151 tmp130 [V151 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V152 tmp131 [V152 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V153 tmp132 [V153 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
@@ -179,10 +179,10 @@
;* V167 tmp146 [V167 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimePropertyInfo>
; V168 tmp147 [V168,T36] ( 12, 6.83) ref -> x2 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
;* V169 tmp148 [V169 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V170 tmp149 [V170,T169] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V170 tmp149 [V170,T171] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V171 tmp150 [V171 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V172 tmp151 [V172 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V173 tmp152 [V173,T170] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V173 tmp152 [V173,T172] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
; V174 tmp153 [V174,T24] ( 6, 8.75) int -> [fp+0x164] "Inlining Arg"
;* V175 tmp154 [V175 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V176 tmp155 [V176 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
@@ -190,12 +190,12 @@
;* V178 tmp157 [V178 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
; V179 tmp158 [V179,T19] ( 4, 9.94) ref -> x10 class-hnd "impAppendStmt" <<unknown class>>
; V180 tmp159 [V180,T05] ( 6, 40.81) ref -> x6 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-;* V181 tmp160 [V181,T75] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V181 tmp160 [V181,T76] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V182 tmp161 [V182 ] ( 8, 0 ) struct (24) [fp+0x148] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
; V183 tmp162 [V183,T15] ( 12, 9.94) ref -> [fp+0x68] class-hnd "Inline stloc first use temp" <<unknown class>>
; V184 tmp163 [V184,T59] ( 8, 4.97) ref -> [fp+0x60] class-hnd "Inline stloc first use temp" <System.Collections.Generic.IEqualityComparer`1[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey]>
-; V185 tmp164 [V185,T171] ( 6, 0 ) int -> [fp+0x144] "Inline stloc first use temp"
-; V186 tmp165 [V186,T166] ( 14, 0 ) ref -> [fp+0x58] class-hnd "Inline stloc first use temp" <<unknown class>>
+; V185 tmp164 [V185,T173] ( 6, 0 ) int -> [fp+0x144] "Inline stloc first use temp"
+; V186 tmp165 [V186,T168] ( 14, 0 ) ref -> [fp+0x58] class-hnd "Inline stloc first use temp" <<unknown class>>
; V187 tmp166 [V187,T39] ( 6, 6.47) int -> [fp+0x140] "Inline stloc first use temp"
; V188 tmp167 [V188,T02] ( 16, 56.97) ref -> [fp+0x50] class-hnd "Inline stloc first use temp" <<unknown class>>
;* V189 tmp168 [V189 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
@@ -213,26 +213,26 @@
;* V201 tmp180 [V201 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V202 tmp181 [V202 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
;* V203 tmp182 [V203 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
-;* V204 tmp183 [V204,T147] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V204 tmp183 [V204,T148] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V205 tmp184 [V205 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
...
-20 (-0.23%) : 123007.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
@@ -13,49 +13,49 @@
; V01 arg1 [V01,T22] ( 5, 6 ) byref -> x21 single-def
;* V02 arg2 [V02 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V03 arg3 [V03,T10] ( 12, 6.55) ref -> x19 class-hnd single-def <System.Type>
-; V04 arg4 [V04,T13] ( 10, 6.67) ref -> [fp+0xE0] class-hnd EH-live single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
+; V04 arg4 [V04,T13] ( 10, 6.67) ref -> [fp+0xD0] class-hnd EH-live single-def <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain>
; V05 loc0 [V05,T28] ( 11, 6.57) ref -> x23 class-hnd single-def <System.Reflection.ConstructorInfo[]>
-; V06 loc1 [V06,T79] ( 5, 2.88) ref -> x24 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V06 loc1 [V06,T80] ( 5, 2.88) ref -> x24 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
; V07 loc2 [V07,T53] ( 22, 4.42) ref -> x22 class-hnd <System.Reflection.ConstructorInfo>
; V08 loc3 [V08,T48] ( 6, 4.95) ref -> x25 class-hnd <<unknown class>>
; V09 loc4 [V09,T63] ( 19, 4.12) ref -> x25 class-hnd single-def <System.Reflection.ConstructorInfo>
;* V10 loc5 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Reflection.ParameterInfo[]>
-; V11 loc6 [V11,T98] ( 4, 2 ) ref -> x22 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
+; V11 loc6 [V11,T99] ( 4, 2 ) ref -> x22 class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
; V12 loc7 [V12,T49] ( 8, 4.83) int -> x26
; V13 loc8 [V13,T09] ( 15, 10.71) ref -> x27 class-hnd <System.Reflection.ParameterInfo[]>
;* V14 loc9 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
-; V15 loc10 [V15,T71] ( 4, 3.45) ref -> x28 class-hnd <System.Reflection.ParameterInfo[]>
-; V16 loc11 [V16,T39] ( 5, 5.74) int -> [fp+0x1C4]
-; V17 loc12 [V17,T40] ( 11, 5.52) ref -> [fp+0xD8] class-hnd spill-single-def <System.Reflection.ParameterInfo>
-; V18 loc13 [V18,T88] ( 3, 2.28) ref -> x27 class-hnd <System.Reflection.ParameterInfo[]>
+; V15 loc10 [V15,T72] ( 4, 3.45) ref -> x28 class-hnd <System.Reflection.ParameterInfo[]>
+; V16 loc11 [V16,T39] ( 5, 5.74) int -> [fp+0x1B4]
+; V17 loc12 [V17,T40] ( 11, 5.52) ref -> [fp+0xC8] class-hnd spill-single-def <System.Reflection.ParameterInfo>
+; V18 loc13 [V18,T89] ( 3, 2.28) ref -> x27 class-hnd <System.Reflection.ParameterInfo[]>
; V19 loc14 [V19,T42] ( 5, 5.12) int -> x28
-; V20 loc15 [V20,T51] ( 12, 4.73) ref -> [fp+0xD0] class-hnd spill-single-def <System.Reflection.ParameterInfo>
+; V20 loc15 [V20,T51] ( 12, 4.73) ref -> [fp+0xC0] class-hnd spill-single-def <System.Reflection.ParameterInfo>
;# V21 OutArgs [V21 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V22 tmp1 [V22,T110] ( 2, 1.54) ref -> x22 class-hnd single-def "dup spill" <<unknown class>>
+; V22 tmp1 [V22,T111] ( 2, 1.54) ref -> x22 class-hnd single-def "dup spill" <<unknown class>>
;* V23 tmp2 [V23 ] ( 0, 0 ) ref -> zero-ref single-def
-; V24 tmp3 [V24,T104] ( 5, 1.92) ref -> x22
-; V25 tmp4 [V25,T174] ( 5, 0 ) ref -> x20 class-hnd exact "dup spill" <System.Object[]>
-; V26 tmp5 [V26,T190] ( 2, 0 ) ref -> x24 class-hnd exact "impSpillLclRefs" <System.String>
-; V27 tmp6 [V27,T191] ( 2, 0 ) ref -> x15 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
-; V28 tmp7 [V28,T192] ( 2, 0 ) ref -> x15 class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.ConstructorInfo>
-; V29 tmp8 [V29,T181] ( 3, 0 ) ref -> x22 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V30 tmp9 [V30,T87] ( 3, 2.31) ref -> x25 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V24 tmp3 [V24,T105] ( 5, 1.92) ref -> x22
+; V25 tmp4 [V25,T176] ( 5, 0 ) ref -> x20 class-hnd exact "dup spill" <System.Object[]>
+; V26 tmp5 [V26,T192] ( 2, 0 ) ref -> x24 class-hnd exact "impSpillLclRefs" <System.String>
+; V27 tmp6 [V27,T193] ( 2, 0 ) ref -> x15 class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
+; V28 tmp7 [V28,T194] ( 2, 0 ) ref -> x15 class-hnd "Strict ordering of exceptions for Array store" <System.Reflection.ConstructorInfo>
+; V29 tmp8 [V29,T183] ( 3, 0 ) ref -> x22 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V30 tmp9 [V30,T88] ( 3, 2.31) ref -> x25 class-hnd exact "NewObj constructor temp" <<unknown class>>
; V31 tmp10 [V31,T41] ( 7, 5.38) ref -> x27 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V32 tmp11 [V32,T182] ( 3, 0 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V32 tmp11 [V32,T184] ( 3, 0 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V33 tmp12 [V33,T69] ( 5, 3.85) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V34 tmp13 [V34,T26] ( 7, 7.75) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V35 tmp14 [V35,T151] ( 3, 0.37) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
-; V36 tmp15 [V36,T183] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-; V37 tmp16 [V37,T106] ( 4, 1.78) ref -> x5 "guarded devirt return temp"
+; V35 tmp14 [V35,T152] ( 3, 0.37) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite>
+; V36 tmp15 [V36,T185] ( 3, 0 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V37 tmp16 [V37,T107] ( 4, 1.78) ref -> x5 "guarded devirt return temp"
;* V38 tmp17 [V38 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V39 tmp18 [V39,T96] ( 3, 2.03) ref -> x27 "guarded devirt return temp"
+; V39 tmp18 [V39,T97] ( 3, 2.03) ref -> x27 "guarded devirt return temp"
; V40 tmp19 [V40,T33] ( 10, 6.09) ref -> x27 "guarded devirt arg temp"
;* V41 tmp20 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V42 tmp21 [V42,T138] ( 3, 0.77) ref -> x28 "guarded devirt return temp"
+; V42 tmp21 [V42,T139] ( 3, 0.77) ref -> x28 "guarded devirt return temp"
;* V43 tmp22 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V44 tmp23 [V44,T80] ( 3, 2.68) ref -> x3 "guarded devirt return temp"
+; V44 tmp23 [V44,T81] ( 3, 2.68) ref -> x3 "guarded devirt return temp"
;* V45 tmp24 [V45 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V46 tmp25 [V46,T89] ( 3, 2.28) ref -> x3 "guarded devirt return temp"
+; V46 tmp25 [V46,T90] ( 3, 2.28) ref -> x3 "guarded devirt return temp"
;* V47 tmp26 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
;* V48 tmp27 [V48 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V49 tmp28 [V49,T34] ( 3, 6 ) ref -> x0 class-hnd single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo]>
@@ -64,16 +64,16 @@
;* V52 tmp31 [V52 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V53 tmp32 [V53 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain+ChainItemInfo>
;* V54 tmp33 [V54 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V55 tmp34 [V55,T81] ( 4, 2.62) ref -> x22 "guarded devirt return temp"
-;* V56 tmp35 [V56,T129] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.RuntimeType>
-; V57 tmp36 [V57 ] ( 9, 3.40) struct (24) [fp+0x1A8] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
+; V55 tmp34 [V55,T82] ( 4, 2.62) ref -> x22 "guarded devirt return temp"
+;* V56 tmp35 [V56,T130] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.RuntimeType>
+; V57 tmp36 [V57 ] ( 9, 3.40) struct (24) [fp+0x198] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
;* V58 tmp37 [V58 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inline return value spill temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
-;* V59 tmp38 [V59,T101] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd single-def "Inlining Arg" <System.String>
-;* V60 tmp39 [V60,T131] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
-;* V61 tmp40 [V61,T132] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
-;* V62 tmp41 [V62,T133] ( 0, 0 ) int -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V59 tmp38 [V59,T102] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd single-def "Inlining Arg" <System.String>
+;* V60 tmp39 [V60,T132] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V61 tmp40 [V61,T133] ( 0, 0 ) ubyte -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
+;* V62 tmp41 [V62,T134] ( 0, 0 ) int -> zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp"
; V63 tmp42 [V63,T44] ( 5, 5 ) ref -> x22 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo[]>
-; V64 tmp43 [V64 ] ( 6, 6 ) struct (24) [fp+0x190] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
+; V64 tmp43 [V64 ] ( 6, 6 ) struct (24) [fp+0x180] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Reflection.ConstructorInfo]>
; V65 tmp44 [V65,T47] ( 5, 5 ) int -> x23 "Inline stloc first use temp"
; V66 tmp45 [V66,T66] ( 4, 4 ) ref -> x24 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimeConstructorInfo>
; V67 tmp46 [V67,T45] ( 5, 5 ) ref -> x22 class-hnd "Inline return value spill temp" <System.RuntimeType+RuntimeTypeCache>
@@ -90,84 +90,84 @@
; V78 tmp57 [V78,T24] ( 4, 8 ) ref -> x24 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
;* V79 tmp58 [V79 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
; V80 tmp59 [V80,T68] ( 2, 4 ) int -> x1 "Inlining Arg"
-; V81 tmp60 [V81,T99] ( 4, 2 ) ref -> x22 class-hnd "Inline return value spill temp" <System.Reflection.ConstructorInfo[]>
-; V82 tmp61 [V82,T84] ( 3, 2.40) ref -> x22 class-hnd exact single-def "dup spill" <System.Reflection.ConstructorInfo[]>
+; V81 tmp60 [V81,T100] ( 4, 2 ) ref -> x22 class-hnd "Inline return value spill temp" <System.Reflection.ConstructorInfo[]>
+; V82 tmp61 [V82,T85] ( 3, 2.40) ref -> x22 class-hnd exact single-def "dup spill" <System.Reflection.ConstructorInfo[]>
;* V83 tmp62 [V83 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
;* V84 tmp63 [V84 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V85 tmp64 [V85,T82] ( 2, 2.46) ref -> x2 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
-; V86 tmp65 [V86,T77] ( 6, 2.90) ref -> x2
-; V87 tmp66 [V87,T184] ( 3, 0 ) ref -> x2 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
+; V85 tmp64 [V85,T83] ( 2, 2.46) ref -> x2 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
+; V86 tmp65 [V86,T78] ( 6, 2.90) ref -> x2
+; V87 tmp66 [V87,T186] ( 3, 0 ) ref -> x2 class-hnd single-def "dup spill" <System.Reflection.ParameterInfo[]>
;* V88 tmp67 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V89 tmp68 [V89,T193] ( 2, 0 ) ref -> x2 class-hnd exact single-def "dup spill" <System.Signature>
-; V90 tmp69 [V90,T175] ( 4, 0 ) ref -> x2
+; V89 tmp68 [V89,T195] ( 2, 0 ) ref -> x2 class-hnd exact single-def "dup spill" <System.Signature>
+; V90 tmp69 [V90,T177] ( 4, 0 ) ref -> x2
;* V91 tmp70 [V91 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V92 tmp71 [V92,T118] ( 3, 1.23) ref -> x5 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
-; V93 tmp72 [V93,T124] ( 3, 1.05) ref -> x26 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V94 tmp73 [V94,T115] ( 3, 1.41) byref -> x0 single-def "Inlining Arg"
+; V92 tmp71 [V92,T119] ( 3, 1.23) ref -> x5 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V93 tmp72 [V93,T125] ( 3, 1.05) ref -> x26 class-hnd exact single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
+; V94 tmp73 [V94,T116] ( 3, 1.41) byref -> x0 single-def "Inlining Arg"
;* V95 tmp74 [V95 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
-; V96 tmp75 [V96,T116] ( 2, 1.41) long -> x1 "Inlining Arg"
-; V97 tmp76 [V97,T95] ( 4, 2.11) long -> x2 "Inlining Arg"
+; V96 tmp75 [V96,T117] ( 2, 1.41) long -> x1 "Inlining Arg"
+; V97 tmp76 [V97,T96] ( 4, 2.11) long -> x2 "Inlining Arg"
;* V98 tmp77 [V98 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Type>
;* V99 tmp78 [V99 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Type>
-; V100 tmp79 [V100,T122] ( 3, 1.11) ref -> x2 class-hnd "spilling ret_expr" <System.Type>
-; V101 tmp80 [V101,T194] ( 2, 0 ) ref -> x27 class-hnd exact single-def "non-inline candidate call" <System.String>
-; V102 tmp81 [V102,T185] ( 3, 0 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-; V103 tmp82 [V103,T108] ( 4, 1.66) ref -> x1 "guarded devirt return temp"
+; V100 tmp79 [V100,T123] ( 3, 1.11) ref -> x2 class-hnd "spilling ret_expr" <System.Type>
+; V101 tmp80 [V101,T196] ( 2, 0 ) ref -> x27 class-hnd exact single-def "non-inline candidate call" <System.String>
+; V102 tmp81 [V102,T187] ( 3, 0 ) ref -> x28 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V103 tmp82 [V103,T109] ( 4, 1.66) ref -> x1 "guarded devirt return temp"
;* V104 tmp83 [V104 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "guarded devirt this exact temp" <System.Reflection.RuntimeConstructorInfo>
-; V105 tmp84 [V105,T123] ( 3, 1.11) int -> x0 "guarded devirt return temp"
+; V105 tmp84 [V105,T124] ( 3, 1.11) int -> x0 "guarded devirt return temp"
;* V106 tmp85 [V106 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V107 tmp86 [V107 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.RuntimeType+RuntimeTypeCache>
-; V108 tmp87 [V108,T111] ( 2, 1.54) ref -> x15 class-hnd exact single-def "Inlining Arg" <<unknown class>>
+; V108 tmp87 [V108,T112] ( 2, 1.54) ref -> x15 class-hnd exact single-def "Inlining Arg" <<unknown class>>
;* V109 tmp88 [V109 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[System.Reflection.ConstructorInfo]>
;* V110 tmp89 [V110 ] ( 0, 0 ) struct (16) zero-ref "Inline stloc first use temp" <System.Span`1[System.Reflection.ConstructorInfo]>
-; V111 tmp90 [V111,T114] ( 2, 1.54) int -> x26 "Inlining Arg"
-; V112 tmp91 [V112,T112] ( 2, 1.54) byref -> x25 single-def "Inlining Arg"
+; V111 tmp90 [V111,T115] ( 2, 1.54) int -> x26 "Inlining Arg"
+; V112 tmp91 [V112,T113] ( 2, 1.54) byref -> x25 single-def "Inlining Arg"
;* V113 tmp92 [V113 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
;* V114 tmp93 [V114 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
; V115 tmp94 [V115,T65] ( 2, 4.06) ref -> x2 class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
; V116 tmp95 [V116,T50] ( 6, 4.78) ref -> x2
-; V117 tmp96 [V117,T186] ( 3, 0 ) ref -> x2 class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
+; V117 tmp96 [V117,T188] ( 3, 0 ) ref -> x2 class-hnd "dup spill" <System.Reflection.ParameterInfo[]>
;* V118 tmp97 [V118 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V119 tmp98 [V119,T195] ( 2, 0 ) ref -> x2 class-hnd exact "dup spill" <System.Signature>
-; V120 tmp99 [V120,T176] ( 4, 0 ) ref -> x2
+; V119 tmp98 [V119,T197] ( 2, 0 ) ref -> x2 class-hnd exact "dup spill" <System.Signature>
+; V120 tmp99 [V120,T178] ( 4, 0 ) ref -> x2
;* V121 tmp100 [V121 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Reflection.ParameterInfo]>
-; V122 tmp101 [V122,T97] ( 3, 2.03) ref -> x27 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
-; V123 tmp102 [V123,T107] ( 3, 1.74) ref -> [fp+0xC8] class-hnd exact spill-single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
-; V124 tmp103 [V124,T85] ( 3, 2.32) byref -> x0 "Inlining Arg"
+; V122 tmp101 [V122,T98] ( 3, 2.03) ref -> x27 class-hnd "Inline return value spill temp" <System.Reflection.ParameterInfo[]>
+; V123 tmp102 [V123,T108] ( 3, 1.74) ref -> [fp+0xB8] class-hnd exact spill-single-def "Inline stloc first use temp" <System.Reflection.ParameterInfo[]>
+; V124 tmp103 [V124,T86] ( 3, 2.32) byref -> x0 "Inlining Arg"
;* V125 tmp104 [V125 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
-; V126 tmp105 [V126,T86] ( 2, 2.32) long -> x1 "Inlining Arg"
-; V127 tmp106 [V127,T70] ( 4, 3.48) long -> x2 "Inlining Arg"
-; V128 tmp107 [V128,T83] ( 4, 2.42) ref -> x1 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
-; V129 tmp108 [V129,T38] ( 6, 5.81) ref -> [fp+0xC0] class-hnd exact spill-single-def "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
-; V130 tmp109 [V130,T04] ( 18, 15.67) int -> [fp+0x18C] "Inline stloc first use temp"
-; V131 tmp110 [V131,T06] ( 18, 13.74) ref -> [fp+0xB8] class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-; V132 tmp111 [V132,T55] ( 14, 4.28) ref -> [fp+0xB0] class-hnd "Inline stloc first use temp" <System.Type>
-; V133 tmp112 [V133,T52] ( 8, 4.64) ref -> [fp+0xA8] class-hnd "Inline stloc first use temp" <System.Object[]>
-; V134 tmp113 [V134,T76] ( 10, 2.92) int -> [fp+0x188] "Inline stloc first use temp"
-; V135 tmp114 [V135,T149] ( 6, 0.40) ref -> [fp+0xA0] class-hnd "Inline stloc first use temp" <System.Object>
+; V126 tmp105 [V126,T87] ( 2, 2.32) long -> x1 "Inlining Arg"
+; V127 tmp106 [V127,T71] ( 4, 3.48) long -> x2 "Inlining Arg"
+; V128 tmp107 [V128,T84] ( 4, 2.42) ref -> x1 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V129 tmp108 [V129,T38] ( 6, 5.81) ref -> [fp+0xB0] class-hnd exact spill-single-def "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]>
+; V130 tmp109 [V130,T04] ( 18, 15.67) int -> [fp+0x17C] "Inline stloc first use temp"
+; V131 tmp110 [V131,T06] ( 18, 13.74) ref -> [fp+0xA8] class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
+; V132 tmp111 [V132,T55] ( 14, 4.28) ref -> [fp+0xA0] class-hnd "Inline stloc first use temp" <System.Type>
+; V133 tmp112 [V133,T52] ( 8, 4.64) ref -> [fp+0x98] class-hnd "Inline stloc first use temp" <System.Object[]>
+; V134 tmp113 [V134,T77] ( 10, 2.92) int -> [fp+0x178] "Inline stloc first use temp"
+; V135 tmp114 [V135,T150] ( 6, 0.40) ref -> [fp+0x90] class-hnd "Inline stloc first use temp" <System.Object>
;* V136 tmp115 [V136 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V137 tmp116 [V137,T150] ( 6, 0.40) ref -> x0 class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
+; V137 tmp116 [V137,T151] ( 6, 0.40) ref -> x0 class-hnd "Inline stloc first use temp" <Microsoft.Extensions.DependencyInjection.FromKeyedServicesAttribute>
;* V138 tmp117 [V138 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
-; V139 tmp118 [V139,T169] ( 6, 0 ) ref -> [fp+0x98] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
-; V140 tmp119 [V140,T187] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <<unknown class>>
-; V141 tmp120 [V141 ] ( 6, 2.15) ref -> [fp+0x180] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Object>
-; V142 tmp121 [V142,T155] ( 6, 0.24) ref -> [fp+0x90] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V139 tmp118 [V139,T171] ( 6, 0 ) ref -> [fp+0x88] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
+; V140 tmp119 [V140,T189] ( 3, 0 ) ref -> x19 class-hnd exact "NewObj constructor temp" <<unknown class>>
+; V141 tmp120 [V141 ] ( 6, 2.15) ref -> [fp+0x170] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Object>
+; V142 tmp121 [V142,T156] ( 6, 0.24) ref -> [fp+0x80] class-hnd exact "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstantCallSite>
;* V143 tmp122 [V143 ] ( 0, 0 ) struct (16) zero-ref multireg-arg "spilled call-like call argument" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V144 tmp123 [V144,T59] ( 4, 4.24) ref -> registers "guarded devirt return temp"
-; V145 tmp124 [V145,T03] ( 22, 17.50) ref -> [fp+0x88] "guarded devirt arg temp"
+; V145 tmp124 [V145,T03] ( 22, 17.50) ref -> [fp+0x78] "guarded devirt arg temp"
;* V146 tmp125 [V146 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
; V147 tmp126 [V147,T56] ( 8, 4.24) ref -> registers "guarded devirt return temp"
-; V148 tmp127 [V148,T02] ( 20, 29.69) ref -> [fp+0x80] "guarded devirt arg temp"
+; V148 tmp127 [V148,T02] ( 20, 29.69) ref -> [fp+0x70] "guarded devirt arg temp"
;* V149 tmp128 [V149 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Reflection.RuntimeParameterInfo>
-; V150 tmp129 [V150,T158] ( 8, 0.20) ref -> [fp+0x78] class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V150 tmp129 [V150,T159] ( 8, 0.20) ref -> [fp+0x68] class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V151 tmp130 [V151 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V152 tmp131 [V152 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Signature>
;* V153 tmp132 [V153 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V154 tmp133 [V154 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Object[]>
-; V155 tmp134 [V155 ] ( 18, 8.73) struct (24) [fp+0x168] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Attribute]>
+; V155 tmp134 [V155 ] ( 18, 8.73) struct (24) [fp+0x158] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.RuntimeType+ListBuilder`1[System.Attribute]>
; V156 tmp135 [V156,T15] ( 10, 8.48) ref -> x0 class-hnd exact "impAppendStmt" <System.Reflection.RuntimeModule>
;* V157 tmp136 [V157 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-; V158 tmp137 [V158,T54] ( 10, 4.38) ref -> [fp+0x70] class-hnd "Inline stloc first use temp" <System.Object[]>
+; V158 tmp137 [V158,T54] ( 10, 4.38) ref -> [fp+0x60] class-hnd "Inline stloc first use temp" <System.Object[]>
;* V159 tmp138 [V159 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
; V160 tmp139 [V160,T16] ( 4, 8.48) ref -> x3 "CASTCLASS eval op1"
;* V161 tmp140 [V161 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimeMethodInfo>
@@ -179,25 +179,25 @@
;* V167 tmp146 [V167 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.Reflection.RuntimePropertyInfo>
; V168 tmp147 [V168,T37] ( 12, 5.83) ref -> x2 class-hnd exact "Inline stloc first use temp" <System.Reflection.RuntimePropertyInfo>
;* V169 tmp148 [V169 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V170 tmp149 [V170,T170] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V170 tmp149 [V170,T172] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
;* V171 tmp150 [V171 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V172 tmp151 [V172 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V173 tmp152 [V173,T171] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
-; V174 tmp153 [V174,T152] ( 6, 0.29) int -> [fp+0x164] "Inlining Arg"
+; V173 tmp152 [V173,T173] ( 6, 0 ) ref -> x0 class-hnd exact "Inlining Arg" <System.RuntimeType>
+; V174 tmp153 [V174,T153] ( 6, 0.29) int -> [fp+0x154] "Inlining Arg"
;* V175 tmp154 [V175 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Object>
;* V176 tmp155 [V176 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier>
; V177 tmp156 [V177,T43] ( 6, 5.11) ref -> x6 class-hnd "Inline return value spill temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
;* V178 tmp157 [V178 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
; V179 tmp158 [V179,T19] ( 4, 8.48) ref -> registers class-hnd "impAppendStmt" <<unknown class>>
; V180 tmp159 [V180,T01] ( 6, 33.55) ref -> x6 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>
-;* V181 tmp160 [V181,T75] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V182 tmp161 [V182 ] ( 8, 0 ) struct (24) [fp+0x148] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inlining Arg" <Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey>
...
Details
Improvements/regressions per collection
| Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
| benchmarks.run.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| benchmarks.run_pgo.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| benchmarks.run_tiered.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| coreclr_tests.run.windows.arm64.checked.mch |
2 |
0 |
2 |
0 |
-0 |
+32 |
| libraries.crossgen2.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries.pmi.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries_tests.run.windows.arm64.Release.mch |
4 |
4 |
0 |
0 |
-148 |
+0 |
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| realworld.run.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| smoke_tests.nativeaot.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
|
6 |
4 |
2 |
0 |
-148 |
+32 |
Context information
| Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
| benchmarks.run.windows.arm64.checked.mch |
24,455 |
4 |
24,451 |
0 (0.00%) |
0 (0.00%) |
| benchmarks.run_pgo.windows.arm64.checked.mch |
97,528 |
48,627 |
48,901 |
0 (0.00%) |
12 (0.01%) |
| benchmarks.run_tiered.windows.arm64.checked.mch |
49,174 |
36,718 |
12,456 |
0 (0.00%) |
0 (0.00%) |
| coreclr_tests.run.windows.arm64.checked.mch |
595,174 |
362,437 |
232,737 |
1 (0.00%) |
9 (0.00%) |
| libraries.crossgen2.windows.arm64.checked.mch |
2,130 |
0 |
2,130 |
0 (0.00%) |
0 (0.00%) |
| libraries.pmi.windows.arm64.checked.mch |
305,522 |
6 |
305,516 |
0 (0.00%) |
0 (0.00%) |
| libraries_tests.run.windows.arm64.Release.mch |
646,537 |
468,460 |
178,077 |
0 (0.00%) |
103 (0.02%) |
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch |
317,026 |
21,598 |
295,428 |
0 (0.00%) |
0 (0.00%) |
| realworld.run.windows.arm64.checked.mch |
33,242 |
3 |
33,239 |
0 (0.00%) |
0 (0.00%) |
| smoke_tests.nativeaot.windows.arm64.checked.mch |
77 |
0 |
77 |
0 (0.00%) |
0 (0.00%) |
|
2,070,865 |
937,853 |
1,133,012 |
1 (0.00%) |
124 (0.01%) |
jit-analyze output
coreclr_tests.run.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 496301932 (overridden on cmd)
Total bytes of diff: 496301964 (overridden on cmd)
Total bytes of delta: 32 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
16 : 140643.dasm (0.49 % of base)
16 : 496648.dasm (0.58 % of base)
2 total files with Code Size differences (0 improved, 2 regressed), 0 unchanged.
Top method regressions (bytes):
16 (0.58 % of base) : 496648.dasm - Program:TestEntryPoint() (FullOpts)
16 (0.49 % of base) : 140643.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
Top method regressions (percentages):
16 (0.58 % of base) : 496648.dasm - Program:TestEntryPoint() (FullOpts)
16 (0.49 % of base) : 140643.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
2 total methods with Code Size differences (0 improved, 2 regressed).
libraries_tests.run.windows.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 326715624 (overridden on cmd)
Total bytes of diff: 326715476 (overridden on cmd)
Total bytes of delta: -148 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
-48 : 120265.dasm (-1.02 % of base)
-48 : 123009.dasm (-1.02 % of base)
-32 : 120263.dasm (-0.37 % of base)
-20 : 123007.dasm (-0.23 % of base)
4 total files with Code Size differences (4 improved, 0 regressed), 0 unchanged.
Top method improvements (bytes):
-48 (-1.02 % of base) : 120265.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
-48 (-1.02 % of base) : 123009.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
-32 (-0.37 % of base) : 120263.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
-20 (-0.23 % of base) : 123007.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
Top method improvements (percentages):
-48 (-1.02 % of base) : 120265.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
-48 (-1.02 % of base) : 123009.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
-32 (-0.37 % of base) : 120263.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
-20 (-0.23 % of base) : 123007.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
4 total methods with Code Size differences (4 improved, 0 regressed).
windows x64
Diffs are based on 2,098,527 contexts (926,221 MinOpts, 1,172,306 FullOpts).
MISSED contexts: base: 1 (0.00%), diff: 137 (0.01%)
Overall (+72 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| benchmarks.run_pgo.windows.x64.checked.mch |
35,784,506 |
+0 |
| coreclr_tests.run.windows.x64.checked.mch |
392,964,812 |
+8 |
| libraries_tests.run.windows.x64.Release.mch |
278,842,786 |
+64 |
FullOpts (+72 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| benchmarks.run_pgo.windows.x64.checked.mch |
21,752,425 |
+0 |
| coreclr_tests.run.windows.x64.checked.mch |
120,242,834 |
+8 |
| libraries_tests.run.windows.x64.Release.mch |
106,668,170 |
+64 |
Example diffs
benchmarks.run_pgo.windows.x64.checked.mch
+0 (0.00%) : 102435.dasm - System.Text.RegularExpressions.RegexNode:FindAndMakeLoopsAtomic():this (Tier1)
@@ -110,7 +110,7 @@ G_M41283_IG09: ; bbWeight=0.25, gcrefRegs=002C {rdx rbx rbp}, byrefRegs=0
G_M41283_IG10: ; bbWeight=0.13, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref
; gcrRegs -[rbp]
mov rcx, 0xD1FFAB1E ; <unknown class>
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx] +[rax]
; gcr arg pop 0
mov rbp, rax
coreclr_tests.run.windows.x64.checked.mch
+0 (0.00%) : 332229.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -857,7 +857,7 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
je SHORT G_M27650_IG52
mov rdx, rsi
mov rcx, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx] +[rax]
; gcr arg pop 0
;; size=78 bbWeight=0 PerfScore 0.00
+0 (0.00%) : 329402.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -868,7 +868,7 @@ G_M27650_IG55: ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
je SHORT G_M27650_IG56
mov rdx, rsi
mov rcx, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx] +[rax]
; gcr arg pop 0
;; size=78 bbWeight=0 PerfScore 0.00
+0 (0.00%) : 438791.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -857,7 +857,7 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
je SHORT G_M27650_IG52
mov rdx, rsi
mov rcx, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx] +[rax]
; gcr arg pop 0
;; size=78 bbWeight=0 PerfScore 0.00
+1 (+0.04%) : 371980.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -861,10 +861,10 @@ G_M27650_IG52: ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
je SHORT G_M27650_IG53
mov rdx, rsi
mov rcx, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call [CORINFO_HELP_CHKCASTCLASS_SPECIAL]
; gcrRegs -[rdx] +[rax]
; gcr arg pop 0
- ;; size=78 bbWeight=0 PerfScore 0.00
+ ;; size=79 bbWeight=0 PerfScore 0.00
G_M27650_IG53: ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
mov r8, rsi
@@ -1268,7 +1268,7 @@ G_M27650_IG71: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
jmp G_M27650_IG47
;; size=25 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2277, prolog size 12, PerfScore 320.83, instruction count 541, allocated bytes for code 2277 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
+; Total bytes of code 2278, prolog size 12, PerfScore 320.83, instruction count 541, allocated bytes for code 2278 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
; ============================================================
Unwind Info:
+7 (+0.36%) : 185024.dasm - Program:TestEntryPoint() (FullOpts)
@@ -9,198 +9,199 @@
; Final local variable assignments
;
; V00 OutArgs [V00 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V01 tmp1 [V01,T02] ( 3, 1.50) int -> rcx "Inline return value spill temp"
+; V01 tmp1 [V01,T03] ( 3, 1.50) int -> rcx "Inline return value spill temp"
;* V02 tmp2 [V02 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V03 tmp3 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "spilling QMark2" <System.RuntimeType>
-; V04 tmp4 [V04,T65] ( 17, 0 ) int -> rcx "Inline return value spill temp"
-; V05 tmp5 [V05,T64] ( 18, 0 ) ref -> rbx class-hnd "Inline stloc first use temp" <System.RuntimeType>
-; V06 tmp6 [V06,T72] ( 3, 0 ) ref -> rax single-def "CASTCLASS eval op1"
-; V07 tmp7 [V07,T73] ( 3, 0 ) long -> rcx "fgMakeTemp is creating a new local variable"
-; V08 tmp8 [V08,T71] ( 4, 0 ) ref -> rbx class-hnd single-def "spilling QMark2" <System.RuntimeType>
-;* V09 tmp9 [V09,T18] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V10 tmp10 [V10,T19] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+; V04 tmp4 [V04,T66] ( 17, 0 ) int -> rcx "Inline return value spill temp"
+; V05 tmp5 [V05,T65] ( 18, 0 ) ref -> rbx class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V06 tmp6 [V06,T73] ( 3, 0 ) ref -> rax single-def "CASTCLASS eval op1"
+; V07 tmp7 [V07,T74] ( 3, 0 ) long -> rcx "fgMakeTemp is creating a new local variable"
+; V08 tmp8 [V08,T72] ( 4, 0 ) ref -> rbx class-hnd single-def "spilling QMark2" <System.RuntimeType>
+;* V09 tmp9 [V09,T19] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V10 tmp10 [V10,T20] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V11 tmp11 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V12 tmp12 [V12,T20] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V13 tmp13 [V13,T21] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V12 tmp12 [V12,T21] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V13 tmp13 [V13,T22] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V14 tmp14 [V14 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V15 tmp15 [V15,T22] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V16 tmp16 [V16,T23] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V15 tmp15 [V15,T23] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V16 tmp16 [V16,T24] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V17 tmp17 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V18 tmp18 [V18,T24] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V19 tmp19 [V19,T25] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V18 tmp18 [V18,T25] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V19 tmp19 [V19,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V20 tmp20 [V20 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V21 tmp21 [V21,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V22 tmp22 [V22,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V21 tmp21 [V21,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V22 tmp22 [V22,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V23 tmp23 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V24 tmp24 [V24,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V25 tmp25 [V25,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V24 tmp24 [V24,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V25 tmp25 [V25,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V26 tmp26 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V27 tmp27 [V27,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V28 tmp28 [V28,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V27 tmp27 [V27,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V28 tmp28 [V28,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V29 tmp29 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V30 tmp30 [V30,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V31 tmp31 [V31,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V30 tmp30 [V30,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V31 tmp31 [V31,T34] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V32 tmp32 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V33 tmp33 [V33,T34] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V34 tmp34 [V34,T35] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V35 tmp35 [V35,T03] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V36 tmp36 [V36,T36] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V37 tmp37 [V37,T37] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V38 tmp38 [V38,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V39 tmp39 [V39,T38] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V40 tmp40 [V40,T39] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V41 tmp41 [V41,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V42 tmp42 [V42,T40] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V43 tmp43 [V43,T41] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V44 tmp44 [V44,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V45 tmp45 [V45,T42] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V46 tmp46 [V46,T43] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V47 tmp47 [V47,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V48 tmp48 [V48,T44] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V49 tmp49 [V49,T45] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V50 tmp50 [V50,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V51 tmp51 [V51,T46] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V52 tmp52 [V52,T47] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V53 tmp53 [V53,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V54 tmp54 [V54,T48] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V55 tmp55 [V55,T49] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V56 tmp56 [V56,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V57 tmp57 [V57,T50] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V58 tmp58 [V58,T51] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V59 tmp59 [V59,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V60 tmp60 [V60,T52] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V61 tmp61 [V61,T53] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V62 tmp62 [V62,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V63 tmp63 [V63,T54] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V64 tmp64 [V64,T55] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V65 tmp65 [V65,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V66 tmp66 [V66,T56] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V67 tmp67 [V67,T57] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V68 tmp68 [V68,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V69 tmp69 [V69,T58] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V70 tmp70 [V70,T59] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V71 tmp71 [V71,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V72 tmp72 [V72,T60] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V73 tmp73 [V73,T61] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V74 tmp74 [V74,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V75 tmp75 [V75,T62] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V76 tmp76 [V76,T63] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V77 tmp77 [V77,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V78 tmp78 [V78,T74] ( 3, 0 ) int -> rcx "Inline return value spill temp"
-; V79 tmp79 [V79,T01] ( 6, 4 ) ref -> rcx class-hnd single-def "Inlining Arg" <System.Type>
+;* V33 tmp33 [V33,T35] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V34 tmp34 [V34,T36] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V35 tmp35 [V35,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V36 tmp36 [V36,T37] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V37 tmp37 [V37,T38] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V38 tmp38 [V38,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V39 tmp39 [V39,T39] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V40 tmp40 [V40,T40] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V41 tmp41 [V41,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V42 tmp42 [V42,T41] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V43 tmp43 [V43,T42] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V44 tmp44 [V44,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V45 tmp45 [V45,T43] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V46 tmp46 [V46,T44] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V47 tmp47 [V47,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V48 tmp48 [V48,T45] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V49 tmp49 [V49,T46] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V50 tmp50 [V50,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V51 tmp51 [V51,T47] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V52 tmp52 [V52,T48] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V53 tmp53 [V53,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V54 tmp54 [V54,T49] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V55 tmp55 [V55,T50] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V56 tmp56 [V56,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V57 tmp57 [V57,T51] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V58 tmp58 [V58,T52] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V59 tmp59 [V59,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V60 tmp60 [V60,T53] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V61 tmp61 [V61,T54] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V62 tmp62 [V62,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V63 tmp63 [V63,T55] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V64 tmp64 [V64,T56] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V65 tmp65 [V65,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V66 tmp66 [V66,T57] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V67 tmp67 [V67,T58] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V68 tmp68 [V68,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V69 tmp69 [V69,T59] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V70 tmp70 [V70,T60] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V71 tmp71 [V71,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V72 tmp72 [V72,T61] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V73 tmp73 [V73,T62] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V74 tmp74 [V74,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V75 tmp75 [V75,T63] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V76 tmp76 [V76,T64] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V77 tmp77 [V77,T18] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V78 tmp78 [V78,T75] ( 3, 0 ) int -> rcx "Inline return value spill temp"
+; V79 tmp79 [V79,T02] ( 6, 4 ) ref -> rcx class-hnd single-def "Inlining Arg" <System.Type>
;* V80 tmp80 [V80 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V81 tmp81 [V81 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.RuntimeType>
-; V82 tmp82 [V82,T75] ( 3, 0 ) int -> rcx "guarded devirt return temp"
+; V82 tmp82 [V82,T76] ( 3, 0 ) int -> rcx "guarded devirt return temp"
;* V83 tmp83 [V83 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V84 tmp84 [V84 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V85 tmp85 [V85 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V86 tmp86 [V86 ] ( 0, 0 ) ref -> zero-ref "CASTCLASS eval op1"
;* V87 tmp87 [V87 ] ( 0, 0 ) long -> zero-ref "fgMakeTemp is creating a new local variable"
;* V88 tmp88 [V88 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.RuntimeType>
-;* V89 tmp89 [V89,T102] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V90 tmp90 [V90,T103] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V91 tmp91 [V91,T86] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V92 tmp92 [V92,T104] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V93 tmp93 [V93,T105] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V94 tmp94 [V94,T87] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V95 tmp95 [V95,T106] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V96 tmp96 [V96,T107] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V97 tmp97 [V97,T88] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V98 tmp98 [V98,T108] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V99 tmp99 [V99,T109] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V100 tmp100 [V100,T89] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V101 tmp101 [V101,T110] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V102 tmp102 [V102,T111] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V103 tmp103 [V103,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V104 tmp104 [V104,T112] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V105 tmp105 [V105,T113] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V106 tmp106 [V106,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V107 tmp107 [V107,T114] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V108 tmp108 [V108,T115] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V109 tmp109 [V109,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V110 tmp110 [V110,T116] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V111 tmp111 [V111,T117] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V112 tmp112 [V112,T93] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V113 tmp113 [V113,T118] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V114 tmp114 [V114,T119] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V115 tmp115 [V115,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V116 tmp116 [V116,T120] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V117 tmp117 [V117,T121] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V118 tmp118 [V118,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V119 tmp119 [V119,T122] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V120 tmp120 [V120,T123] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V121 tmp121 [V121,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V122 tmp122 [V122,T124] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V123 tmp123 [V123,T125] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V124 tmp124 [V124,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V125 tmp125 [V125,T126] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V126 tmp126 [V126,T127] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V127 tmp127 [V127,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V128 tmp128 [V128,T128] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V129 tmp129 [V129,T129] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V130 tmp130 [V130,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V131 tmp131 [V131,T76] ( 3, 0 ) int -> rcx "Inline return value spill temp"
-; V132 tmp132 [V132,T66] ( 6, 0 ) ref -> rax class-hnd single-def "Inlining Arg" <System.Type>
+;* V89 tmp89 [V89,T103] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V90 tmp90 [V90,T104] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V91 tmp91 [V91,T87] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V92 tmp92 [V92,T105] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V93 tmp93 [V93,T106] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V94 tmp94 [V94,T88] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V95 tmp95 [V95,T107] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V96 tmp96 [V96,T108] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V97 tmp97 [V97,T89] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V98 tmp98 [V98,T109] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V99 tmp99 [V99,T110] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V100 tmp100 [V100,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V101 tmp101 [V101,T111] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V102 tmp102 [V102,T112] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V103 tmp103 [V103,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V104 tmp104 [V104,T113] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V105 tmp105 [V105,T114] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V106 tmp106 [V106,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V107 tmp107 [V107,T115] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V108 tmp108 [V108,T116] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V109 tmp109 [V109,T93] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V110 tmp110 [V110,T117] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V111 tmp111 [V111,T118] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V112 tmp112 [V112,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V113 tmp113 [V113,T119] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V114 tmp114 [V114,T120] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V115 tmp115 [V115,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V116 tmp116 [V116,T121] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V117 tmp117 [V117,T122] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V118 tmp118 [V118,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V119 tmp119 [V119,T123] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V120 tmp120 [V120,T124] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V121 tmp121 [V121,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V122 tmp122 [V122,T125] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V123 tmp123 [V123,T126] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V124 tmp124 [V124,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V125 tmp125 [V125,T127] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V126 tmp126 [V126,T128] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V127 tmp127 [V127,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V128 tmp128 [V128,T129] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V129 tmp129 [V129,T130] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V130 tmp130 [V130,T100] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V131 tmp131 [V131,T77] ( 3, 0 ) int -> rcx "Inline return value spill temp"
+; V132 tmp132 [V132,T67] ( 6, 0 ) ref -> rax class-hnd single-def "Inlining Arg" <System.Type>
...
libraries_tests.run.windows.x64.Release.mch
+0 (0.00%) : 158801.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)
@@ -777,7 +777,7 @@ G_M28076_IG57: ; bbWeight=0.50, gcrefRegs=0045 {rax rdx rsi}, byrefRegs=0
G_M28076_IG58: ; bbWeight=0.25, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
mov rcx, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx] +[rax]
; gcr arg pop 0
;; size=15 bbWeight=0.25 PerfScore 0.31
+0 (0.00%) : 353737.dasm - System.Text.RegularExpressions.RegexNode:FindAndMakeLoopsAtomic():this (Tier1)
@@ -110,7 +110,7 @@ G_M41283_IG09: ; bbWeight=0.42, gcrefRegs=002C {rdx rbx rbp}, byrefRegs=0
G_M41283_IG10: ; bbWeight=0.21, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref
; gcrRegs -[rbp]
mov rcx, 0xD1FFAB1E ; <unknown class>
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx] +[rax]
; gcr arg pop 0
mov rbp, rax
+0 (0.00%) : 569686.dasm - System.Linq.Expressions.Compiler.CompilerScope:AllocateLocals(System.Linq.Expressions.Compiler.LambdaCompiler):this (Tier1)
@@ -265,7 +265,7 @@ G_M25235_IG14: ; bbWeight=3.37, gcrefRegs=60C8 {rbx rsi rdi r13 r14}, byr
mov rdx, rdi
; gcrRegs +[rdx]
mov rcx, 0xD1FFAB1E ; System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx rdi] +[rax]
; gcr arg pop 0
;; size=18 bbWeight=3.37 PerfScore 5.05
@@ -402,7 +402,7 @@ G_M25235_IG28: ; bbWeight=3.37, gcrefRegs=C1C8 {rbx rsi rdi r8 r14 r15},
mov rdx, r8
; gcrRegs +[rdx]
mov rcx, 0xD1FFAB1E ; System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx r8] +[rax]
; gcr arg pop 0
mov r10, rax
@@ -694,7 +694,7 @@ G_M25235_IG60: ; bbWeight=0.03, gcrefRegs=60C8 {rbx rsi rdi r13 r14}, byr
mov rdx, rdi
; gcrRegs +[rdx]
mov rcx, 0xD1FFAB1E ; System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx rdi] +[rax]
; gcr arg pop 0
jmp SHORT G_M25235_IG55
@@ -739,7 +739,7 @@ G_M25235_IG66: ; bbWeight=0.03, gcrefRegs=C1C8 {rbx rsi rdi r8 r14 r15},
mov rdx, r8
; gcrRegs +[rdx]
mov rcx, 0xD1FFAB1E ; System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ParameterExpression]
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx r8] +[rax]
; gcr arg pop 0
mov r10, rax
+0 (0.00%) : 54736.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)
@@ -513,7 +513,7 @@ G_M28076_IG12: ; bbWeight=0.49, gcrefRegs=0045 {rax rdx rsi}, byrefRegs=0
G_M28076_IG13: ; bbWeight=0.25, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
mov rcx, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx] +[rax]
; gcr arg pop 0
;; size=15 bbWeight=0.25 PerfScore 0.31
+0 (0.00%) : 160492.dasm - Microsoft.CodeAnalysis.Compilation:IsSymbolAccessibleWithin(Microsoft.CodeAnalysis.ISymbol,Microsoft.CodeAnalysis.ISymbol,Microsoft.CodeAnalysis.ITypeSymbol):ubyte:this (Tier1)
@@ -374,7 +374,7 @@ G_M38169_IG29: ; bbWeight=0.25, gcrefRegs=9000 {r12 r15}, byrefRegs=0000
mov rdx, r12
; gcrRegs +[rdx]
mov rcx, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx r12] +[rax]
; gcr arg pop 0
mov rdx, rax
+0 (0.00%) : 259628.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -849,7 +849,7 @@ G_M27650_IG50: ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
je SHORT G_M27650_IG51
mov rdx, rsi
mov rcx, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[rdx] +[rax]
; gcr arg pop 0
;; size=78 bbWeight=0 PerfScore 0.00
Details
Improvements/regressions per collection
| Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
| benchmarks.run.windows.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| benchmarks.run_pgo.windows.x64.checked.mch |
1 |
0 |
0 |
1 |
-0 |
+0 |
| benchmarks.run_tiered.windows.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| coreclr_tests.run.windows.x64.checked.mch |
5 |
0 |
2 |
3 |
-0 |
+8 |
| libraries.crossgen2.windows.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries.pmi.windows.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries_tests.run.windows.x64.Release.mch |
12 |
1 |
1 |
10 |
-73 |
+137 |
| librariestestsnotieredcompilation.run.windows.x64.Release.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| realworld.run.windows.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| smoke_tests.nativeaot.windows.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
|
18 |
1 |
3 |
14 |
-73 |
+145 |
Context information
| Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
| benchmarks.run.windows.x64.checked.mch |
27,917 |
4 |
27,913 |
0 (0.00%) |
0 (0.00%) |
| benchmarks.run_pgo.windows.x64.checked.mch |
102,635 |
50,161 |
52,474 |
0 (0.00%) |
19 (0.02%) |
| benchmarks.run_tiered.windows.x64.checked.mch |
54,333 |
36,871 |
17,462 |
0 (0.00%) |
0 (0.00%) |
| coreclr_tests.run.windows.x64.checked.mch |
573,722 |
341,128 |
232,594 |
1 (0.00%) |
8 (0.00%) |
| libraries.crossgen2.windows.x64.checked.mch |
2,104 |
0 |
2,104 |
0 (0.00%) |
0 (0.00%) |
| libraries.pmi.windows.x64.checked.mch |
309,148 |
6 |
309,142 |
0 (0.00%) |
0 (0.00%) |
| libraries_tests.run.windows.x64.Release.mch |
671,225 |
476,124 |
195,101 |
0 (0.00%) |
110 (0.02%) |
| librariestestsnotieredcompilation.run.windows.x64.Release.mch |
320,489 |
21,924 |
298,565 |
0 (0.00%) |
0 (0.00%) |
| realworld.run.windows.x64.checked.mch |
36,887 |
3 |
36,884 |
0 (0.00%) |
0 (0.00%) |
| smoke_tests.nativeaot.windows.x64.checked.mch |
67 |
0 |
67 |
0 (0.00%) |
0 (0.00%) |
|
2,098,527 |
926,221 |
1,172,306 |
1 (0.00%) |
137 (0.01%) |
jit-analyze output
benchmarks.run_pgo.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 35784506 (overridden on cmd)
Total bytes of diff: 35784506 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 1 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
coreclr_tests.run.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 392964812 (overridden on cmd)
Total bytes of diff: 392964820 (overridden on cmd)
Total bytes of delta: 8 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
7 : 185024.dasm (0.36 % of base)
1 : 371980.dasm (0.04 % of base)
2 total files with Code Size differences (0 improved, 2 regressed), 3 unchanged.
Top method regressions (bytes):
7 (0.36 % of base) : 185024.dasm - Program:TestEntryPoint() (FullOpts)
1 (0.04 % of base) : 371980.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
Top method regressions (percentages):
7 (0.36 % of base) : 185024.dasm - Program:TestEntryPoint() (FullOpts)
1 (0.04 % of base) : 371980.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
2 total methods with Code Size differences (0 improved, 2 regressed).
libraries_tests.run.windows.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 278842786 (overridden on cmd)
Total bytes of diff: 278842850 (overridden on cmd)
Total bytes of delta: 64 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
137 : 126813.dasm (1.64 % of base)
Top file improvements (bytes):
-73 : 126815.dasm (-1.44 % of base)
2 total files with Code Size differences (1 improved, 1 regressed), 10 unchanged.
Top method regressions (bytes):
137 (1.64 % of base) : 126813.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
Top method improvements (bytes):
-73 (-1.44 % of base) : 126815.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
Top method regressions (percentages):
137 (1.64 % of base) : 126813.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ConstructorCallSite:this (Tier1)
Top method improvements (percentages):
-73 (-1.44 % of base) : 126815.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],ubyte):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite[]:this (Tier1)
2 total methods with Code Size differences (1 improved, 1 regressed).