Assembly Diffs
linux arm
Diffs are based on 2,053,401 contexts (830,139 MinOpts, 1,223,262 FullOpts).
MISSED contexts: base: 71,332 (3.36%), diff: 71,442 (3.36%)
Overall (+4 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| benchmarks.run_pgo.linux.arm.checked.mch |
66,288,638 |
+0 |
| coreclr_tests.run.linux.arm.checked.mch |
321,698,154 |
+4 |
| libraries_tests.run.linux.arm.Release.mch |
242,710,304 |
+0 |
FullOpts (+4 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| benchmarks.run_pgo.linux.arm.checked.mch |
54,410,306 |
+0 |
| coreclr_tests.run.linux.arm.checked.mch |
109,247,522 |
+4 |
| libraries_tests.run.linux.arm.Release.mch |
121,729,588 |
+0 |
Example diffs
benchmarks.run_pgo.linux.arm.checked.mch
+0 (0.00%) : 143237.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1132,7 +1132,7 @@ G_M27650_IG65: ; bbWeight=0, gcrefRegs=0060 {r5 r6}, byrefRegs=0000 {}, b
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
;; size=56 bbWeight=0 PerfScore 0.00
G_M27650_IG66: ; bbWeight=0, gcrefRegs=0060 {r5 r6}, byrefRegs=0000 {}, byref, isz
+0 (0.00%) : 138754.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1132,7 +1132,7 @@ G_M27650_IG65: ; bbWeight=0, gcrefRegs=0060 {r5 r6}, byrefRegs=0000 {}, b
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
;; size=56 bbWeight=0 PerfScore 0.00
G_M27650_IG66: ; bbWeight=0, gcrefRegs=0060 {r5 r6}, byrefRegs=0000 {}, byref, isz
coreclr_tests.run.linux.arm.checked.mch
+0 (0.00%) : 262253.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1000,7 +1000,7 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=0030 {r4 r5}, byrefRegs=0000 {}, b
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
;; size=80 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=0030 {r4 r5}, byrefRegs=0000 {}, byref, isz
+0 (0.00%) : 258263.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1005,7 +1005,7 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=0030 {r4 r5}, byrefRegs=0000 {}, b
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
;; size=84 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=0030 {r4 r5}, byrefRegs=0000 {}, byref, isz
+0 (0.00%) : 298247.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1001,7 +1001,7 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=0030 {r4 r5}, byrefRegs=0000 {}, b
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
;; size=80 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=0030 {r4 r5}, byrefRegs=0000 {}, byref, isz
+0 (0.00%) : 319304.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1000,7 +1000,7 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=0030 {r4 r5}, byrefRegs=0000 {}, b
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
;; size=80 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=0030 {r4 r5}, byrefRegs=0000 {}, byref, isz
+2 (+0.09%) : 263966.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1006,9 +1006,10 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=0030 {r4 r5}, byrefRegs=0000 {}, b
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ ldr r3, [r3]
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
- ;; size=84 bbWeight=0 PerfScore 0.00
+ ;; size=86 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=0030 {r4 r5}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[r0]
mov r3, r5
@@ -1514,7 +1515,7 @@ G_M27650_IG72: ; bbWeight=0, gcrefRegs=0010 {r4}, byrefRegs=0000 {}, byre
b SHORT G_M27650_IG46
;; size=22 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2270, prolog size 10, PerfScore 362.97, instruction count 846, allocated bytes for code 2270 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
+; Total bytes of code 2272, prolog size 10, PerfScore 362.97, instruction count 847, allocated bytes for code 2272 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
; ============================================================
Unwind Info:
@@ -1526,7 +1527,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 1135 (0x0046f) Actual length = 2270 (0x0008de)
+ Function Length : 1136 (0x00470) Actual length = 2272 (0x0008e0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+2 (+0.12%) : 109575.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 -> r0 "Inline return value spill temp"
+; V01 tmp1 [V01,T03] ( 3, 1.50) int -> r0 "Inline return value spill temp"
;* V02 tmp2 [V02 ] ( 0, 0 ) int -> 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,T73] ( 18, 0 ) int -> r0 "Inline return value spill temp"
-; V05 tmp5 [V05,T72] ( 18, 0 ) ref -> r4 class-hnd "Inline stloc first use temp" <System.RuntimeType>
-; V06 tmp6 [V06,T80] ( 3, 0 ) ref -> r1 single-def "CASTCLASS eval op1"
-; V07 tmp7 [V07,T81] ( 3, 0 ) int -> r3 "fgMakeTemp is creating a new local variable"
-; V08 tmp8 [V08,T79] ( 4, 0 ) ref -> r4 class-hnd single-def "spilling QMark2" <System.RuntimeType>
-;* V09 tmp9 [V09,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V10 tmp10 [V10,T27] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V11 tmp11 [V11,T03] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V12 tmp12 [V12,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V13 tmp13 [V13,T29] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V14 tmp14 [V14,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V15 tmp15 [V15,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V16 tmp16 [V16,T31] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V17 tmp17 [V17,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V18 tmp18 [V18,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V19 tmp19 [V19,T33] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V20 tmp20 [V20,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V21 tmp21 [V21,T34] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V22 tmp22 [V22,T35] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V23 tmp23 [V23,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V24 tmp24 [V24,T36] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V25 tmp25 [V25,T37] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V26 tmp26 [V26,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V27 tmp27 [V27,T38] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V28 tmp28 [V28,T39] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V29 tmp29 [V29,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V30 tmp30 [V30,T40] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V31 tmp31 [V31,T41] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V32 tmp32 [V32,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V33 tmp33 [V33,T42] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V34 tmp34 [V34,T43] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V35 tmp35 [V35,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V36 tmp36 [V36,T44] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V37 tmp37 [V37,T45] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V38 tmp38 [V38,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V39 tmp39 [V39,T46] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V40 tmp40 [V40,T47] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V41 tmp41 [V41,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V42 tmp42 [V42,T48] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V43 tmp43 [V43,T49] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V44 tmp44 [V44,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V45 tmp45 [V45,T50] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V46 tmp46 [V46,T51] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V47 tmp47 [V47,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V48 tmp48 [V48,T52] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V49 tmp49 [V49,T53] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V50 tmp50 [V50,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V51 tmp51 [V51,T54] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V52 tmp52 [V52,T55] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V53 tmp53 [V53,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V54 tmp54 [V54,T56] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V55 tmp55 [V55,T57] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V56 tmp56 [V56,T18] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V57 tmp57 [V57,T58] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V58 tmp58 [V58,T59] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V59 tmp59 [V59,T19] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V60 tmp60 [V60,T60] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V61 tmp61 [V61,T61] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V62 tmp62 [V62,T20] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V63 tmp63 [V63,T62] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V64 tmp64 [V64,T63] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V65 tmp65 [V65,T21] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V66 tmp66 [V66,T64] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V67 tmp67 [V67,T65] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V68 tmp68 [V68,T22] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V69 tmp69 [V69,T66] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V70 tmp70 [V70,T67] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V71 tmp71 [V71,T23] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V72 tmp72 [V72,T68] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V73 tmp73 [V73,T69] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V74 tmp74 [V74,T24] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V75 tmp75 [V75,T70] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V76 tmp76 [V76,T71] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V77 tmp77 [V77,T25] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V78 tmp78 [V78,T82] ( 3, 0 ) int -> r0 "Inline return value spill temp"
-; V79 tmp79 [V79,T01] ( 6, 4 ) ref -> r0 class-hnd single-def "Inlining Arg" <System.Type>
+; V04 tmp4 [V04,T74] ( 18, 0 ) int -> r0 "Inline return value spill temp"
+; V05 tmp5 [V05,T73] ( 18, 0 ) ref -> r4 class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V06 tmp6 [V06,T81] ( 3, 0 ) ref -> r1 single-def "CASTCLASS eval op1"
+; V07 tmp7 [V07,T82] ( 3, 0 ) int -> r3 "fgMakeTemp is creating a new local variable"
+; V08 tmp8 [V08,T80] ( 4, 0 ) ref -> r4 class-hnd single-def "spilling QMark2" <System.RuntimeType>
+;* V09 tmp9 [V09,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V10 tmp10 [V10,T28] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V11 tmp11 [V11,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V12 tmp12 [V12,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V13 tmp13 [V13,T30] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V14 tmp14 [V14,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V15 tmp15 [V15,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V16 tmp16 [V16,T32] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V17 tmp17 [V17,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V18 tmp18 [V18,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V19 tmp19 [V19,T34] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V20 tmp20 [V20,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V21 tmp21 [V21,T35] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V22 tmp22 [V22,T36] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V23 tmp23 [V23,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V24 tmp24 [V24,T37] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V25 tmp25 [V25,T38] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V26 tmp26 [V26,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V27 tmp27 [V27,T39] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V28 tmp28 [V28,T40] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V29 tmp29 [V29,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V30 tmp30 [V30,T41] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V31 tmp31 [V31,T42] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V32 tmp32 [V32,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V33 tmp33 [V33,T43] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V34 tmp34 [V34,T44] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V35 tmp35 [V35,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V36 tmp36 [V36,T45] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V37 tmp37 [V37,T46] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V38 tmp38 [V38,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V39 tmp39 [V39,T47] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V40 tmp40 [V40,T48] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V41 tmp41 [V41,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V42 tmp42 [V42,T49] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V43 tmp43 [V43,T50] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V44 tmp44 [V44,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V45 tmp45 [V45,T51] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V46 tmp46 [V46,T52] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V47 tmp47 [V47,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V48 tmp48 [V48,T53] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V49 tmp49 [V49,T54] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V50 tmp50 [V50,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V51 tmp51 [V51,T55] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V52 tmp52 [V52,T56] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V53 tmp53 [V53,T18] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V54 tmp54 [V54,T57] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V55 tmp55 [V55,T58] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V56 tmp56 [V56,T19] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V57 tmp57 [V57,T59] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V58 tmp58 [V58,T60] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V59 tmp59 [V59,T20] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V60 tmp60 [V60,T61] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V61 tmp61 [V61,T62] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V62 tmp62 [V62,T21] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V63 tmp63 [V63,T63] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V64 tmp64 [V64,T64] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V65 tmp65 [V65,T22] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V66 tmp66 [V66,T65] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V67 tmp67 [V67,T66] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V68 tmp68 [V68,T23] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V69 tmp69 [V69,T67] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V70 tmp70 [V70,T68] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V71 tmp71 [V71,T24] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V72 tmp72 [V72,T69] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V73 tmp73 [V73,T70] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V74 tmp74 [V74,T25] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V75 tmp75 [V75,T71] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V76 tmp76 [V76,T72] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V77 tmp77 [V77,T26] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V78 tmp78 [V78,T83] ( 3, 0 ) int -> r0 "Inline return value spill temp"
+; V79 tmp79 [V79,T02] ( 6, 4 ) ref -> r0 class-hnd single-def "Inlining Arg" <System.Type>
;* V80 tmp80 [V80 ] ( 0, 0 ) int -> 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,T83] ( 3, 0 ) int -> r0 "guarded devirt return temp"
+; V82 tmp82 [V82,T84] ( 3, 0 ) int -> r0 "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 ) int -> 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,T110] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V90 tmp90 [V90,T111] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V91 tmp91 [V91,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V92 tmp92 [V92,T112] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V93 tmp93 [V93,T113] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V94 tmp94 [V94,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V95 tmp95 [V95,T114] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V96 tmp96 [V96,T115] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V97 tmp97 [V97,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V98 tmp98 [V98,T116] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V99 tmp99 [V99,T117] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V100 tmp100 [V100,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V101 tmp101 [V101,T118] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V102 tmp102 [V102,T119] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V103 tmp103 [V103,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V104 tmp104 [V104,T120] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V105 tmp105 [V105,T121] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V106 tmp106 [V106,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V107 tmp107 [V107,T122] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V108 tmp108 [V108,T123] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V109 tmp109 [V109,T100] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V110 tmp110 [V110,T124] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V111 tmp111 [V111,T125] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V112 tmp112 [V112,T101] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V113 tmp113 [V113,T126] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V114 tmp114 [V114,T127] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V115 tmp115 [V115,T102] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V116 tmp116 [V116,T128] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V117 tmp117 [V117,T129] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V118 tmp118 [V118,T103] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V119 tmp119 [V119,T130] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V120 tmp120 [V120,T131] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V121 tmp121 [V121,T104] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V122 tmp122 [V122,T132] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V123 tmp123 [V123,T133] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V124 tmp124 [V124,T105] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V125 tmp125 [V125,T134] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V126 tmp126 [V126,T135] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V127 tmp127 [V127,T106] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V128 tmp128 [V128,T136] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V129 tmp129 [V129,T137] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V130 tmp130 [V130,T107] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V131 tmp131 [V131,T84] ( 3, 0 ) int -> r0 "Inline return value spill temp"
-; V132 tmp132 [V132,T74] ( 6, 0 ) ref -> r0 class-hnd single-def "Inlining Arg" <System.Type>
+;* V89 tmp89 [V89,T111] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V90 tmp90 [V90,T112] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V91 tmp91 [V91,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V92 tmp92 [V92,T113] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V93 tmp93 [V93,T114] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V94 tmp94 [V94,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V95 tmp95 [V95,T115] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V96 tmp96 [V96,T116] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V97 tmp97 [V97,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V98 tmp98 [V98,T117] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V99 tmp99 [V99,T118] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V100 tmp100 [V100,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V101 tmp101 [V101,T119] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V102 tmp102 [V102,T120] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V103 tmp103 [V103,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V104 tmp104 [V104,T121] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V105 tmp105 [V105,T122] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V106 tmp106 [V106,T100] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V107 tmp107 [V107,T123] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V108 tmp108 [V108,T124] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V109 tmp109 [V109,T101] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V110 tmp110 [V110,T125] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V111 tmp111 [V111,T126] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V112 tmp112 [V112,T102] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V113 tmp113 [V113,T127] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V114 tmp114 [V114,T128] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V115 tmp115 [V115,T103] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V116 tmp116 [V116,T129] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V117 tmp117 [V117,T130] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V118 tmp118 [V118,T104] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V119 tmp119 [V119,T131] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V120 tmp120 [V120,T132] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V121 tmp121 [V121,T105] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V122 tmp122 [V122,T133] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V123 tmp123 [V123,T134] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V124 tmp124 [V124,T106] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
...
libraries_tests.run.linux.arm.Release.mch
+0 (0.00%) : 23045.dasm - System.Text.RegularExpressions.RegexNode:g_ExtractCommonPrefixOneNotoneSet|411(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.RegexNode (Tier0-FullOpts)
@@ -256,7 +256,7 @@ G_M3603_IG18: ; bbWeight=0.50, gcrefRegs=0032 {r1 r4 r5}, byrefRegs=0000
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
; gcr arg pop 0
mov r8, r0
@@ -370,7 +370,7 @@ G_M3603_IG31: ; bbWeight=2, gcrefRegs=00B2 {r1 r4 r5 r7}, byrefRegs=0000
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
; gcr arg pop 0
mov r10, r0
+0 (0.00%) : 36845.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)
@@ -722,7 +722,7 @@ G_M28076_IG40: ; bbWeight=0.25, gcrefRegs=0022 {r1 r5}, byrefRegs=0000 {}
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
mov r3, r0
; gcrRegs +[r3]
+0 (0.00%) : 166685.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)
@@ -771,7 +771,7 @@ G_M28076_IG45: ; bbWeight=0.25, gcrefRegs=0022 {r1 r5}, byrefRegs=0000 {}
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
mov r3, r0
; gcrRegs +[r3]
+0 (0.00%) : 23012.dasm - System.Text.RegularExpressions.RegexNode:g_ExtractCommonPrefixText|413(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.RegexNode (Tier0-FullOpts)
@@ -573,7 +573,7 @@ G_M62619_IG37: ; bbWeight=2, gcrefRegs=0032 {r1 r4 r5}, byrefRegs=0040 {r
movt r0, 0xd1ff
movw r12, 0xd1ff
movt r12, 0xd1ff
- blx r12 // CORINFO_HELP_CHKCASTCLASS
+ blx r12 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
; gcr arg pop 0
mov r12, r0
+0 (0.00%) : 79544.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)
@@ -824,7 +824,7 @@ G_M28076_IG51: ; bbWeight=0.25, gcrefRegs=0022 {r1 r5}, byrefRegs=0000 {}
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
mov r3, r0
; gcrRegs +[r3]
+0 (0.00%) : 661940.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)
@@ -594,7 +594,7 @@ G_M28076_IG35: ; bbWeight=0.25, gcrefRegs=0022 {r1 r5}, byrefRegs=0000 {}
movt r0, 0xd1ff
movw r3, 0xd1ff
movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_CHKCASTCLASS
+ blx r3 // CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[r1] +[r0]
mov r3, r0
; gcrRegs +[r3]
Details
Improvements/regressions per collection
| Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
| benchmarks.run.linux.arm.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| benchmarks.run_pgo.linux.arm.checked.mch |
2 |
0 |
0 |
2 |
-0 |
+0 |
| benchmarks.run_tiered.linux.arm.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| coreclr_tests.run.linux.arm.checked.mch |
6 |
0 |
2 |
4 |
-0 |
+4 |
| libraries.crossgen2.linux.arm.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries.pmi.linux.arm.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries_tests.run.linux.arm.Release.mch |
20 |
0 |
0 |
20 |
-0 |
+0 |
| librariestestsnotieredcompilation.run.linux.arm.Release.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| realworld.run.linux.arm.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
|
28 |
0 |
2 |
26 |
-0 |
+4 |
Context information
| Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
| benchmarks.run.linux.arm.checked.mch |
45,861 |
5,309 |
40,552 |
1,203 (2.56%) |
1,203 (2.56%) |
| benchmarks.run_pgo.linux.arm.checked.mch |
163,471 |
59,183 |
104,288 |
3,288 (1.97%) |
3,293 (1.97%) |
| benchmarks.run_tiered.linux.arm.checked.mch |
77,676 |
42,033 |
35,643 |
1,064 (1.35%) |
1,064 (1.35%) |
| coreclr_tests.run.linux.arm.checked.mch |
472,225 |
259,246 |
212,979 |
7,156 (1.49%) |
7,164 (1.49%) |
| libraries.crossgen2.linux.arm.checked.mch |
1,763 |
0 |
1,763 |
0 (0.00%) |
0 (0.00%) |
| libraries.pmi.linux.arm.checked.mch |
272,134 |
6 |
272,128 |
7,783 (2.78%) |
7,783 (2.78%) |
| libraries_tests.run.linux.arm.Release.mch |
709,268 |
442,605 |
266,663 |
16,220 (2.24%) |
16,317 (2.25%) |
| librariestestsnotieredcompilation.run.linux.arm.Release.mch |
274,609 |
21,604 |
253,005 |
33,211 (10.79%) |
33,211 (10.79%) |
| realworld.run.linux.arm.checked.mch |
36,394 |
153 |
36,241 |
1,407 (3.72%) |
1,407 (3.72%) |
|
2,053,401 |
830,139 |
1,223,262 |
71,332 (3.36%) |
71,442 (3.36%) |
jit-analyze output
benchmarks.run_pgo.linux.arm.checked.mch
To reproduce these diffs on Windows x86:
superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 66288638 (overridden on cmd)
Total bytes of diff: 66288638 (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), 2 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
coreclr_tests.run.linux.arm.checked.mch
To reproduce these diffs on Windows x86:
superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 321698154 (overridden on cmd)
Total bytes of diff: 321698158 (overridden on cmd)
Total bytes of delta: 4 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
2 : 109575.dasm (0.12 % of base)
2 : 263966.dasm (0.09 % of base)
2 total files with Code Size differences (0 improved, 2 regressed), 4 unchanged.
Top method regressions (bytes):
2 (0.12 % of base) : 109575.dasm - Program:TestEntryPoint() (FullOpts)
2 (0.09 % of base) : 263966.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
Top method regressions (percentages):
2 (0.12 % of base) : 109575.dasm - Program:TestEntryPoint() (FullOpts)
2 (0.09 % of base) : 263966.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.linux.arm.Release.mch
To reproduce these diffs on Windows x86:
superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 242710304 (overridden on cmd)
Total bytes of diff: 242710304 (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), 20 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
windows x86
Diffs are based on 2,292,400 contexts (837,213 MinOpts, 1,455,187 FullOpts).
MISSED contexts: base: 0 (0.00%), diff: 118 (0.01%)
Overall (+11 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| benchmarks.run_pgo.windows.x86.checked.mch |
45,003,543 |
+0 |
| coreclr_tests.run.windows.x86.checked.mch |
309,511,888 |
+11 |
| libraries_tests.run.windows.x86.Release.mch |
185,467,531 |
+0 |
FullOpts (+11 bytes)
| Collection |
Base size (bytes) |
Diff size (bytes) |
| benchmarks.run_pgo.windows.x86.checked.mch |
38,449,036 |
+0 |
| coreclr_tests.run.windows.x86.checked.mch |
107,684,305 |
+11 |
| libraries_tests.run.windows.x86.Release.mch |
87,890,330 |
+0 |
Example diffs
benchmarks.run_pgo.windows.x86.checked.mch
+0 (0.00%) : 18964.dasm - System.Text.RegularExpressions.RegexNode:ReduceAtomic():System.Text.RegularExpressions.RegexNode:this (Tier0-FullOpts)
@@ -142,7 +142,7 @@ G_M59610_IG09: ; bbWeight=1, gcVars=0000000010000000 {V01}, gcrefRegs=000
G_M59610_IG10: ; bbWeight=0.50, gcrefRegs=00000044 {edx esi}, byrefRegs=00000000 {}, byref
; gcrRegs -[eax]
mov ecx, 0xD1FFAB1E ; <unknown class>
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[edx] +[eax]
;; size=10 bbWeight=0.50 PerfScore 0.62
G_M59610_IG11: ; bbWeight=2, gcrefRegs=00000041 {eax esi}, byrefRegs=00000000 {}, byref
coreclr_tests.run.windows.x86.checked.mch
+0 (0.00%) : 327892.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -881,7 +881,7 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=0000
je SHORT G_M27650_IG52
mov edx, edi
mov ecx, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[edx] +[eax]
;; size=70 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=00000000 {}, byref
+0 (0.00%) : 330340.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -881,7 +881,7 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=0000
je SHORT G_M27650_IG52
mov edx, edi
mov ecx, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[edx] +[eax]
;; size=70 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=00000000 {}, byref
+0 (0.00%) : 440868.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -881,7 +881,7 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=0000
je SHORT G_M27650_IG52
mov edx, edi
mov ecx, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[edx] +[eax]
;; size=70 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=00000000 {}, byref
+1 (+0.05%) : 352208.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -881,9 +881,9 @@ G_M27650_IG51: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=0000
je SHORT G_M27650_IG52
mov edx, edi
mov ecx, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call [CORINFO_HELP_CHKCASTCLASS_SPECIAL]
; gcrRegs -[edx] +[eax]
- ;; size=70 bbWeight=0 PerfScore 0.00
+ ;; size=71 bbWeight=0 PerfScore 0.00
G_M27650_IG52: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=00000000 {}, byref
; gcrRegs -[eax]
push dword ptr [ebp-0x1C]
@@ -1280,6 +1280,6 @@ G_M27650_IG70: ; bbWeight=0, gcrefRegs=00000040 {esi}, byrefRegs=00000000
jmp G_M27650_IG46
;; size=23 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1943, prolog size 9, PerfScore 346.15, instruction count 597, allocated bytes for code 1943 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
+; Total bytes of code 1944, prolog size 9, PerfScore 346.15, instruction count 597, allocated bytes for code 1944 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
; ============================================================
+1 (+0.05%) : 377496.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1160,9 +1160,9 @@ G_M27650_IG65: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=0000
je SHORT G_M27650_IG66
mov edx, edi
mov ecx, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call [CORINFO_HELP_CHKCASTCLASS_SPECIAL]
; gcrRegs -[edx] +[eax]
- ;; size=70 bbWeight=0 PerfScore 0.00
+ ;; size=71 bbWeight=0 PerfScore 0.00
G_M27650_IG66: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=00000000 {}, byref
; gcrRegs -[eax]
push dword ptr [ebp-0x1C]
@@ -1287,6 +1287,6 @@ G_M27650_IG74: ; bbWeight=0, gcrefRegs=00000040 {esi}, byrefRegs=00000000
jmp G_M27650_IG39
;; size=17 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1943, prolog size 9, PerfScore 346.15, instruction count 597, allocated bytes for code 1943 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
+; Total bytes of code 1944, prolog size 9, PerfScore 346.15, instruction count 597, allocated bytes for code 1944 (MethodHash=eb4d93fd) for method System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
; ============================================================
+4 (+0.27%) : 184116.dasm - Program:TestEntryPoint() (FullOpts)
@@ -8,198 +8,199 @@
; 92 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 tmp0 [V00,T02] ( 3, 1.50) int -> ecx "Inline return value spill temp"
+; V00 tmp0 [V00,T03] ( 3, 1.50) int -> ecx "Inline return value spill temp"
;* V01 tmp1 [V01 ] ( 0, 0 ) int -> zero-ref "fgMakeTemp is creating a new local variable"
;* V02 tmp2 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "spilling QMark2" <System.RuntimeType>
-; V03 tmp3 [V03,T66] ( 17, 0 ) int -> ecx "Inline return value spill temp"
-; V04 tmp4 [V04,T65] ( 18, 0 ) ref -> esi class-hnd "Inline stloc first use temp" <System.RuntimeType>
-; V05 tmp5 [V05,T73] ( 3, 0 ) ref -> eax single-def "CASTCLASS eval op1"
-; V06 tmp6 [V06,T74] ( 3, 0 ) int -> ecx "fgMakeTemp is creating a new local variable"
-; V07 tmp7 [V07,T72] ( 4, 0 ) ref -> esi class-hnd single-def "spilling QMark2" <System.RuntimeType>
-;* V08 tmp8 [V08,T19] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V09 tmp9 [V09,T20] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+; V03 tmp3 [V03,T67] ( 17, 0 ) int -> ecx "Inline return value spill temp"
+; V04 tmp4 [V04,T66] ( 18, 0 ) ref -> esi class-hnd "Inline stloc first use temp" <System.RuntimeType>
+; V05 tmp5 [V05,T74] ( 3, 0 ) ref -> eax single-def "CASTCLASS eval op1"
+; V06 tmp6 [V06,T75] ( 3, 0 ) int -> ecx "fgMakeTemp is creating a new local variable"
+; V07 tmp7 [V07,T73] ( 4, 0 ) ref -> esi class-hnd single-def "spilling QMark2" <System.RuntimeType>
+;* V08 tmp8 [V08,T20] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V09 tmp9 [V09,T21] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V10 tmp10 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V11 tmp11 [V11,T21] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V12 tmp12 [V12,T22] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V11 tmp11 [V11,T22] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V12 tmp12 [V12,T23] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V13 tmp13 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V14 tmp14 [V14,T23] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V15 tmp15 [V15,T24] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V14 tmp14 [V14,T24] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V15 tmp15 [V15,T25] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V16 tmp16 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V17 tmp17 [V17,T25] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V18 tmp18 [V18,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V17 tmp17 [V17,T26] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V18 tmp18 [V18,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V19 tmp19 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V20 tmp20 [V20,T27] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V21 tmp21 [V21,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V20 tmp20 [V20,T28] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V21 tmp21 [V21,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V22 tmp22 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V23 tmp23 [V23,T29] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V24 tmp24 [V24,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V23 tmp23 [V23,T30] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V24 tmp24 [V24,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V25 tmp25 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V26 tmp26 [V26,T31] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V27 tmp27 [V27,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V26 tmp26 [V26,T32] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V27 tmp27 [V27,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
;* V28 tmp28 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V29 tmp29 [V29,T33] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V30 tmp30 [V30,T34] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V31 tmp31 [V31,T03] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V32 tmp32 [V32,T35] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V33 tmp33 [V33,T36] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V34 tmp34 [V34,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V35 tmp35 [V35,T37] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V36 tmp36 [V36,T38] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V37 tmp37 [V37,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V38 tmp38 [V38,T39] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V39 tmp39 [V39,T40] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V40 tmp40 [V40,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V41 tmp41 [V41,T41] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V42 tmp42 [V42,T42] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V43 tmp43 [V43,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V44 tmp44 [V44,T43] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V45 tmp45 [V45,T44] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V46 tmp46 [V46,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V47 tmp47 [V47,T45] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V48 tmp48 [V48,T46] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V49 tmp49 [V49,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V50 tmp50 [V50,T47] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V51 tmp51 [V51,T48] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V52 tmp52 [V52,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V53 tmp53 [V53,T49] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V54 tmp54 [V54,T50] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V55 tmp55 [V55,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V56 tmp56 [V56,T51] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V57 tmp57 [V57,T52] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V58 tmp58 [V58,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V59 tmp59 [V59,T53] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V60 tmp60 [V60,T54] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V61 tmp61 [V61,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V62 tmp62 [V62,T55] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V63 tmp63 [V63,T56] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V64 tmp64 [V64,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V65 tmp65 [V65,T57] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V66 tmp66 [V66,T58] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V67 tmp67 [V67,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V68 tmp68 [V68,T59] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V69 tmp69 [V69,T60] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V70 tmp70 [V70,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V71 tmp71 [V71,T61] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V72 tmp72 [V72,T62] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V73 tmp73 [V73,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V74 tmp74 [V74,T63] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V75 tmp75 [V75,T64] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V76 tmp76 [V76,T18] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V77 tmp77 [V77,T75] ( 3, 0 ) int -> ecx "Inline return value spill temp"
-; V78 tmp78 [V78,T01] ( 6, 4 ) ref -> ecx class-hnd single-def "Inlining Arg" <System.Type>
+;* V29 tmp29 [V29,T34] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V30 tmp30 [V30,T35] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V31 tmp31 [V31,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V32 tmp32 [V32,T36] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V33 tmp33 [V33,T37] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V34 tmp34 [V34,T05] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V35 tmp35 [V35,T38] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V36 tmp36 [V36,T39] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V37 tmp37 [V37,T06] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V38 tmp38 [V38,T40] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V39 tmp39 [V39,T41] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V40 tmp40 [V40,T07] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V41 tmp41 [V41,T42] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V42 tmp42 [V42,T43] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V43 tmp43 [V43,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V44 tmp44 [V44,T44] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V45 tmp45 [V45,T45] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V46 tmp46 [V46,T09] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V47 tmp47 [V47,T46] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V48 tmp48 [V48,T47] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V49 tmp49 [V49,T10] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V50 tmp50 [V50,T48] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V51 tmp51 [V51,T49] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V52 tmp52 [V52,T11] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V53 tmp53 [V53,T50] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V54 tmp54 [V54,T51] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V55 tmp55 [V55,T12] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V56 tmp56 [V56,T52] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V57 tmp57 [V57,T53] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V58 tmp58 [V58,T13] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V59 tmp59 [V59,T54] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V60 tmp60 [V60,T55] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V61 tmp61 [V61,T14] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V62 tmp62 [V62,T56] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V63 tmp63 [V63,T57] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V64 tmp64 [V64,T15] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V65 tmp65 [V65,T58] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V66 tmp66 [V66,T59] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V67 tmp67 [V67,T16] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V68 tmp68 [V68,T60] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V69 tmp69 [V69,T61] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V70 tmp70 [V70,T17] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V71 tmp71 [V71,T62] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V72 tmp72 [V72,T63] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V73 tmp73 [V73,T18] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V74 tmp74 [V74,T64] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V75 tmp75 [V75,T65] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V76 tmp76 [V76,T19] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V77 tmp77 [V77,T76] ( 3, 0 ) int -> ecx "Inline return value spill temp"
+; V78 tmp78 [V78,T02] ( 6, 4 ) ref -> ecx class-hnd single-def "Inlining Arg" <System.Type>
;* V79 tmp79 [V79 ] ( 0, 0 ) int -> zero-ref "fgMakeTemp is creating a new local variable"
;* V80 tmp80 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.RuntimeType>
-; V81 tmp81 [V81,T76] ( 3, 0 ) int -> ecx "guarded devirt return temp"
+; V81 tmp81 [V81,T77] ( 3, 0 ) int -> ecx "guarded devirt return temp"
;* V82 tmp82 [V82 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
;* V83 tmp83 [V83 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V84 tmp84 [V84 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.RuntimeType>
;* V85 tmp85 [V85 ] ( 0, 0 ) ref -> zero-ref "CASTCLASS eval op1"
;* V86 tmp86 [V86 ] ( 0, 0 ) int -> zero-ref "fgMakeTemp is creating a new local variable"
;* V87 tmp87 [V87 ] ( 0, 0 ) ref -> zero-ref class-hnd "spilling QMark2" <System.RuntimeType>
-;* V88 tmp88 [V88,T103] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V89 tmp89 [V89,T104] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V90 tmp90 [V90,T87] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V91 tmp91 [V91,T105] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V92 tmp92 [V92,T106] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V93 tmp93 [V93,T88] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V94 tmp94 [V94,T107] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V95 tmp95 [V95,T108] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V96 tmp96 [V96,T89] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V97 tmp97 [V97,T109] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V98 tmp98 [V98,T110] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V99 tmp99 [V99,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V100 tmp100 [V100,T111] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V101 tmp101 [V101,T112] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V102 tmp102 [V102,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V103 tmp103 [V103,T113] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V104 tmp104 [V104,T114] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V105 tmp105 [V105,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V106 tmp106 [V106,T115] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V107 tmp107 [V107,T116] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V108 tmp108 [V108,T93] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V109 tmp109 [V109,T117] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V110 tmp110 [V110,T118] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V111 tmp111 [V111,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V112 tmp112 [V112,T119] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V113 tmp113 [V113,T120] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V114 tmp114 [V114,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V115 tmp115 [V115,T121] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V116 tmp116 [V116,T122] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V117 tmp117 [V117,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V118 tmp118 [V118,T123] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V119 tmp119 [V119,T124] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V120 tmp120 [V120,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V121 tmp121 [V121,T125] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V122 tmp122 [V122,T126] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V123 tmp123 [V123,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V124 tmp124 [V124,T127] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V125 tmp125 [V125,T128] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V126 tmp126 [V126,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-;* V127 tmp127 [V127,T129] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
-;* V128 tmp128 [V128,T130] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
-;* V129 tmp129 [V129,T100] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
-; V130 tmp130 [V130,T77] ( 3, 0 ) int -> ecx "Inline return value spill temp"
-; V131 tmp131 [V131,T67] ( 6, 0 ) ref -> eax class-hnd single-def "Inlining Arg" <System.Type>
+;* V88 tmp88 [V88,T104] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V89 tmp89 [V89,T105] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V90 tmp90 [V90,T88] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V91 tmp91 [V91,T106] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V92 tmp92 [V92,T107] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V93 tmp93 [V93,T89] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V94 tmp94 [V94,T108] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V95 tmp95 [V95,T109] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V96 tmp96 [V96,T90] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V97 tmp97 [V97,T110] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V98 tmp98 [V98,T111] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V99 tmp99 [V99,T91] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V100 tmp100 [V100,T112] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V101 tmp101 [V101,T113] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V102 tmp102 [V102,T92] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V103 tmp103 [V103,T114] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V104 tmp104 [V104,T115] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V105 tmp105 [V105,T93] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V106 tmp106 [V106,T116] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V107 tmp107 [V107,T117] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V108 tmp108 [V108,T94] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V109 tmp109 [V109,T118] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V110 tmp110 [V110,T119] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V111 tmp111 [V111,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V112 tmp112 [V112,T120] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V113 tmp113 [V113,T121] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V114 tmp114 [V114,T96] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V115 tmp115 [V115,T122] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V116 tmp116 [V116,T123] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V117 tmp117 [V117,T97] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V118 tmp118 [V118,T124] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V119 tmp119 [V119,T125] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V120 tmp120 [V120,T98] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V121 tmp121 [V121,T126] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V122 tmp122 [V122,T127] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V123 tmp123 [V123,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V124 tmp124 [V124,T128] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V125 tmp125 [V125,T129] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V126 tmp126 [V126,T100] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+;* V127 tmp127 [V127,T130] ( 0, 0 ) int -> zero-ref single-def "Inline return value spill temp"
+;* V128 tmp128 [V128,T131] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
+;* V129 tmp129 [V129,T101] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <System.RuntimeType>
+; V130 tmp130 [V130,T78] ( 3, 0 ) int -> ecx "Inline return value spill temp"
...
libraries_tests.run.windows.x86.Release.mch
+0 (0.00%) : 49049.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)
@@ -822,7 +822,7 @@ G_M28076_IG46: ; bbWeight=0.49, gcrefRegs=00000085 {eax edx edi}, byrefRe
G_M28076_IG47: ; bbWeight=0.25, gcrefRegs=00000084 {edx edi}, byrefRegs=00000000 {}, byref
; gcrRegs -[eax]
mov ecx, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[edx] +[eax]
;; size=10 bbWeight=0.25 PerfScore 0.31
G_M28076_IG48: ; bbWeight=0.98, gcrefRegs=00000081 {eax edi}, byrefRegs=00000000 {}, byref
+0 (0.00%) : 59373.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1190,7 +1190,7 @@ G_M27650_IG65: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=0000
je SHORT G_M27650_IG66
mov edx, edi
mov ecx, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[edx] +[eax]
;; size=42 bbWeight=0 PerfScore 0.00
G_M27650_IG66: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=00000000 {}, byref, isz
+0 (0.00%) : 117185.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
@@ -1145,7 +1145,7 @@ G_M27650_IG71: ; bbWeight=0, gcrefRegs=000000C1 {eax esi edi}, byrefRegs=
mov edx, edi
; gcrRegs +[edx]
mov ecx, 0xD1FFAB1E ; System.Reflection.MethodInfo
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[edx]
;; size=20 bbWeight=0 PerfScore 0.00
G_M27650_IG72: ; bbWeight=0, gcrefRegs=000000C0 {esi edi}, byrefRegs=00000000 {}, byref
+0 (0.00%) : 15020.dasm - System.Text.RegularExpressions.RegexNode:g_ExtractCommonPrefixText|413(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.RegexNode (Tier0-FullOpts)
@@ -498,7 +498,7 @@ G_M62619_IG40: ; bbWeight=2, gcrefRegs=00000080 {edi}, byrefRegs=00000000
; gcrRegs +[edx]
mov ecx, 0xD1FFAB1E ; <unknown class>
; GC ptr vars -{V91}
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[edx] +[eax]
;; size=13 bbWeight=2 PerfScore 4.50
G_M62619_IG41: ; bbWeight=8, gcrefRegs=00000081 {eax edi}, byrefRegs=00000000 {}, byref, isz
+0 (0.00%) : 79184.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)
@@ -808,7 +808,7 @@ G_M28076_IG47: ; bbWeight=0.50, gcVars=0000000000000000000000000000000000
G_M28076_IG48: ; bbWeight=0.25, gcrefRegs=00000044 {edx esi}, byrefRegs=00000000 {}, byref
; gcrRegs -[eax]
mov ecx, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[edx] +[eax]
;; size=10 bbWeight=0.25 PerfScore 0.31
G_M28076_IG49: ; bbWeight=1.00, gcrefRegs=00000041 {eax esi}, byrefRegs=00000000 {}, byref
+0 (0.00%) : 568184.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)
@@ -710,7 +710,7 @@ G_M28076_IG39: ; bbWeight=0.50, gcrefRegs=00000085 {eax edx edi}, byrefRe
G_M28076_IG40: ; bbWeight=0.25, gcrefRegs=00000084 {edx edi}, byrefRegs=00000000 {}, byref
; gcrRegs -[eax]
mov ecx, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[edx] +[eax]
;; size=10 bbWeight=0.25 PerfScore 0.31
G_M28076_IG41: ; bbWeight=1.00, gcrefRegs=00000081 {eax edi}, byrefRegs=00000000 {}, byref
Details
Improvements/regressions per collection
| Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
| benchmarks.run.windows.x86.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| benchmarks.run_pgo.windows.x86.checked.mch |
1 |
0 |
0 |
1 |
-0 |
+0 |
| benchmarks.run_tiered.windows.x86.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| coreclr_tests.run.windows.x86.checked.mch |
11 |
0 |
8 |
3 |
-0 |
+11 |
| libraries.crossgen2.windows.x86.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries.pmi.windows.x86.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| libraries_tests.run.windows.x86.Release.mch |
12 |
0 |
0 |
12 |
-0 |
+0 |
| librariestestsnotieredcompilation.run.windows.x86.Release.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
| realworld.run.windows.x86.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
|
24 |
0 |
8 |
16 |
-0 |
+11 |
Context information
| Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
| benchmarks.run.windows.x86.checked.mch |
24,499 |
4 |
24,495 |
0 (0.00%) |
0 (0.00%) |
| benchmarks.run_pgo.windows.x86.checked.mch |
116,998 |
41,640 |
75,358 |
0 (0.00%) |
9 (0.01%) |
| benchmarks.run_tiered.windows.x86.checked.mch |
48,698 |
28,737 |
19,961 |
0 (0.00%) |
0 (0.00%) |
| coreclr_tests.run.windows.x86.checked.mch |
574,706 |
320,020 |
254,686 |
0 (0.00%) |
9 (0.00%) |
| libraries.crossgen2.windows.x86.checked.mch |
242,559 |
15 |
242,544 |
0 (0.00%) |
0 (0.00%) |
| libraries.pmi.windows.x86.checked.mch |
305,541 |
6 |
305,535 |
0 (0.00%) |
0 (0.00%) |
| libraries_tests.run.windows.x86.Release.mch |
627,000 |
424,879 |
202,121 |
0 (0.00%) |
100 (0.02%) |
| librariestestsnotieredcompilation.run.windows.x86.Release.mch |
316,409 |
21,909 |
294,500 |
0 (0.00%) |
0 (0.00%) |
| realworld.run.windows.x86.checked.mch |
35,990 |
3 |
35,987 |
0 (0.00%) |
0 (0.00%) |
|
2,292,400 |
837,213 |
1,455,187 |
0 (0.00%) |
118 (0.01%) |
jit-analyze output
benchmarks.run_pgo.windows.x86.checked.mch
To reproduce these diffs on Windows x86:
superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 45003543 (overridden on cmd)
Total bytes of diff: 45003543 (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.x86.checked.mch
To reproduce these diffs on Windows x86:
superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 309511888 (overridden on cmd)
Total bytes of diff: 309511899 (overridden on cmd)
Total bytes of delta: 11 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
4 : 184116.dasm (0.27 % of base)
1 : 352208.dasm (0.05 % of base)
1 : 395875.dasm (0.05 % of base)
1 : 404751.dasm (0.05 % of base)
1 : 406406.dasm (0.05 % of base)
1 : 413149.dasm (0.05 % of base)
1 : 370634.dasm (0.05 % of base)
1 : 377496.dasm (0.05 % of base)
8 total files with Code Size differences (0 improved, 8 regressed), 3 unchanged.
Top method regressions (bytes):
4 (0.27 % of base) : 184116.dasm - Program:TestEntryPoint() (FullOpts)
1 (0.05 % of base) : 352208.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.05 % of base) : 395875.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.05 % of base) : 404751.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.05 % of base) : 406406.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.05 % of base) : 413149.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.05 % of base) : 370634.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.05 % of base) : 377496.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
Top method regressions (percentages):
4 (0.27 % of base) : 184116.dasm - Program:TestEntryPoint() (FullOpts)
1 (0.05 % of base) : 352208.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.05 % of base) : 404751.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.05 % of base) : 413149.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.05 % of base) : 370634.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.05 % of base) : 377496.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.05 % of base) : 406406.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
1 (0.05 % of base) : 395875.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
8 total methods with Code Size differences (0 improved, 8 regressed).
libraries_tests.run.windows.x86.Release.mch
To reproduce these diffs on Windows x86:
superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 185467531 (overridden on cmd)
Total bytes of diff: 185467531 (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), 12 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).