Assembly Diffs

linux arm

Diffs are based on 2,053,518 contexts (830,101 MinOpts, 1,223,417 FullOpts).

MISSED contexts: base: 71,236 (3.35%), diff: 71,357 (3.36%)

Overall (+4 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run_pgo.linux.arm.checked.mch 68,611,936 +0
coreclr_tests.run.linux.arm.checked.mch 321,785,332 +4
libraries_tests.run.linux.arm.Release.mch 244,083,032 +0

FullOpts (+4 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run_pgo.linux.arm.checked.mch 55,938,134 +0
coreclr_tests.run.linux.arm.checked.mch 109,312,896 +4
libraries_tests.run.linux.arm.Release.mch 122,230,524 +0

Example diffs

benchmarks.run_pgo.linux.arm.checked.mch

+0 (0.00%) : 140477.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%) : 137726.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%) : 71645.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%) : 35099.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%) : 134719.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%) : 40952.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

+2 (+0.09%) : 77236.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%) : 376674.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%) : 18281.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%) : 111517.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)

@@ -608,7 +608,7 @@ G_M28076_IG36: ; 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%) : 168445.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel:GetDeclaredTypeMemberContainer(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode):Microsoft.CodeAnalysis.CSharp.Symbols.NamespaceOrTypeSymbol:this (Tier1)

@@ -743,7 +743,7 @@ G_M36735_IG59: ; bbWeight=0.20, gcrefRegs=0040 {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 r6] +[r0] ;; size=20 bbWeight=0.20 PerfScore 1.19 G_M36735_IG60: ; bbWeight=0.79, gcrefRegs=0001 {r0}, byrefRegs=0000 {}, byref

+0 (0.00%) : 183100.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)

@@ -530,7 +530,7 @@ G_M28076_IG24: ; 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%) : 184204.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)

@@ -788,7 +788,7 @@ G_M28076_IG48: ; 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%) : 711856.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)

@@ -869,7 +869,7 @@ G_M27650_IG54: ; 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_IG55: ; bbWeight=0, gcrefRegs=0030 {r4 r5}, byrefRegs=0000 {}, byref, isz

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 21 0 0 21 -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
29 0 2 27 -0 +4

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.linux.arm.checked.mch 44,927 4,966 39,961 1,181 (2.56%) 1,181 (2.56%)
benchmarks.run_pgo.linux.arm.checked.mch 167,322 62,159 105,163 3,326 (1.95%) 3,334 (1.95%)
benchmarks.run_tiered.linux.arm.checked.mch 73,074 38,812 34,262 950 (1.28%) 950 (1.28%)
coreclr_tests.run.linux.arm.checked.mch 472,403 259,200 213,203 7,160 (1.49%) 7,168 (1.49%)
libraries.crossgen2.linux.arm.checked.mch 1,774 0 1,774 0 (0.00%) 0 (0.00%)
libraries.pmi.linux.arm.checked.mch 272,313 6 272,307 7,782 (2.78%) 7,782 (2.78%)
libraries_tests.run.linux.arm.Release.mch 710,650 443,197 267,453 16,188 (2.23%) 16,293 (2.24%)
librariestestsnotieredcompilation.run.linux.arm.Release.mch 274,644 21,604 253,040 33,242 (10.80%) 33,242 (10.80%)
realworld.run.linux.arm.checked.mch 36,411 157 36,254 1,407 (3.72%) 1,407 (3.72%)
2,053,518 830,101 1,223,417 71,236 (3.35%) 71,357 (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: 68611936 (overridden on cmd)
Total bytes of diff: 68611936 (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: 321785332 (overridden on cmd)
Total bytes of diff: 321785336 (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 : 77236.dasm (0.09 % of base)
           2 : 376674.dasm (0.12 % of base)

2 total files with Code Size differences (0 improved, 2 regressed), 4 unchanged.

Top method regressions (bytes):
           2 (0.12 % of base) : 376674.dasm - Program:TestEntryPoint() (FullOpts)
           2 (0.09 % of base) : 77236.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)

Top method regressions (percentages):
           2 (0.12 % of base) : 376674.dasm - Program:TestEntryPoint() (FullOpts)
           2 (0.09 % of base) : 77236.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: 244083032 (overridden on cmd)
Total bytes of diff: 244083032 (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), 21 unchanged.

0 total methods with Code Size differences (0 improved, 0 regressed).



windows x86

Diffs are based on 2,291,445 contexts (838,165 MinOpts, 1,453,280 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,160,487 +0
coreclr_tests.run.windows.x86.checked.mch 309,439,634 +11
libraries_tests.run.windows.x86.Release.mch 185,667,306 +0

FullOpts (+11 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run_pgo.windows.x86.checked.mch 38,548,121 +0
coreclr_tests.run.windows.x86.checked.mch 107,644,057 +11
libraries_tests.run.windows.x86.Release.mch 88,367,266 +0

Example diffs

benchmarks.run_pgo.windows.x86.checked.mch

+0 (0.00%) : 19861.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%) : 327875.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%) : 330323.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%) : 440860.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%) : 406459.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%) : 377608.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%) : 184119.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%) : 14385.dasm - System.Text.RegularExpressions.RegexNode:g_ExtractCommonPrefixText|413(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.RegexNode (Tier0-FullOpts)

@@ -492,7 +492,7 @@ G_M62619_IG38: ; 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_IG39: ; bbWeight=8, gcrefRegs=00000081 {eax edi}, byrefRegs=00000000 {}, byref, isz

+0 (0.00%) : 76953.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)

@@ -847,7 +847,7 @@ G_M28076_IG50: ; bbWeight=0.50, gcVars=0000000000000000000000000000000000 G_M28076_IG51: ; 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_IG52: ; bbWeight=1.00, gcrefRegs=00000041 {eax esi}, byrefRegs=00000000 {}, byref

+0 (0.00%) : 146609.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)

@@ -698,7 +698,7 @@ G_M28076_IG37: ; bbWeight=0.50, gcrefRegs=00000085 {eax edx edi}, byrefRe G_M28076_IG38: ; 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_IG39: ; bbWeight=1, gcrefRegs=00000081 {eax edi}, byrefRegs=00000000 {}, byref

+0 (0.00%) : 156628.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)

@@ -570,7 +570,7 @@ G_M28076_IG25: ; bbWeight=0.50, gcVars=0000000000000000000000000000000000 G_M28076_IG26: ; 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] jmp G_M28076_IG18 ;; size=15 bbWeight=0.25 PerfScore 0.81

+0 (0.00%) : 389484.dasm - System.Xml.Schema.XsdBuilder:SetContainer(int,System.Object):this (Tier1)

@@ -73,7 +73,7 @@ G_M15188_IG05: ; bbWeight=0.06, gcrefRegs=00000041 {eax esi}, byrefRegs=0 mov edx, eax ; gcrRegs +[edx] mov ecx, 0xD1FFAB1E ; <unknown class>
- call CORINFO_HELP_CHKCASTCLASS
+ call CORINFO_HELP_CHKCASTCLASS_SPECIAL
; gcrRegs -[edx] mov ecx, eax ; gcrRegs +[ecx]

+0 (0.00%) : 570344.dasm - Microsoft.CodeAnalysis.CSharp.BinderFactory+BinderFactoryVisitor:VisitTypeDeclarationCore(Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax):Microsoft.CodeAnalysis.CSharp.Binder:this (Tier1)

@@ -706,7 +706,7 @@ G_M28076_IG38: ; bbWeight=0.50, gcrefRegs=00000085 {eax edx edi}, byrefRe G_M28076_IG39: ; 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_IG40: ; bbWeight=1, 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 14 0 0 14 -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
26 0 8 18 -0 +11

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.windows.x86.checked.mch 24,490 4 24,486 0 (0.00%) 0 (0.00%)
benchmarks.run_pgo.windows.x86.checked.mch 118,236 42,036 76,200 0 (0.00%) 7 (0.01%)
benchmarks.run_tiered.windows.x86.checked.mch 48,029 28,739 19,290 0 (0.00%) 0 (0.00%)
coreclr_tests.run.windows.x86.checked.mch 574,666 319,944 254,722 0 (0.00%) 9 (0.00%)
libraries.crossgen2.windows.x86.checked.mch 242,588 15 242,573 0 (0.00%) 0 (0.00%)
libraries.pmi.windows.x86.checked.mch 305,718 6 305,712 0 (0.00%) 0 (0.00%)
libraries_tests.run.windows.x86.Release.mch 625,256 425,508 199,748 0 (0.00%) 102 (0.02%)
librariestestsnotieredcompilation.run.windows.x86.Release.mch 316,472 21,910 294,562 0 (0.00%) 0 (0.00%)
realworld.run.windows.x86.checked.mch 35,990 3 35,987 0 (0.00%) 0 (0.00%)
2,291,445 838,165 1,453,280 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: 45160487 (overridden on cmd)
Total bytes of diff: 45160487 (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: 309439634 (overridden on cmd)
Total bytes of diff: 309439645 (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 : 184119.dasm (0.27 % of base)
           1 : 352193.dasm (0.05 % of base)
           1 : 404742.dasm (0.05 % of base)
           1 : 396044.dasm (0.05 % of base)
           1 : 406459.dasm (0.05 % of base)
           1 : 413154.dasm (0.05 % of base)
           1 : 370635.dasm (0.05 % of base)
           1 : 377608.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) : 184119.dasm - Program:TestEntryPoint() (FullOpts)
           1 (0.05 % of base) : 352193.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
           1 (0.05 % of base) : 404742.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
           1 (0.05 % of base) : 396044.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
           1 (0.05 % of base) : 406459.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
           1 (0.05 % of base) : 413154.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
           1 (0.05 % of base) : 370635.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
           1 (0.05 % of base) : 377608.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)

Top method regressions (percentages):
           4 (0.27 % of base) : 184119.dasm - Program:TestEntryPoint() (FullOpts)
           1 (0.05 % of base) : 352193.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
           1 (0.05 % of base) : 404742.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
           1 (0.05 % of base) : 406459.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
           1 (0.05 % of base) : 413154.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
           1 (0.05 % of base) : 370635.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
           1 (0.05 % of base) : 377608.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier1)
           1 (0.05 % of base) : 396044.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: 185667306 (overridden on cmd)
Total bytes of diff: 185667306 (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), 14 unchanged.

0 total methods with Code Size differences (0 improved, 0 regressed).