Diffs are based on 2,232,466 contexts (824,262 MinOpts, 1,408,204 FullOpts).
MISSED contexts: 77,883 (3.37%)
Overall (-852,700 bytes)
Collection
Base size (bytes)
Diff size (bytes)
benchmarks.run.linux.arm.checked.mch
14,172,892
-42
benchmarks.run_pgo.linux.arm.checked.mch
58,450,272
-48,252
benchmarks.run_tiered.linux.arm.checked.mch
17,364,030
-32,012
coreclr_tests.run.linux.arm.checked.mch
321,914,498
-199,178
libraries.crossgen2.linux.arm.checked.mch
37,768,318
+0
libraries.pmi.linux.arm.checked.mch
49,500,180
-280
libraries_tests.run.linux.arm.Release.mch
240,715,714
-533,380
librariestestsnotieredcompilation.run.linux.arm.Release.mch
92,863,410
-24,910
realworld.run.linux.arm.checked.mch
13,608,080
-14,646
MinOpts (-852,700 bytes)
Collection
Base size (bytes)
Diff size (bytes)
benchmarks.run.linux.arm.checked.mch
334,862
-42
benchmarks.run_pgo.linux.arm.checked.mch
11,222,492
-48,252
benchmarks.run_tiered.linux.arm.checked.mch
7,194,320
-32,012
coreclr_tests.run.linux.arm.checked.mch
212,840,102
-199,178
libraries.crossgen2.linux.arm.checked.mch
1,230
+0
libraries.pmi.linux.arm.checked.mch
106,504
-280
libraries_tests.run.linux.arm.Release.mch
122,210,132
-533,380
librariestestsnotieredcompilation.run.linux.arm.Release.mch
10,081,872
-24,910
realworld.run.linux.arm.checked.mch
449,296
-14,646
Example diffs
benchmarks.run.linux.arm.checked.mch
-8 (-9.30%) : 15134.dasm - Devirtualization.EqualityComparerFixture
1[System.ValueTuple
3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)@@ -30,45 +30,37 @@ G_M54368_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blx r3 // <unknown method>
; gcrRegs +[r0]
str r0, [sp+0x10] // [V04 tmp1]
- ldr r0, [sp+0x14] // [V02 arg2]
- ; gcrRegs -[r0]
- ; byrRegs +[r0]
- ldr r1, [r0]
- str r1, [sp] // [V03 OutArgs]
- ldr r1, [r0+0x04]
- str r1, [sp+0x04] // [V03 OutArgs+0x04]
- ldr r1, [r0+0x08]
- str r1, [sp+0x08] // [V03 OutArgs+0x08]
- ldr r0, [sp+0x10] // [V04 tmp1]
- ; gcrRegs +[r0]
- ; byrRegs -[r0]
- ldr r1, [sp+0x18] // [V01 arg1]
- ; byrRegs +[r1]
- ldr r1, [r1]
- ; byrRegs -[r1]
- ldr r2, [sp+0x18] // [V01 arg1]
- ; byrRegs +[r2]
- ldr r2, [r2+0x04]
- ; byrRegs -[r2]
- ldr r3, [sp+0x18] // [V01 arg1]
+ ldr r3, [sp+0x14] // [V02 arg2]
; byrRegs +[r3]
+ ldr r2, [r3]
+ str r2, [sp] // [V03 OutArgs]
+ ldr r2, [r3+0x04]
+ str r2, [sp+0x04] // [V03 OutArgs+0x04]
+ ldr r2, [r3+0x08]
+ str r2, [sp+0x08] // [V03 OutArgs+0x08]
+ ldr r0, [sp+0x10] // [V04 tmp1]
+ ldr r3, [sp+0x18] // [V01 arg1]
+ ldr r1, [r3]
+ ldr r3, [sp+0x18] // [V01 arg1]
+ ldr r2, [r3+0x04]
+ ldr r3, [sp+0x18] // [V01 arg1]
ldr r3, [r3+0x08]
; byrRegs -[r3]
- ldr lr, [sp+0x10] // [V04 tmp1]
- ; gcrRegs +[lr]
- ldr lr, [lr]
- ; gcrRegs -[lr]
- ldr lr, [lr+0x2C]
- ldr lr, [lr+0x10]
- blx lr // <unknown method>
+ ldr r4, [sp+0x10] // [V04 tmp1]
+ ; gcrRegs +[r4]
+ ldr r4, [r4]
+ ; gcrRegs -[r4]
+ ldr r4, [r4+0x2C]
+ ldr r4, [r4+0x10]
+ blx r4 // <unknown method>
; gcrRegs -[r0]
- ;; size=60 bbWeight=1 PerfScore 24.00
+ ;; size=52 bbWeight=1 PerfScore 24.00
G_M54368_IG03: ; bbWeight=1, epilog, nogc, extend
add sp, 32
pop {r4,r10,r11,pc}
;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 86, prolog size 14, PerfScore 34.00, instruction count 34, allocated bytes for code 86 (MethodHash=58ee2b9f) for method Devirtualization.EqualityComparerFixture`1[System.ValueTuple`3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)
+; Total bytes of code 78, prolog size 14, PerfScore 34.00, instruction count 34, allocated bytes for code 78 (MethodHash=58ee2b9f) for method Devirtualization.EqualityComparerFixture`1[System.ValueTuple`3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)
; ============================================================
Unwind Info:
@@ -80,7 +72,7 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 43 (0x0002b) Actual length = 86 (0x000056)
+ Function Length : 39 (0x00027) Actual length = 78 (0x00004e)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
-2 (-2.44%) : 8481.dasm - BenchmarkDotNet.Autogenerated.Runnable161:ForDisassemblyDiagnoser_():System.String:this (MinOpts)
@@ -24,37 +24,37 @@ G_M20735_IG01: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byref
str r0, [sp+0x0C] // [V00 this]
;; size=20 bbWeight=1 PerfScore 8.00
G_M20735_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x0C]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x24]
- ; gcrRegs -[r0]
- cmp r0, 11
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x24]
+ ; gcrRegs -[r3]
+ cmp r3, 11
bne SHORT G_M20735_IG04
- ldr r0, [sp+0x0C]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x1C]
- str r0, [sp+0x08] // [V01 loc0]
- ldr r0, [sp+0x0C] // [V00 this]
- ldrh r0, [r0+0x2C]
- ; gcrRegs -[r0]
- str r0, [sp+0x04] // [V02 loc1]
- ldr r0, [sp+0x0C] // [V00 this]
- ; gcrRegs +[r0]
- ldrh r0, [r0+0x2E]
- ; gcrRegs -[r0]
- str r0, [sp] // [V03 loc2]
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x1C]
+ str r3, [sp+0x08] // [V01 loc0]
+ ldr r3, [sp+0x0C] // [V00 this]
+ ldrh r3, [r3+0x2C]
+ ; gcrRegs -[r3]
+ str r3, [sp+0x04] // [V02 loc1]
+ ldr r3, [sp+0x0C] // [V00 this]
+ ; gcrRegs +[r3]
+ ldrh r3, [r3+0x2E]
+ ; gcrRegs -[r3]
+ str r3, [sp] // [V03 loc2]
ldr r0, [sp+0x0C] // [V00 this]
; gcrRegs +[r0]
ldr r1, [sp+0x08] // [V01 loc0]
; gcrRegs +[r1]
ldr r2, [sp+0x04] // [V02 loc1]
ldr r3, [sp] // [V03 loc2]
- movw lr, 0xd1ff
- movt lr, 0xd1ff
- ldr lr, [lr]
- blx lr // <unknown method>
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ ldr r4, [r4]
+ blx r4 // <unknown method>
; gcrRegs -[r1]
- ;; size=48 bbWeight=1 PerfScore 21.00
+ ;; size=46 bbWeight=1 PerfScore 21.00
G_M20735_IG03: ; bbWeight=1, epilog, nogc, extend
add sp, 16
pop {r4,r10,r11,pc}
@@ -68,7 +68,7 @@ G_M20735_IG05: ; bbWeight=1, epilog, nogc, extend
pop {r4,r10,r11,pc}
;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 82, prolog size 18, PerfScore 34.00, instruction count 34, allocated bytes for code 82 (MethodHash=e12caf00) for method BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
+; Total bytes of code 80, prolog size 18, PerfScore 34.00, instruction count 34, allocated bytes for code 80 (MethodHash=e12caf00) for method BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
; ============================================================
Unwind Info:
@@ -80,7 +80,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 41 (0x00029) Actual length = 82 (0x000052)
+ Function Length : 40 (0x00028) Actual length = 80 (0x000050)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-2 (-2.44%) : 21301.dasm - BenchmarkDotNet.Autogenerated.Runnable87:ForDisassemblyDiagnoser_():int:this (MinOpts)
@@ -24,23 +24,23 @@ G_M2219_IG01: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefR
str r0, [sp+0x0C] // [V00 this]
;; size=20 bbWeight=1 PerfScore 8.00
G_M2219_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x0C]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x30]
- ; gcrRegs -[r0]
- cmp r0, 11
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x30]
+ ; gcrRegs -[r3]
+ cmp r3, 11
bne SHORT G_M2219_IG04
- ldr r0, [sp+0x0C]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x20]
- str r0, [sp+0x08] // [V01 loc0]
- ldr r0, [sp+0x0C] // [V00 this]
- ldr r0, [r0+0x24]
- str r0, [sp+0x04] // [V02 loc1]
- ldr r0, [sp+0x0C] // [V00 this]
- ldr r0, [r0+0x2C]
- ; gcrRegs -[r0]
- str r0, [sp] // [V03 loc2]
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x20]
+ str r3, [sp+0x08] // [V01 loc0]
+ ldr r3, [sp+0x0C] // [V00 this]
+ ldr r3, [r3+0x24]
+ str r3, [sp+0x04] // [V02 loc1]
+ ldr r3, [sp+0x0C] // [V00 this]
+ ldr r3, [r3+0x2C]
+ ; gcrRegs -[r3]
+ str r3, [sp] // [V03 loc2]
ldr r0, [sp+0x0C] // [V00 this]
; gcrRegs +[r0]
ldr r1, [sp+0x08] // [V01 loc0]
@@ -48,12 +48,12 @@ G_M2219_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr r2, [sp+0x04] // [V02 loc1]
; gcrRegs +[r2]
ldr r3, [sp] // [V03 loc2]
- movw lr, 0xd1ff
- movt lr, 0xd1ff
- ldr lr, [lr]
- blx lr // <unknown method>
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ ldr r4, [r4]
+ blx r4 // <unknown method>
; gcrRegs -[r0-r2]
- ;; size=48 bbWeight=1 PerfScore 21.00
+ ;; size=46 bbWeight=1 PerfScore 21.00
G_M2219_IG03: ; bbWeight=1, epilog, nogc, extend
add sp, 16
pop {r4,r10,r11,pc}
@@ -66,7 +66,7 @@ G_M2219_IG05: ; bbWeight=1, epilog, nogc, extend
pop {r4,r10,r11,pc}
;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 82, prolog size 18, PerfScore 34.00, instruction count 34, allocated bytes for code 82 (MethodHash=3609f754) for method BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
+; Total bytes of code 80, prolog size 18, PerfScore 34.00, instruction count 34, allocated bytes for code 80 (MethodHash=3609f754) for method BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
; ============================================================
Unwind Info:
@@ -78,7 +78,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 41 (0x00029) Actual length = 82 (0x000052)
+ Function Length : 40 (0x00028) Actual length = 80 (0x000050)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+0 (0.00%) : 44448.dasm - BenchmarkDotNet.Autogenerated.Runnable56:ForDisassemblyDiagnoser_():this (MinOpts)
@@ -16,11 +16,11 @@ G_M48622_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str r0, [sp+0x04]
;; size=10 bbWeight=1 PerfScore 3.00
G_M48622_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x34]
- ; gcrRegs -[r0]
- cmp r0, 11
+ ldr r3, [sp+0x04]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x34]
+ ; gcrRegs -[r3]
+ cmp r3, 11
bne SHORT G_M48622_IG03
ldr r0, [sp+0x04]
; gcrRegs +[r0]
+0 (0.00%) : 44492.dasm - BenchmarkDotNet.Autogenerated.Runnable183:ForDisassemblyDiagnoser_():int:this (MinOpts)
@@ -16,11 +16,11 @@ G_M254_IG01: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRe
str r0, [sp+0x04]
;; size=10 bbWeight=1 PerfScore 3.00
G_M254_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x20]
- ; gcrRegs -[r0]
- cmp r0, 11
+ ldr r3, [sp+0x04]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x20]
+ ; gcrRegs -[r3]
+ cmp r3, 11
bne SHORT G_M254_IG04
ldr r0, [sp+0x04]
; gcrRegs +[r0]
+0 (0.00%) : 44556.dasm - BenchmarkDotNet.Autogenerated.Runnable169:ForDisassemblyDiagnoser_():this (MinOpts)
@@ -16,11 +16,11 @@ G_M1043_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str r0, [sp+0x04]
;; size=10 bbWeight=1 PerfScore 3.00
G_M1043_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x2C]
- ; gcrRegs -[r0]
- cmp r0, 11
+ ldr r3, [sp+0x04]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x2C]
+ ; gcrRegs -[r3]
+ cmp r3, 11
bne SHORT G_M1043_IG03
ldr r0, [sp+0x04]
; gcrRegs +[r0]
benchmarks.run_pgo.linux.arm.checked.mch
-8 (-19.05%) : 757.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
@@ -24,20 +24,20 @@ G_M64536_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[r1]
movs r2, 0
movs r3, 0
- ldr lr, [sp+0x04]
- ; gcrRegs +[lr]
- ldr lr, [lr]
- ; gcrRegs -[lr]
- ldr lr, [lr+0x38]
- ldr lr, [lr+0x04]
- blx lr // <unknown method>
+ ldr r4, [sp+0x04]
+ ; gcrRegs +[r4]
+ ldr r4, [r4]
+ ; gcrRegs -[r4]
+ ldr r4, [r4+0x38]
+ ldr r4, [r4+0x04]
+ blx r4 // <unknown method>
; gcrRegs -[r1]
- ;; size=26 bbWeight=1 PerfScore 9.00
+ ;; size=18 bbWeight=1 PerfScore 9.00
G_M64536_IG03: ; bbWeight=1, epilog, nogc, extend
pop {r2,r3,r4,r10,r11,pc}
;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 42, prolog size 8, PerfScore 14.00, instruction count 14, allocated bytes for code 42 (MethodHash=edaf03e7) for method System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
+; Total bytes of code 34, prolog size 8, PerfScore 14.00, instruction count 14, allocated bytes for code 34 (MethodHash=edaf03e7) for method System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
; ============================================================
Unwind Info:
@@ -49,7 +49,7 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 21 (0x00015) Actual length = 42 (0x00002a)
+ Function Length : 17 (0x00011) Actual length = 34 (0x000022)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
-8 (-17.39%) : 12324.dasm - System.DateTime:get_InternalKind():ulong:this (Tier0)
@@ -5,43 +5,38 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x0C] do-not-enreg[] this
+; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x04] do-not-enreg[] this
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x08] must-init "ReplaceWithLclVar is creating a new local variable"
-; TEMP_01 int -> [r11-0x14]
+; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x00] must-init "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 16
+; Lcl frame size = 8
G_M62324_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r4,r10,r11,lr}
- sub sp, 16
- add r11, sp, 24
+ push {r2,r3,r4,r10,r11,lr}
+ add r11, sp, 16
movs r1, 0
- str r1, [sp+0x08] // [V02 tmp1]
- str r0, [sp+0x0C] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 6.00
+ str r1, [sp] // [V02 tmp1]
+ str r0, [sp+0x04] // [V00 this]
+ ;; size=14 bbWeight=1 PerfScore 5.00
G_M62324_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r1, [sp+0x0C]
- ; byrRegs +[r1]
- str r1, [sp+0x08] // [V02 tmp1]
- ldr r1, [sp+0x08] // [V02 tmp1]
- ldr r1, [r1]
- ; byrRegs -[r1]
- ldr r0, [sp+0x08] // [V02 tmp1]
- ; byrRegs +[r0]
- ldr r0, [r0+0x04]
- ; byrRegs -[r0]
- str r0, [sp+0x04] // [TEMP_01]
- and r0, r1, 0
- ldr r1, [sp+0x04] // [TEMP_01]
- and r1, r1, -0x40000000
- ;; size=24 bbWeight=1 PerfScore 10.00
+ ldr r3, [sp+0x04]
+ ; byrRegs +[r3]
+ str r3, [sp] // [V02 tmp1]
+ ldr r3, [sp] // [V02 tmp1]
+ ldr r3, [r3]
+ ; byrRegs -[r3]
+ ldr r2, [sp] // [V02 tmp1]
+ ; byrRegs +[r2]
+ ldr r2, [r2+0x04]
+ ; byrRegs -[r2]
+ and r0, r3, 0
+ and r1, r2, -0x40000000
+ ;; size=20 bbWeight=1 PerfScore 8.00
G_M62324_IG03: ; bbWeight=1, epilog, nogc, extend
- add sp, 16
- pop {r4,r10,r11,pc}
- ;; size=6 bbWeight=1 PerfScore 2.00
+ pop {r2,r3,r4,r10,r11,pc}
+ ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 46, prolog size 14, PerfScore 18.00, instruction count 18, allocated bytes for code 46 (MethodHash=aac80c8b) for method System.DateTime:get_InternalKind():ulong:this (Tier0)
+; Total bytes of code 38, prolog size 12, PerfScore 14.00, instruction count 14, allocated bytes for code 38 (MethodHash=aac80c8b) for method System.DateTime:get_InternalKind():ulong:this (Tier0)
; ============================================================
Unwind Info:
@@ -53,11 +48,11 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 23 (0x00017) Actual length = 46 (0x00002e)
+ Function Length : 19 (0x00013) Actual length = 38 (0x000026)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
- 04 add sp, sp, #16 ; opsize 16
- AC 10 pop {r4,r10,r11,lr} ; opsize 32
+ AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32
+ FF end
FF end
-8 (-17.39%) : 12684.dasm - System.DateTime:get_InternalKind():ulong:this (Instrumented Tier0)
@@ -5,43 +5,38 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x0C] do-not-enreg[] this
+; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x04] do-not-enreg[] this
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x08] must-init "ReplaceWithLclVar is creating a new local variable"
-; TEMP_01 int -> [r11-0x14]
+; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x00] must-init "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 16
+; Lcl frame size = 8
G_M62324_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r4,r10,r11,lr}
- sub sp, 16
- add r11, sp, 24
+ push {r2,r3,r4,r10,r11,lr}
+ add r11, sp, 16
movs r1, 0
- str r1, [sp+0x08] // [V02 tmp1]
- str r0, [sp+0x0C] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 6.00
+ str r1, [sp] // [V02 tmp1]
+ str r0, [sp+0x04] // [V00 this]
+ ;; size=14 bbWeight=1 PerfScore 5.00
G_M62324_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r1, [sp+0x0C]
- ; byrRegs +[r1]
- str r1, [sp+0x08] // [V02 tmp1]
- ldr r1, [sp+0x08] // [V02 tmp1]
- ldr r1, [r1]
- ; byrRegs -[r1]
- ldr r0, [sp+0x08] // [V02 tmp1]
- ; byrRegs +[r0]
- ldr r0, [r0+0x04]
- ; byrRegs -[r0]
- str r0, [sp+0x04] // [TEMP_01]
- and r0, r1, 0
- ldr r1, [sp+0x04] // [TEMP_01]
- and r1, r1, -0x40000000
- ;; size=24 bbWeight=1 PerfScore 10.00
+ ldr r3, [sp+0x04]
+ ; byrRegs +[r3]
+ str r3, [sp] // [V02 tmp1]
+ ldr r3, [sp] // [V02 tmp1]
+ ldr r3, [r3]
+ ; byrRegs -[r3]
+ ldr r2, [sp] // [V02 tmp1]
+ ; byrRegs +[r2]
+ ldr r2, [r2+0x04]
+ ; byrRegs -[r2]
+ and r0, r3, 0
+ and r1, r2, -0x40000000
+ ;; size=20 bbWeight=1 PerfScore 8.00
G_M62324_IG03: ; bbWeight=1, epilog, nogc, extend
- add sp, 16
- pop {r4,r10,r11,pc}
- ;; size=6 bbWeight=1 PerfScore 2.00
+ pop {r2,r3,r4,r10,r11,pc}
+ ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 46, prolog size 14, PerfScore 18.00, instruction count 18, allocated bytes for code 46 (MethodHash=aac80c8b) for method System.DateTime:get_InternalKind():ulong:this (Instrumented Tier0)
+; Total bytes of code 38, prolog size 12, PerfScore 14.00, instruction count 14, allocated bytes for code 38 (MethodHash=aac80c8b) for method System.DateTime:get_InternalKind():ulong:this (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -53,11 +48,11 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 23 (0x00017) Actual length = 46 (0x00002e)
+ Function Length : 19 (0x00013) Actual length = 38 (0x000026)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
- 04 add sp, sp, #16 ; opsize 16
- AC 10 pop {r4,r10,r11,lr} ; opsize 32
+ AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32
+ FF end
FF end
+12 (+24.00%) : 784.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
@@ -5,38 +5,47 @@
; partially interruptible
; Final local variable assignments
;
-; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M18678_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr}
- add r11, sp, 16
+ push {r4,r10,r11,lr}
+ sub sp, 16
+ add r11, sp, 24
+ movs r1, 0
+ str r1, [sp+0x04]
str r0, [r11-0x0C]
- str r0, [sp]
- ;; size=14 bbWeight=1 PerfScore 4.00
+ str r0, [sp+0x08]
+ ;; size=20 bbWeight=1 PerfScore 7.00
G_M18678_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r0, [sp]
+ ldr r0, [sp+0x08]
movw r3, 0xd1ff
movt r3, 0xd1ff
blx r3 // CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE
; byrRegs +[r0]
- mov r4, r0
- ; byrRegs +[r4]
+ mov r3, r0
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
mov r0, 512
; byrRegs -[r0]
movs r1, 4
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_UDIV
- str r0, [r4+0x08]
- ;; size=32 bbWeight=1 PerfScore 11.00
+ movw r2, 0xd1ff
+ movt r2, 0xd1ff
+ blx r2 // CORINFO_HELP_UDIV
+ ; byrRegs -[r3]
+ ldr r3, [sp+0x04]
+ ; byrRegs +[r3]
+ str r0, [r3+0x08]
+ ;; size=36 bbWeight=1 PerfScore 13.00
G_M18678_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc}
- ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16
+ pop {r4,r10,r11,pc}
+ ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 50, prolog size 12, PerfScore 16.00, instruction count 16, allocated bytes for code 50 (MethodHash=e282b709) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
+; Total bytes of code 62, prolog size 18, PerfScore 22.00, instruction count 22, allocated bytes for code 62 (MethodHash=e282b709) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
; ============================================================
Unwind Info:
@@ -48,11 +57,11 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 25 (0x00019) Actual length = 50 (0x000032)
+ Function Length : 31 (0x0001f) Actual length = 62 (0x00003e)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32
- FF end
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end
+26 (+25.00%) : 50042.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
@@ -6,66 +6,86 @@
; Final local variable assignments
;
; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [sp+0x20] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x04] do-not-enreg[]
-; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x0C] do-not-enreg[]
+; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 byref -> [r11-0x14]
+; TEMP_01 int -> [r11-0x18]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push {r0,r1}
- push {r2,r3,r4,r5,r6,r10,r11,lr}
+ push {r4,r10,r11,lr}
+ sub sp, 16
add r11, sp, 24
- str r2, [sp+0x04]
- str r3, [sp]
- ;; size=14 bbWeight=1 PerfScore 5.00
+ movs r0, 0
+ str r0, [sp+0x04]
+ str r2, [sp+0x0C]
+ str r3, [sp+0x08]
+ ;; size=20 bbWeight=1 PerfScore 8.00
G_M44368_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04]
- ldr r1, [sp+0x24]
- cmp r0, r1
+ ldr r3, [sp+0x0C]
+ ldr r2, [sp+0x24]
+ cmp r3, r2
bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20]
- ; byrRegs +[r4]
- ldr r0, [sp+0x04]
- lsls r5, r0, 1
- ldr r0, [sp]
+ ldr r3, [sp+0x20]
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
+ ldr r2, [sp+0x0C]
+ lsls r2, r2, 1
+ str r2, [sp]
+ ldr r0, [sp+0x08]
movs r1, 10
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_DIV
- adds r0, 48
- strh r0, [r4+r5]
- ldr r0, [sp+0x04]
- adds r0, r0, 1
- ldr r1, [sp+0x24]
- cmp r0, r1
- bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20]
- ldr r0, [sp+0x04]
- lsls r0, r0, 1
- adds r5, r0, 2
- ldr r0, [sp]
- movs r1, 10
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_MOD
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ blx r4 // CORINFO_HELP_DIV
+ ; byrRegs -[r3]
add r3, r0, 48
- strh r3, [r4+r5]
- ;; size=70 bbWeight=1 PerfScore 30.00
+ ldr r2, [sp+0x04]
+ ; byrRegs +[r2]
+ ldr r1, [sp]
+ strh r3, [r2+r1]
+ ldr r3, [sp+0x0C]
+ adds r3, r3, 1
+ ldr r2, [sp+0x24]
+ ; byrRegs -[r2]
+ cmp r3, r2
+ bhs SHORT G_M44368_IG04
+ ldr r3, [sp+0x20]
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
+ ldr r2, [sp+0x0C]
+ lsls r2, r2, 1
+ adds r2, r2, 2
+ str r2, [sp]
+ ldr r0, [sp+0x08]
+ movs r1, 10
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ blx r4 // CORINFO_HELP_MOD
+ ; byrRegs -[r3]
+ add r3, r0, 48
+ ldr r2, [sp+0x04]
+ ; byrRegs +[r2]
+ ldr r1, [sp]
+ strh r3, [r2+r1]
+ ;; size=88 bbWeight=1 PerfScore 38.00
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r5,r6,r10,r11,lr}
+ add sp, 16
+ pop {r4,r10,r11,lr}
add sp, 8
bx lr
- ;; size=8 bbWeight=1 PerfScore 3.00
+ ;; size=10 bbWeight=1 PerfScore 4.00
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; byrRegs -[r4]
+ ; byrRegs -[r2]
movw r3, 0xd1ff
movt r3, 0xd1ff
blx r3 // CORINFO_HELP_RNGCHKFAIL
bkpt
;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 104, prolog size 10, PerfScore 38.00, instruction count 42, allocated bytes for code 104 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
+; Total bytes of code 130, prolog size 16, PerfScore 50.00, instruction count 54, allocated bytes for code 130 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
; ============================================================
Unwind Info:
@@ -77,21 +97,21 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 52 (0x00034) Actual length = 104 (0x000068)
+ Function Length : 65 (0x00041) Actual length = 130 (0x000082)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Condition : 14 (0xe) (always)
- Epilog Start Index : 5 (0x05)
+ Epilog Start Index : 6 (0x06)
---- Unwind codes ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
EC 03 pop {r0,r1} ; opsize 16
FF end
- ---- Epilog start at index 5 ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ ---- Epilog start at index 6 ----
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
02 add sp, sp, #8 ; opsize 16
FD end + nop ; opsize 16
FF end
- FF end
- FF end
+26 (+25.00%) : 56307.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
@@ -6,66 +6,86 @@
; Final local variable assignments
;
; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [sp+0x20] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x04] do-not-enreg[]
-; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x0C] do-not-enreg[]
+; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 byref -> [r11-0x14]
+; TEMP_01 int -> [r11-0x18]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push {r0,r1}
- push {r2,r3,r4,r5,r6,r10,r11,lr}
+ push {r4,r10,r11,lr}
+ sub sp, 16
add r11, sp, 24
- str r2, [sp+0x04]
- str r3, [sp]
- ;; size=14 bbWeight=1 PerfScore 5.00
+ movs r0, 0
+ str r0, [sp+0x04]
+ str r2, [sp+0x0C]
+ str r3, [sp+0x08]
+ ;; size=20 bbWeight=1 PerfScore 8.00
G_M44368_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04]
- ldr r1, [sp+0x24]
- cmp r0, r1
+ ldr r3, [sp+0x0C]
+ ldr r2, [sp+0x24]
+ cmp r3, r2
bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20]
- ; byrRegs +[r4]
- ldr r0, [sp+0x04]
- lsls r5, r0, 1
- ldr r0, [sp]
+ ldr r3, [sp+0x20]
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
+ ldr r2, [sp+0x0C]
+ lsls r2, r2, 1
+ str r2, [sp]
+ ldr r0, [sp+0x08]
movs r1, 10
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_DIV
- adds r0, 48
- strh r0, [r4+r5]
- ldr r0, [sp+0x04]
- adds r0, r0, 1
- ldr r1, [sp+0x24]
- cmp r0, r1
- bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20]
- ldr r0, [sp+0x04]
- lsls r0, r0, 1
- adds r5, r0, 2
- ldr r0, [sp]
- movs r1, 10
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_MOD
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ blx r4 // CORINFO_HELP_DIV
+ ; byrRegs -[r3]
add r3, r0, 48
- strh r3, [r4+r5]
- ;; size=70 bbWeight=1 PerfScore 30.00
+ ldr r2, [sp+0x04]
+ ; byrRegs +[r2]
+ ldr r1, [sp]
+ strh r3, [r2+r1]
+ ldr r3, [sp+0x0C]
+ adds r3, r3, 1
+ ldr r2, [sp+0x24]
+ ; byrRegs -[r2]
+ cmp r3, r2
+ bhs SHORT G_M44368_IG04
+ ldr r3, [sp+0x20]
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
+ ldr r2, [sp+0x0C]
+ lsls r2, r2, 1
+ adds r2, r2, 2
+ str r2, [sp]
+ ldr r0, [sp+0x08]
+ movs r1, 10
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ blx r4 // CORINFO_HELP_MOD
+ ; byrRegs -[r3]
+ add r3, r0, 48
+ ldr r2, [sp+0x04]
+ ; byrRegs +[r2]
+ ldr r1, [sp]
+ strh r3, [r2+r1]
+ ;; size=88 bbWeight=1 PerfScore 38.00
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r5,r6,r10,r11,lr}
+ add sp, 16
+ pop {r4,r10,r11,lr}
add sp, 8
bx lr
- ;; size=8 bbWeight=1 PerfScore 3.00
+ ;; size=10 bbWeight=1 PerfScore 4.00
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; byrRegs -[r4]
+ ; byrRegs -[r2]
movw r3, 0xd1ff
movt r3, 0xd1ff
blx r3 // CORINFO_HELP_RNGCHKFAIL
bkpt
;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 104, prolog size 10, PerfScore 38.00, instruction count 42, allocated bytes for code 104 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
+; Total bytes of code 130, prolog size 16, PerfScore 50.00, instruction count 54, allocated bytes for code 130 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -77,21 +97,21 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 52 (0x00034) Actual length = 104 (0x000068)
+ Function Length : 65 (0x00041) Actual length = 130 (0x000082)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Condition : 14 (0xe) (always)
- Epilog Start Index : 5 (0x05)
+ Epilog Start Index : 6 (0x06)
---- Unwind codes ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
EC 03 pop {r0,r1} ; opsize 16
FF end
- ---- Epilog start at index 5 ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ ---- Epilog start at index 6 ----
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
02 add sp, sp, #8 ; opsize 16
FD end + nop ; opsize 16
FF end
- FF end
- FF end
benchmarks.run_tiered.linux.arm.checked.mch
-8 (-19.05%) : 684.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
@@ -24,20 +24,20 @@ G_M64536_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[r1]
movs r2, 0
movs r3, 0
- ldr lr, [sp+0x04]
- ; gcrRegs +[lr]
- ldr lr, [lr]
- ; gcrRegs -[lr]
- ldr lr, [lr+0x38]
- ldr lr, [lr+0x04]
- blx lr // <unknown method>
+ ldr r4, [sp+0x04]
+ ; gcrRegs +[r4]
+ ldr r4, [r4]
+ ; gcrRegs -[r4]
+ ldr r4, [r4+0x38]
+ ldr r4, [r4+0x04]
+ blx r4 // <unknown method>
; gcrRegs -[r1]
- ;; size=26 bbWeight=1 PerfScore 9.00
+ ;; size=18 bbWeight=1 PerfScore 9.00
G_M64536_IG03: ; bbWeight=1, epilog, nogc, extend
pop {r2,r3,r4,r10,r11,pc}
;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 42, prolog size 8, PerfScore 14.00, instruction count 14, allocated bytes for code 42 (MethodHash=edaf03e7) for method System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
+; Total bytes of code 34, prolog size 8, PerfScore 14.00, instruction count 14, allocated bytes for code 34 (MethodHash=edaf03e7) for method System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
; ============================================================
Unwind Info:
@@ -49,7 +49,7 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 21 (0x00015) Actual length = 42 (0x00002a)
+ Function Length : 17 (0x00011) Actual length = 34 (0x000022)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
-8 (-17.39%) : 3767.dasm - System.DateTime:get_InternalKind():ulong:this (Tier0)
@@ -5,43 +5,38 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x0C] do-not-enreg[] this
+; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x04] do-not-enreg[] this
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x08] must-init "ReplaceWithLclVar is creating a new local variable"
-; TEMP_01 int -> [r11-0x14]
+; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x00] must-init "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 16
+; Lcl frame size = 8
G_M62324_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r4,r10,r11,lr}
- sub sp, 16
- add r11, sp, 24
+ push {r2,r3,r4,r10,r11,lr}
+ add r11, sp, 16
movs r1, 0
- str r1, [sp+0x08] // [V02 tmp1]
- str r0, [sp+0x0C] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 6.00
+ str r1, [sp] // [V02 tmp1]
+ str r0, [sp+0x04] // [V00 this]
+ ;; size=14 bbWeight=1 PerfScore 5.00
G_M62324_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r1, [sp+0x0C]
- ; byrRegs +[r1]
- str r1, [sp+0x08] // [V02 tmp1]
- ldr r1, [sp+0x08] // [V02 tmp1]
- ldr r1, [r1]
- ; byrRegs -[r1]
- ldr r0, [sp+0x08] // [V02 tmp1]
- ; byrRegs +[r0]
- ldr r0, [r0+0x04]
- ; byrRegs -[r0]
- str r0, [sp+0x04] // [TEMP_01]
- and r0, r1, 0
- ldr r1, [sp+0x04] // [TEMP_01]
- and r1, r1, -0x40000000
- ;; size=24 bbWeight=1 PerfScore 10.00
+ ldr r3, [sp+0x04]
+ ; byrRegs +[r3]
+ str r3, [sp] // [V02 tmp1]
+ ldr r3, [sp] // [V02 tmp1]
+ ldr r3, [r3]
+ ; byrRegs -[r3]
+ ldr r2, [sp] // [V02 tmp1]
+ ; byrRegs +[r2]
+ ldr r2, [r2+0x04]
+ ; byrRegs -[r2]
+ and r0, r3, 0
+ and r1, r2, -0x40000000
+ ;; size=20 bbWeight=1 PerfScore 8.00
G_M62324_IG03: ; bbWeight=1, epilog, nogc, extend
- add sp, 16
- pop {r4,r10,r11,pc}
- ;; size=6 bbWeight=1 PerfScore 2.00
+ pop {r2,r3,r4,r10,r11,pc}
+ ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 46, prolog size 14, PerfScore 18.00, instruction count 18, allocated bytes for code 46 (MethodHash=aac80c8b) for method System.DateTime:get_InternalKind():ulong:this (Tier0)
+; Total bytes of code 38, prolog size 12, PerfScore 14.00, instruction count 14, allocated bytes for code 38 (MethodHash=aac80c8b) for method System.DateTime:get_InternalKind():ulong:this (Tier0)
; ============================================================
Unwind Info:
@@ -53,11 +48,11 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 23 (0x00017) Actual length = 46 (0x00002e)
+ Function Length : 19 (0x00013) Actual length = 38 (0x000026)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
- 04 add sp, sp, #16 ; opsize 16
- AC 10 pop {r4,r10,r11,lr} ; opsize 32
+ AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32
+ FF end
FF end
-8 (-16.67%) : 3217.dasm - System.DateTime:get_Ticks():long:this (Tier0)
@@ -5,44 +5,39 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x0C] do-not-enreg[] this
+; V00 this [V00 ] ( 1, 1 ) byref -> [sp+0x04] do-not-enreg[] this
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x08] must-init "ReplaceWithLclVar is creating a new local variable"
-; TEMP_01 int -> [r11-0x14]
+; V02 tmp1 [V02 ] ( 1, 1 ) byref -> [sp+0x00] must-init "ReplaceWithLclVar is creating a new local variable"
;
-; Lcl frame size = 16
+; Lcl frame size = 8
G_M65160_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r4,r10,r11,lr}
- sub sp, 16
- add r11, sp, 24
+ push {r2,r3,r4,r10,r11,lr}
+ add r11, sp, 16
movs r1, 0
- str r1, [sp+0x08] // [V02 tmp1]
- str r0, [sp+0x0C] // [V00 this]
- ;; size=16 bbWeight=1 PerfScore 6.00
+ str r1, [sp] // [V02 tmp1]
+ str r0, [sp+0x04] // [V00 this]
+ ;; size=14 bbWeight=1 PerfScore 5.00
G_M65160_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r1, [sp+0x0C]
- ; byrRegs +[r1]
- str r1, [sp+0x08] // [V02 tmp1]
- ldr r1, [sp+0x08] // [V02 tmp1]
- ldr r1, [r1]
- ; byrRegs -[r1]
- ldr r0, [sp+0x08] // [V02 tmp1]
- ; byrRegs +[r0]
- ldr r0, [r0+0x04]
- ; byrRegs -[r0]
- str r0, [sp+0x04] // [TEMP_01]
- mvn r3, -0x40000000
- and r0, r1, -1
- ldr r1, [sp+0x04] // [TEMP_01]
- ands r1, r3
- ;; size=26 bbWeight=1 PerfScore 11.00
+ ldr r3, [sp+0x04]
+ ; byrRegs +[r3]
+ str r3, [sp] // [V02 tmp1]
+ ldr r3, [sp] // [V02 tmp1]
+ ldr r3, [r3]
+ ; byrRegs -[r3]
+ ldr r2, [sp] // [V02 tmp1]
+ ; byrRegs +[r2]
+ ldr r2, [r2+0x04]
+ ; byrRegs -[r2]
+ mvn r1, -0x40000000
+ and r0, r3, -1
+ ands r1, r2
+ ;; size=22 bbWeight=1 PerfScore 9.00
G_M65160_IG03: ; bbWeight=1, epilog, nogc, extend
- add sp, 16
- pop {r4,r10,r11,pc}
- ;; size=6 bbWeight=1 PerfScore 2.00
+ pop {r2,r3,r4,r10,r11,pc}
+ ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 48, prolog size 14, PerfScore 19.00, instruction count 19, allocated bytes for code 48 (MethodHash=b6990177) for method System.DateTime:get_Ticks():long:this (Tier0)
+; Total bytes of code 40, prolog size 12, PerfScore 15.00, instruction count 15, allocated bytes for code 40 (MethodHash=b6990177) for method System.DateTime:get_Ticks():long:this (Tier0)
; ============================================================
Unwind Info:
@@ -54,11 +49,11 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 24 (0x00018) Actual length = 48 (0x000030)
+ Function Length : 20 (0x00014) Actual length = 40 (0x000028)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
- 04 add sp, sp, #16 ; opsize 16
- AC 10 pop {r4,r10,r11,lr} ; opsize 32
+ AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32
+ FF end
FF end
+12 (+17.14%) : 4982.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
@@ -5,58 +5,67 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [sp+0x04] do-not-enreg[] this class-hnd <System.Collections.Queue>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [sp+0x0C] do-not-enreg[] this class-hnd <System.Collections.Queue>
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 ref -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M41139_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr}
- add r11, sp, 16
- str r0, [sp+0x04]
- str r1, [sp]
- ;; size=12 bbWeight=1 PerfScore 4.00
+ push {r4,r10,r11,lr}
+ sub sp, 16
+ add r11, sp, 24
+ movs r2, 0
+ str r2, [sp+0x04]
+ str r0, [sp+0x0C]
+ str r1, [sp+0x08]
+ ;; size=18 bbWeight=1 PerfScore 7.00
G_M41139_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04]
- ; gcrRegs +[r0]
- ldr r4, [r0+0x04]
- ; gcrRegs +[r4]
- ldr r0, [sp+0x04]
- ldr r0, [r0+0x08]
- ; gcrRegs -[r0]
- ldr r1, [sp]
- adds r0, r0, r1
- ldr r1, [sp+0x04]
- ; gcrRegs +[r1]
- ldr r1, [r1+0x04]
- ldr r1, [r1+0x04]
- ; gcrRegs -[r1]
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_MOD
- ldr r3, [r4+0x04]
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x04]
+ str r3, [sp+0x04]
+ ldr r2, [sp+0x0C]
+ ; gcrRegs +[r2]
+ ldr r2, [r2+0x08]
+ ; gcrRegs -[r2]
+ ldr r1, [sp+0x08]
+ adds r0, r2, r1
+ ldr r2, [sp+0x0C]
+ ; gcrRegs +[r2]
+ ldr r2, [r2+0x04]
+ ldr r1, [r2+0x04]
+ movw r2, 0xd1ff
+ ; gcrRegs -[r2]
+ movt r2, 0xd1ff
+ blx r2 // CORINFO_HELP_MOD
+ ; gcrRegs -[r3]
+ ldr r2, [sp+0x04]
+ ; gcrRegs +[r2]
+ ldr r3, [r2+0x04]
cmp r0, r3
bhs SHORT G_M41139_IG04
- add r0, r4, r0 LSL 2
- ; byrRegs +[r0]
- adds r0, 8
- ldr r0, [r0]
+ add r3, r2, r0 LSL 2
+ ; byrRegs +[r3]
+ adds r3, 8
+ ldr r0, [r3]
; gcrRegs +[r0]
- ; byrRegs -[r0]
- ;; size=42 bbWeight=1 PerfScore 18.00
+ ;; size=46 bbWeight=1 PerfScore 20.00
G_M41139_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc}
- ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16
+ pop {r4,r10,r11,pc}
+ ;; size=6 bbWeight=1 PerfScore 2.00
G_M41139_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs -[r0 r4]
+ ; gcrRegs -[r0 r2]
+ ; byrRegs -[r3]
movw r3, 0xd1ff
movt r3, 0xd1ff
blx r3 // CORINFO_HELP_RNGCHKFAIL
bkpt
;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 70, prolog size 8, PerfScore 23.00, instruction count 27, allocated bytes for code 70 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
+; Total bytes of code 82, prolog size 14, PerfScore 29.00, instruction count 33, allocated bytes for code 82 (MethodHash=c74a5f4c) for method System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
; ============================================================
Unwind Info:
@@ -68,7 +77,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 35 (0x00023) Actual length = 70 (0x000046)
+ Function Length : 41 (0x00029) Actual length = 82 (0x000052)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -76,7 +85,7 @@ Unwind Info:
Epilog Start Index : 0 (0x00)
---- Unwind codes ----
---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32
- FF end
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end
+12 (+24.00%) : 726.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
@@ -5,38 +5,47 @@
; partially interruptible
; Final local variable assignments
;
-; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M18678_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr}
- add r11, sp, 16
+ push {r4,r10,r11,lr}
+ sub sp, 16
+ add r11, sp, 24
+ movs r1, 0
+ str r1, [sp+0x04]
str r0, [r11-0x0C]
- str r0, [sp]
- ;; size=14 bbWeight=1 PerfScore 4.00
+ str r0, [sp+0x08]
+ ;; size=20 bbWeight=1 PerfScore 7.00
G_M18678_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r0, [sp]
+ ldr r0, [sp+0x08]
movw r3, 0xd1ff
movt r3, 0xd1ff
blx r3 // CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE
; byrRegs +[r0]
- mov r4, r0
- ; byrRegs +[r4]
+ mov r3, r0
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
mov r0, 512
; byrRegs -[r0]
movs r1, 4
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_UDIV
- str r0, [r4+0x08]
- ;; size=32 bbWeight=1 PerfScore 11.00
+ movw r2, 0xd1ff
+ movt r2, 0xd1ff
+ blx r2 // CORINFO_HELP_UDIV
+ ; byrRegs -[r3]
+ ldr r3, [sp+0x04]
+ ; byrRegs +[r3]
+ str r0, [r3+0x08]
+ ;; size=36 bbWeight=1 PerfScore 13.00
G_M18678_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc}
- ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16
+ pop {r4,r10,r11,pc}
+ ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 50, prolog size 12, PerfScore 16.00, instruction count 16, allocated bytes for code 50 (MethodHash=e282b709) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
+; Total bytes of code 62, prolog size 18, PerfScore 22.00, instruction count 22, allocated bytes for code 62 (MethodHash=e282b709) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
; ============================================================
Unwind Info:
@@ -48,11 +57,11 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 25 (0x00019) Actual length = 50 (0x000032)
+ Function Length : 31 (0x0001f) Actual length = 62 (0x00003e)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32
- FF end
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end
+26 (+25.00%) : 27311.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
@@ -6,66 +6,86 @@
; Final local variable assignments
;
; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [sp+0x20] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x04] do-not-enreg[]
-; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x0C] do-not-enreg[]
+; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 byref -> [r11-0x14]
+; TEMP_01 int -> [r11-0x18]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push {r0,r1}
- push {r2,r3,r4,r5,r6,r10,r11,lr}
+ push {r4,r10,r11,lr}
+ sub sp, 16
add r11, sp, 24
- str r2, [sp+0x04]
- str r3, [sp]
- ;; size=14 bbWeight=1 PerfScore 5.00
+ movs r0, 0
+ str r0, [sp+0x04]
+ str r2, [sp+0x0C]
+ str r3, [sp+0x08]
+ ;; size=20 bbWeight=1 PerfScore 8.00
G_M44368_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04]
- ldr r1, [sp+0x24]
- cmp r0, r1
+ ldr r3, [sp+0x0C]
+ ldr r2, [sp+0x24]
+ cmp r3, r2
bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20]
- ; byrRegs +[r4]
- ldr r0, [sp+0x04]
- lsls r5, r0, 1
- ldr r0, [sp]
+ ldr r3, [sp+0x20]
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
+ ldr r2, [sp+0x0C]
+ lsls r2, r2, 1
+ str r2, [sp]
+ ldr r0, [sp+0x08]
movs r1, 10
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_DIV
- adds r0, 48
- strh r0, [r4+r5]
- ldr r0, [sp+0x04]
- adds r0, r0, 1
- ldr r1, [sp+0x24]
- cmp r0, r1
- bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20]
- ldr r0, [sp+0x04]
- lsls r0, r0, 1
- adds r5, r0, 2
- ldr r0, [sp]
- movs r1, 10
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_MOD
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ blx r4 // CORINFO_HELP_DIV
+ ; byrRegs -[r3]
add r3, r0, 48
- strh r3, [r4+r5]
- ;; size=70 bbWeight=1 PerfScore 30.00
+ ldr r2, [sp+0x04]
+ ; byrRegs +[r2]
+ ldr r1, [sp]
+ strh r3, [r2+r1]
+ ldr r3, [sp+0x0C]
+ adds r3, r3, 1
+ ldr r2, [sp+0x24]
+ ; byrRegs -[r2]
+ cmp r3, r2
+ bhs SHORT G_M44368_IG04
+ ldr r3, [sp+0x20]
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
+ ldr r2, [sp+0x0C]
+ lsls r2, r2, 1
+ adds r2, r2, 2
+ str r2, [sp]
+ ldr r0, [sp+0x08]
+ movs r1, 10
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ blx r4 // CORINFO_HELP_MOD
+ ; byrRegs -[r3]
+ add r3, r0, 48
+ ldr r2, [sp+0x04]
+ ; byrRegs +[r2]
+ ldr r1, [sp]
+ strh r3, [r2+r1]
+ ;; size=88 bbWeight=1 PerfScore 38.00
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r5,r6,r10,r11,lr}
+ add sp, 16
+ pop {r4,r10,r11,lr}
add sp, 8
bx lr
- ;; size=8 bbWeight=1 PerfScore 3.00
+ ;; size=10 bbWeight=1 PerfScore 4.00
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; byrRegs -[r4]
+ ; byrRegs -[r2]
movw r3, 0xd1ff
movt r3, 0xd1ff
blx r3 // CORINFO_HELP_RNGCHKFAIL
bkpt
;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 104, prolog size 10, PerfScore 38.00, instruction count 42, allocated bytes for code 104 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
+; Total bytes of code 130, prolog size 16, PerfScore 50.00, instruction count 54, allocated bytes for code 130 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
; ============================================================
Unwind Info:
@@ -77,21 +97,21 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 52 (0x00034) Actual length = 104 (0x000068)
+ Function Length : 65 (0x00041) Actual length = 130 (0x000082)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Condition : 14 (0xe) (always)
- Epilog Start Index : 5 (0x05)
+ Epilog Start Index : 6 (0x06)
---- Unwind codes ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
EC 03 pop {r0,r1} ; opsize 16
FF end
- ---- Epilog start at index 5 ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ ---- Epilog start at index 6 ----
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
02 add sp, sp, #8 ; opsize 16
FD end + nop ; opsize 16
FF end
- FF end
- FF end
coreclr_tests.run.linux.arm.checked.mch
-10 (-27.78%) : 113394.dasm - neg.neg:negi8(long):long (Tier0)
@@ -5,34 +5,29 @@
; partially interruptible
; Final local variable assignments
;
-; V00 arg0 [V00 ] ( 1, 1 ) long -> [sp+0x08] do-not-enreg[]
+; V00 arg0 [V00 ] ( 1, 1 ) long -> [sp+0x00] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; TEMP_01 int -> [r11-0x14]
;
-; Lcl frame size = 16
+; Lcl frame size = 8
G_M4008_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r4,r10,r11,lr}
- sub sp, 16
- add r11, sp, 24
- str r0, [sp+0x08]
- str r1, [sp+0x0C]
- ;; size=14 bbWeight=1 PerfScore 5.00
+ push {r2,r3,r4,r10,r11,lr}
+ add r11, sp, 16
+ str r0, [sp]
+ str r1, [sp+0x04]
+ ;; size=12 bbWeight=1 PerfScore 4.00
G_M4008_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r1, [sp+0x08]
- ldr r0, [sp+0x0C]
- str r0, [sp+0x04]
- movs r3, 0
- rsbs r0, r1, 0
- ldr r1, [sp+0x04]
- sbc r1, r3, r1
- ;; size=16 bbWeight=1 PerfScore 7.00
+ ldr r3, [sp]
+ ldr r2, [sp+0x04]
+ movs r1, 0
+ rsbs r0, r3, 0
+ sbcs r1, r2
+ ;; size=10 bbWeight=1 PerfScore 5.00
G_M4008_IG03: ; bbWeight=1, epilog, nogc, extend
- add sp, 16
- pop {r4,r10,r11,pc}
- ;; size=6 bbWeight=1 PerfScore 2.00
+ pop {r2,r3,r4,r10,r11,pc}
+ ;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 36, prolog size 10, PerfScore 14.00, instruction count 14, allocated bytes for code 36 (MethodHash=71ddf057) for method neg_._neg:negi8(long):long (Tier0)
+; Total bytes of code 26, prolog size 8, PerfScore 10.00, instruction count 10, allocated bytes for code 26 (MethodHash=71ddf057) for method neg_._neg:negi8(long):long (Tier0)
; ============================================================
Unwind Info:
@@ -44,11 +39,11 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 18 (0x00012) Actual length = 36 (0x000024)
+ Function Length : 13 (0x0000d) Actual length = 26 (0x00001a)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
- 04 add sp, sp, #16 ; opsize 16
- AC 10 pop {r4,r10,r11,lr} ; opsize 32
+ AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32
+ FF end
FF end
-32 (-19.75%) : 211634.dasm - TestCase:Main():int (Tier0)
@@ -32,21 +32,23 @@ G_M53793_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr r3, [r3]
blx r3 // <unknown method>
; gcrRegs -[r0]
- ldr r0, [sp] // [V02 tmp1]
- ; gcrRegs +[r0]
- str r0, [sp+0x04] // [V00 loc0]
+ ldr r3, [sp] // [V02 tmp1]
+ ; gcrRegs +[r3]
+ str r3, [sp+0x04] // [V00 loc0]
ldr r0, [sp+0x04] // [V00 loc0]
+ ; gcrRegs +[r0]
ldr r1, [sp+0x04] // [V00 loc0]
; gcrRegs +[r1]
movs r2, 0
movs r3, 0
- ldr lr, [sp+0x04] // [V00 loc0]
- ; gcrRegs +[lr]
- ldr lr, [lr]
- ; gcrRegs -[lr]
- ldr lr, [lr+0x30]
- ldr lr, [lr+0x04]
- blx lr // <unknown method>
+ ; gcrRegs -[r3]
+ ldr r4, [sp+0x04] // [V00 loc0]
+ ; gcrRegs +[r4]
+ ldr r4, [r4]
+ ; gcrRegs -[r4]
+ ldr r4, [r4+0x30]
+ ldr r4, [r4+0x04]
+ blx r4 // <unknown method>
; gcrRegs -[r0-r1]
ldr r0, [sp+0x04] // [V00 loc0]
; gcrRegs +[r0]
@@ -54,13 +56,13 @@ G_M53793_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[r1]
movs r2, 0
movs r3, 1
- ldr lr, [sp+0x04] // [V00 loc0]
- ; gcrRegs +[lr]
- ldr lr, [lr]
- ; gcrRegs -[lr]
- ldr lr, [lr+0x30]
- ldr lr, [lr+0x04]
- blx lr // <unknown method>
+ ldr r4, [sp+0x04] // [V00 loc0]
+ ; gcrRegs +[r4]
+ ldr r4, [r4]
+ ; gcrRegs -[r4]
+ ldr r4, [r4+0x30]
+ ldr r4, [r4+0x04]
+ blx r4 // <unknown method>
; gcrRegs -[r0-r1]
ldr r0, [sp+0x04] // [V00 loc0]
; gcrRegs +[r0]
@@ -68,13 +70,13 @@ G_M53793_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[r1]
movs r2, 1
movs r3, 0
- ldr lr, [sp+0x04] // [V00 loc0]
- ; gcrRegs +[lr]
- ldr lr, [lr]
- ; gcrRegs -[lr]
- ldr lr, [lr+0x30]
- ldr lr, [lr+0x04]
- blx lr // <unknown method>
+ ldr r4, [sp+0x04] // [V00 loc0]
+ ; gcrRegs +[r4]
+ ldr r4, [r4]
+ ; gcrRegs -[r4]
+ ldr r4, [r4+0x30]
+ ldr r4, [r4+0x04]
+ blx r4 // <unknown method>
; gcrRegs -[r0-r1]
ldr r0, [sp+0x04] // [V00 loc0]
; gcrRegs +[r0]
@@ -82,21 +84,21 @@ G_M53793_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[r1]
movs r2, 1
movs r3, 1
- ldr lr, [sp+0x04] // [V00 loc0]
- ; gcrRegs +[lr]
- ldr lr, [lr]
- ; gcrRegs -[lr]
- ldr lr, [lr+0x30]
- ldr lr, [lr+0x04]
- blx lr // <unknown method>
+ ldr r4, [sp+0x04] // [V00 loc0]
+ ; gcrRegs +[r4]
+ ldr r4, [r4]
+ ; gcrRegs -[r4]
+ ldr r4, [r4+0x30]
+ ldr r4, [r4+0x04]
+ blx r4 // <unknown method>
; gcrRegs -[r0-r1]
movs r0, 100
- ;; size=144 bbWeight=1 PerfScore 50.00
+ ;; size=112 bbWeight=1 PerfScore 50.00
G_M53793_IG03: ; bbWeight=1, epilog, nogc, extend
pop {r2,r3,r4,r10,r11,pc}
;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 162, prolog size 14, PerfScore 56.00, instruction count 56, allocated bytes for code 162 (MethodHash=91242dde) for method TestCase:Main():int (Tier0)
+; Total bytes of code 130, prolog size 14, PerfScore 56.00, instruction count 56, allocated bytes for code 130 (MethodHash=91242dde) for method TestCase:Main():int (Tier0)
; ============================================================
Unwind Info:
@@ -108,7 +110,7 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 81 (0x00051) Actual length = 162 (0x0000a2)
+ Function Length : 65 (0x00041) Actual length = 130 (0x000082)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
-8 (-19.05%) : 299042.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
@@ -24,20 +24,20 @@ G_M64536_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[r1]
movs r2, 0
movs r3, 0
- ldr lr, [sp+0x04]
- ; gcrRegs +[lr]
- ldr lr, [lr]
- ; gcrRegs -[lr]
- ldr lr, [lr+0x38]
- ldr lr, [lr+0x04]
- blx lr // <unknown method>
+ ldr r4, [sp+0x04]
+ ; gcrRegs +[r4]
+ ldr r4, [r4]
+ ; gcrRegs -[r4]
+ ldr r4, [r4+0x38]
+ ldr r4, [r4+0x04]
+ blx r4 // <unknown method>
; gcrRegs -[r1]
- ;; size=26 bbWeight=1 PerfScore 9.00
+ ;; size=18 bbWeight=1 PerfScore 9.00
G_M64536_IG03: ; bbWeight=1, epilog, nogc, extend
pop {r2,r3,r4,r10,r11,pc}
;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 42, prolog size 8, PerfScore 14.00, instruction count 14, allocated bytes for code 42 (MethodHash=edaf03e7) for method System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
+; Total bytes of code 34, prolog size 8, PerfScore 14.00, instruction count 14, allocated bytes for code 34 (MethodHash=edaf03e7) for method System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
; ============================================================
Unwind Info:
@@ -49,7 +49,7 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 21 (0x00015) Actual length = 42 (0x00002a)
+ Function Length : 17 (0x00011) Actual length = 34 (0x000022)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
+12 (+24.00%) : 299069.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
@@ -5,38 +5,47 @@
; partially interruptible
; Final local variable assignments
;
-; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M18678_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr}
- add r11, sp, 16
+ push {r4,r10,r11,lr}
+ sub sp, 16
+ add r11, sp, 24
+ movs r1, 0
+ str r1, [sp+0x04]
str r0, [r11-0x0C]
- str r0, [sp]
- ;; size=14 bbWeight=1 PerfScore 4.00
+ str r0, [sp+0x08]
+ ;; size=20 bbWeight=1 PerfScore 7.00
G_M18678_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r0, [sp]
+ ldr r0, [sp+0x08]
movw r3, 0xd1ff
movt r3, 0xd1ff
blx r3 // CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE
; byrRegs +[r0]
- mov r4, r0
- ; byrRegs +[r4]
+ mov r3, r0
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
mov r0, 512
; byrRegs -[r0]
movs r1, 4
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_UDIV
- str r0, [r4+0x08]
- ;; size=32 bbWeight=1 PerfScore 11.00
+ movw r2, 0xd1ff
+ movt r2, 0xd1ff
+ blx r2 // CORINFO_HELP_UDIV
+ ; byrRegs -[r3]
+ ldr r3, [sp+0x04]
+ ; byrRegs +[r3]
+ str r0, [r3+0x08]
+ ;; size=36 bbWeight=1 PerfScore 13.00
G_M18678_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc}
- ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16
+ pop {r4,r10,r11,pc}
+ ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 50, prolog size 12, PerfScore 16.00, instruction count 16, allocated bytes for code 50 (MethodHash=e282b709) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
+; Total bytes of code 62, prolog size 18, PerfScore 22.00, instruction count 22, allocated bytes for code 62 (MethodHash=e282b709) for method System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
; ============================================================
Unwind Info:
@@ -48,11 +57,11 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 25 (0x00019) Actual length = 50 (0x000032)
+ Function Length : 31 (0x0001f) Actual length = 62 (0x00003e)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32
- FF end
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end
+26 (+25.00%) : 144141.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
@@ -6,66 +6,86 @@
; Final local variable assignments
;
; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [sp+0x20] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x04] do-not-enreg[]
-; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x0C] do-not-enreg[]
+; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 byref -> [r11-0x14]
+; TEMP_01 int -> [r11-0x18]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push {r0,r1}
- push {r2,r3,r4,r5,r6,r10,r11,lr}
+ push {r4,r10,r11,lr}
+ sub sp, 16
add r11, sp, 24
- str r2, [sp+0x04]
- str r3, [sp]
- ;; size=14 bbWeight=1 PerfScore 5.00
+ movs r0, 0
+ str r0, [sp+0x04]
+ str r2, [sp+0x0C]
+ str r3, [sp+0x08]
+ ;; size=20 bbWeight=1 PerfScore 8.00
G_M44368_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04]
- ldr r1, [sp+0x24]
- cmp r0, r1
+ ldr r3, [sp+0x0C]
+ ldr r2, [sp+0x24]
+ cmp r3, r2
bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20]
- ; byrRegs +[r4]
- ldr r0, [sp+0x04]
- lsls r5, r0, 1
- ldr r0, [sp]
+ ldr r3, [sp+0x20]
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
+ ldr r2, [sp+0x0C]
+ lsls r2, r2, 1
+ str r2, [sp]
+ ldr r0, [sp+0x08]
movs r1, 10
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_DIV
- adds r0, 48
- strh r0, [r4+r5]
- ldr r0, [sp+0x04]
- adds r0, r0, 1
- ldr r1, [sp+0x24]
- cmp r0, r1
- bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20]
- ldr r0, [sp+0x04]
- lsls r0, r0, 1
- adds r5, r0, 2
- ldr r0, [sp]
- movs r1, 10
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_MOD
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ blx r4 // CORINFO_HELP_DIV
+ ; byrRegs -[r3]
add r3, r0, 48
- strh r3, [r4+r5]
- ;; size=70 bbWeight=1 PerfScore 30.00
+ ldr r2, [sp+0x04]
+ ; byrRegs +[r2]
+ ldr r1, [sp]
+ strh r3, [r2+r1]
+ ldr r3, [sp+0x0C]
+ adds r3, r3, 1
+ ldr r2, [sp+0x24]
+ ; byrRegs -[r2]
+ cmp r3, r2
+ bhs SHORT G_M44368_IG04
+ ldr r3, [sp+0x20]
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
+ ldr r2, [sp+0x0C]
+ lsls r2, r2, 1
+ adds r2, r2, 2
+ str r2, [sp]
+ ldr r0, [sp+0x08]
+ movs r1, 10
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ blx r4 // CORINFO_HELP_MOD
+ ; byrRegs -[r3]
+ add r3, r0, 48
+ ldr r2, [sp+0x04]
+ ; byrRegs +[r2]
+ ldr r1, [sp]
+ strh r3, [r2+r1]
+ ;; size=88 bbWeight=1 PerfScore 38.00
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r5,r6,r10,r11,lr}
+ add sp, 16
+ pop {r4,r10,r11,lr}
add sp, 8
bx lr
- ;; size=8 bbWeight=1 PerfScore 3.00
+ ;; size=10 bbWeight=1 PerfScore 4.00
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; byrRegs -[r4]
+ ; byrRegs -[r2]
movw r3, 0xd1ff
movt r3, 0xd1ff
blx r3 // CORINFO_HELP_RNGCHKFAIL
bkpt
;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 104, prolog size 10, PerfScore 38.00, instruction count 42, allocated bytes for code 104 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
+; Total bytes of code 130, prolog size 16, PerfScore 50.00, instruction count 54, allocated bytes for code 130 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
; ============================================================
Unwind Info:
@@ -77,21 +97,21 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 52 (0x00034) Actual length = 104 (0x000068)
+ Function Length : 65 (0x00041) Actual length = 130 (0x000082)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Condition : 14 (0xe) (always)
- Epilog Start Index : 5 (0x05)
+ Epilog Start Index : 6 (0x06)
---- Unwind codes ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
EC 03 pop {r0,r1} ; opsize 16
FF end
- ---- Epilog start at index 5 ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ ---- Epilog start at index 6 ----
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
02 add sp, sp, #8 ; opsize 16
FD end + nop ; opsize 16
FF end
- FF end
- FF end
+26 (+25.00%) : 145015.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
@@ -6,66 +6,86 @@
; Final local variable assignments
;
; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [sp+0x20] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x04] do-not-enreg[]
-; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x0C] do-not-enreg[]
+; V02 arg2 [V02 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_02 byref -> [r11-0x14]
+; TEMP_01 int -> [r11-0x18]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
push {r0,r1}
- push {r2,r3,r4,r5,r6,r10,r11,lr}
+ push {r4,r10,r11,lr}
+ sub sp, 16
add r11, sp, 24
- str r2, [sp+0x04]
- str r3, [sp]
- ;; size=14 bbWeight=1 PerfScore 5.00
+ movs r0, 0
+ str r0, [sp+0x04]
+ str r2, [sp+0x0C]
+ str r3, [sp+0x08]
+ ;; size=20 bbWeight=1 PerfScore 8.00
G_M44368_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04]
- ldr r1, [sp+0x24]
- cmp r0, r1
+ ldr r3, [sp+0x0C]
+ ldr r2, [sp+0x24]
+ cmp r3, r2
bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20]
- ; byrRegs +[r4]
- ldr r0, [sp+0x04]
- lsls r5, r0, 1
- ldr r0, [sp]
+ ldr r3, [sp+0x20]
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
+ ldr r2, [sp+0x0C]
+ lsls r2, r2, 1
+ str r2, [sp]
+ ldr r0, [sp+0x08]
movs r1, 10
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_DIV
- adds r0, 48
- strh r0, [r4+r5]
- ldr r0, [sp+0x04]
- adds r0, r0, 1
- ldr r1, [sp+0x24]
- cmp r0, r1
- bhs SHORT G_M44368_IG04
- ldr r4, [sp+0x20]
- ldr r0, [sp+0x04]
- lsls r0, r0, 1
- adds r5, r0, 2
- ldr r0, [sp]
- movs r1, 10
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_MOD
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ blx r4 // CORINFO_HELP_DIV
+ ; byrRegs -[r3]
add r3, r0, 48
- strh r3, [r4+r5]
- ;; size=70 bbWeight=1 PerfScore 30.00
+ ldr r2, [sp+0x04]
+ ; byrRegs +[r2]
+ ldr r1, [sp]
+ strh r3, [r2+r1]
+ ldr r3, [sp+0x0C]
+ adds r3, r3, 1
+ ldr r2, [sp+0x24]
+ ; byrRegs -[r2]
+ cmp r3, r2
+ bhs SHORT G_M44368_IG04
+ ldr r3, [sp+0x20]
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
+ ldr r2, [sp+0x0C]
+ lsls r2, r2, 1
+ adds r2, r2, 2
+ str r2, [sp]
+ ldr r0, [sp+0x08]
+ movs r1, 10
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ blx r4 // CORINFO_HELP_MOD
+ ; byrRegs -[r3]
+ add r3, r0, 48
+ ldr r2, [sp+0x04]
+ ; byrRegs +[r2]
+ ldr r1, [sp]
+ strh r3, [r2+r1]
+ ;; size=88 bbWeight=1 PerfScore 38.00
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r5,r6,r10,r11,lr}
+ add sp, 16
+ pop {r4,r10,r11,lr}
add sp, 8
bx lr
- ;; size=8 bbWeight=1 PerfScore 3.00
+ ;; size=10 bbWeight=1 PerfScore 4.00
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- ; byrRegs -[r4]
+ ; byrRegs -[r2]
movw r3, 0xd1ff
movt r3, 0xd1ff
blx r3 // CORINFO_HELP_RNGCHKFAIL
bkpt
;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 104, prolog size 10, PerfScore 38.00, instruction count 42, allocated bytes for code 104 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
+; Total bytes of code 130, prolog size 16, PerfScore 50.00, instruction count 54, allocated bytes for code 130 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -77,21 +97,21 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 52 (0x00034) Actual length = 104 (0x000068)
+ Function Length : 65 (0x00041) Actual length = 130 (0x000082)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Condition : 14 (0xe) (always)
- Epilog Start Index : 5 (0x05)
+ Epilog Start Index : 6 (0x06)
---- Unwind codes ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
EC 03 pop {r0,r1} ; opsize 16
FF end
- ---- Epilog start at index 5 ----
- AC 7C pop {r2,r3,r4,r5,r6,r10,r11,lr} ; opsize 32
+ ---- Epilog start at index 6 ----
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
02 add sp, sp, #8 ; opsize 16
FD end + nop ; opsize 16
FF end
- FF end
- FF end
libraries.crossgen2.linux.arm.checked.mch
+0 (0.00%) : 6513.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],int):ubyte (MinOpts)
@@ -24,8 +24,8 @@ G_M4887_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str r1, [sp+0x08] // [V01 arg1]
;; size=18 bbWeight=1 PerfScore 7.00
G_M4887_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r2, 0
- str r2, [sp+0x04] // [V02 loc0]
+ movs r3, 0
+ str r3, [sp+0x04] // [V02 loc0]
ldr r2, [sp+0x04] // [V02 loc0]
; gcrRegs +[r2]
ldr r0, [sp+0x0C] // [V00 arg0]
+0 (0.00%) : 6517.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
@@ -43,25 +43,25 @@ G_M50957_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blx r3 // CORINFO_HELP_DBL2LNG
str r0, [sp+0x18] // [V02 loc0]
str r1, [sp+0x1C] // [V02 loc0+0x04]
- ldr r0, [sp+0x18] // [V02 loc0]
- mov r3, -1
- str r3, [sp+0x04] // [V06 tmp2]
- ldr r3, [sp+0x04] // [V06 tmp2]
+ ldr r3, [sp+0x18] // [V02 loc0]
+ mov r2, -1
+ str r2, [sp+0x04] // [V06 tmp2]
ldr r2, [sp+0x04] // [V06 tmp2]
- asrs r2, r2, 31
- cmp r0, r3
- ldr r0, [sp+0x1C] // [V02 loc0+0x04]
- sbcs r0, r2
- blt SHORT G_M50957_IG03
- ldr r0, [sp+0x18] // [V02 loc0]
- ldr r3, [sp+0x1C] // [V02 loc0+0x04]
- mvn r2, 0x80000000
- str r2, [sp] // [V07 tmp3]
- ldr r2, [sp] // [V07 tmp3]
- ldr r1, [sp] // [V07 tmp3]
+ ldr r1, [sp+0x04] // [V06 tmp2]
asrs r1, r1, 31
- cmp r2, r0
- sbcs r0, r1, r3
+ cmp r3, r2
+ ldr r3, [sp+0x1C] // [V02 loc0+0x04]
+ sbcs r3, r1
+ blt SHORT G_M50957_IG03
+ ldr r3, [sp+0x18] // [V02 loc0]
+ ldr r2, [sp+0x1C] // [V02 loc0+0x04]
+ mvn r1, 0x80000000
+ str r1, [sp] // [V07 tmp3]
+ ldr r1, [sp] // [V07 tmp3]
+ ldr r0, [sp] // [V07 tmp3]
+ asrs r0, r0, 31
+ cmp r1, r3
+ sbcs r3, r0, r2
bge SHORT G_M50957_IG04
;; size=88 bbWeight=1 PerfScore 35.00
G_M50957_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -73,8 +73,8 @@ G_M50957_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blx r3 // <unknown method>
;; size=16 bbWeight=1 PerfScore 6.00
G_M50957_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r2, 0
- str r2, [sp+0x14] // [V03 loc1]
+ movs r3, 0
+ str r3, [sp+0x14] // [V03 loc1]
ldr r2, [sp+0x14] // [V03 loc1]
; gcrRegs +[r2]
ldr r0, [sp+0x24] // [V00 arg0]
+0 (0.00%) : 119134.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -57,10 +57,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byref
ldr r3, [r4]
blx r3 // <unknown method>
str r0, [sp+0x14] // [V02 loc0]
- movs r0, 0
- str r0, [sp+0x10] // [V03 loc1]
- movs r0, 0
- str r0, [sp+0x0C] // [V04 loc2]
+ movs r3, 0
+ str r3, [sp+0x10] // [V03 loc1]
+ movs r3, 0
+ str r3, [sp+0x0C] // [V04 loc2]
b SHORT G_M16092_IG06
;; size=28 bbWeight=1 PerfScore 12.00
G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -72,10 +72,10 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr r3, [r4]
blx r3 // <unknown method>
; byrRegs +[r0]
- ldrb r0, [r0]
- ; byrRegs -[r0]
- str r0, [sp+0x04] // [V07 tmp2]
+ ldrb r3, [r0]
+ str r3, [sp+0x04] // [V07 tmp2]
add r0, sp, 48 // [V01 arg1]
+ ; byrRegs -[r0]
ldr r1, [sp+0x0C] // [V04 loc2]
movw r4, LOW RELOC 0xD1FFAB1E
movt r4, HIGH RELOC 0xD1FFAB1E
@@ -83,24 +83,24 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr r3, [r4]
blx r3 // <unknown method>
; byrRegs +[r0]
- ldrb r0, [r0]
- ; byrRegs -[r0]
- ldr r3, [sp+0x04] // [V07 tmp2]
- subs r0, r3, r0
- ldr r3, [sp+0x10] // [V03 loc1]
- orrs r0, r3
- str r0, [sp+0x10] // [V03 loc1]
- ldr r0, [sp+0x0C] // [V04 loc2]
- adds r0, r0, 1
- str r0, [sp+0x0C] // [V04 loc2]
+ ldrb r3, [r0]
+ ldr r2, [sp+0x04] // [V07 tmp2]
+ subs r3, r2, r3
+ ldr r2, [sp+0x10] // [V03 loc1]
+ orrs r3, r2
+ str r3, [sp+0x10] // [V03 loc1]
+ ldr r3, [sp+0x0C] // [V04 loc2]
+ adds r3, r3, 1
+ str r3, [sp+0x0C] // [V04 loc2]
;; size=58 bbWeight=1 PerfScore 25.00
G_M16092_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x0C] // [V04 loc2]
- ldr r1, [sp+0x14] // [V02 loc0]
- cmp r0, r1
+ ; byrRegs -[r0]
+ ldr r3, [sp+0x0C] // [V04 loc2]
+ ldr r2, [sp+0x14] // [V02 loc0]
+ cmp r3, r2
blt SHORT G_M16092_IG05
- ldr r0, [sp+0x10] // [V03 loc1]
- cmp r0, 0
+ ldr r3, [sp+0x10] // [V03 loc1]
+ cmp r3, 0
beq SHORT G_M16092_IG07
movs r0, 0
b SHORT G_M16092_IG08
+0 (0.00%) : 6512.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
@@ -43,25 +43,25 @@ G_M28342_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blx r3 // CORINFO_HELP_DBL2LNG
str r0, [sp+0x18] // [V02 loc0]
str r1, [sp+0x1C] // [V02 loc0+0x04]
- ldr r0, [sp+0x18] // [V02 loc0]
- mov r3, -1
- str r3, [sp+0x04] // [V06 tmp2]
- ldr r3, [sp+0x04] // [V06 tmp2]
+ ldr r3, [sp+0x18] // [V02 loc0]
+ mov r2, -1
+ str r2, [sp+0x04] // [V06 tmp2]
ldr r2, [sp+0x04] // [V06 tmp2]
- asrs r2, r2, 31
- cmp r0, r3
- ldr r0, [sp+0x1C] // [V02 loc0+0x04]
- sbcs r0, r2
- blt SHORT G_M28342_IG03
- ldr r0, [sp+0x18] // [V02 loc0]
- ldr r3, [sp+0x1C] // [V02 loc0+0x04]
- mvn r2, 0x80000000
- str r2, [sp] // [V07 tmp3]
- ldr r2, [sp] // [V07 tmp3]
- ldr r1, [sp] // [V07 tmp3]
+ ldr r1, [sp+0x04] // [V06 tmp2]
asrs r1, r1, 31
- cmp r2, r0
- sbcs r0, r1, r3
+ cmp r3, r2
+ ldr r3, [sp+0x1C] // [V02 loc0+0x04]
+ sbcs r3, r1
+ blt SHORT G_M28342_IG03
+ ldr r3, [sp+0x18] // [V02 loc0]
+ ldr r2, [sp+0x1C] // [V02 loc0+0x04]
+ mvn r1, 0x80000000
+ str r1, [sp] // [V07 tmp3]
+ ldr r1, [sp] // [V07 tmp3]
+ ldr r0, [sp] // [V07 tmp3]
+ asrs r0, r0, 31
+ cmp r1, r3
+ sbcs r3, r0, r2
bge SHORT G_M28342_IG04
;; size=88 bbWeight=1 PerfScore 35.00
G_M28342_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -73,8 +73,8 @@ G_M28342_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blx r3 // <unknown method>
;; size=16 bbWeight=1 PerfScore 6.00
G_M28342_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r2, 0
- str r2, [sp+0x14] // [V03 loc1]
+ movs r3, 0
+ str r3, [sp+0x14] // [V03 loc1]
ldr r2, [sp+0x14] // [V03 loc1]
; gcrRegs +[r2]
ldr r0, [sp+0x24] // [V00 arg0]
+0 (0.00%) : 6516.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
@@ -24,8 +24,8 @@ G_M30483_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str r0, [sp+0x0C] // [V00 arg0]
;; size=16 bbWeight=1 PerfScore 6.00
G_M30483_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- movs r2, 0
- str r2, [sp+0x04] // [V02 loc1]
+ movs r3, 0
+ str r3, [sp+0x04] // [V02 loc1]
ldr r2, [sp+0x04] // [V02 loc1]
; gcrRegs +[r2]
ldr r0, [sp+0x0C] // [V00 arg0]
@@ -38,35 +38,35 @@ G_M30483_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
blx r3 // <unknown method>
; gcrRegs -[r0 r2]
str r0, [sp+0x08] // [V01 loc0]
- ldr r1, [sp+0x0C] // [V00 arg0]
- ; gcrRegs +[r1]
- ldr r1, [r1+0x04]
- ; gcrRegs -[r1]
- cmp r1, 0
+ ldr r3, [sp+0x0C] // [V00 arg0]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x04]
+ ; gcrRegs -[r3]
+ cmp r3, 0
beq SHORT G_M30483_IG05
- ldr r1, [sp+0x08] // [V01 loc0]
- cmp r1, -1
+ ldr r3, [sp+0x08] // [V01 loc0]
+ cmp r3, -1
bne SHORT G_M30483_IG03
- movs r1, 0
+ movs r3, 0
b SHORT G_M30483_IG04
;; size=48 bbWeight=1 PerfScore 20.00
G_M30483_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r1, 1
+ movs r3, 1
;; size=2 bbWeight=1 PerfScore 1.00
G_M30483_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- str r1, [sp] // [V04 tmp1]
+ str r3, [sp] // [V04 tmp1]
b SHORT G_M30483_IG06
;; size=4 bbWeight=1 PerfScore 2.00
G_M30483_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r1, 1
- str r1, [sp] // [V04 tmp1]
+ movs r3, 1
+ str r3, [sp] // [V04 tmp1]
;; size=4 bbWeight=1 PerfScore 2.00
G_M30483_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movw r1, LOW RELOC 0xD1FFAB1E
- movt r1, HIGH RELOC 0xD1FFAB1E
- add r1, pc
- ldr r1, [r1]
- ldr r1, [r1]
+ movw r3, LOW RELOC 0xD1FFAB1E
+ movt r3, HIGH RELOC 0xD1FFAB1E
+ add r3, pc
+ ldr r3, [r3]
+ ldr r1, [r3]
; gcrRegs +[r1]
ldr r0, [sp] // [V04 tmp1]
movw r4, LOW RELOC 0xD1FFAB1E
+0 (0.00%) : 123404.dasm - System.Security.Cryptography.Xml.SignedXml:CryptographicEquals(ubyte[],ubyte[]):ubyte (MinOpts)
@@ -28,17 +28,17 @@ G_M58565_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str r1, [sp+0x10] // [V01 arg1]
;; size=22 bbWeight=1 PerfScore 9.00
G_M58565_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- movs r0, 0
- str r0, [sp+0x0C] // [V02 loc0]
- ldr r0, [sp+0x14] // [V00 arg0]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x04]
- ; gcrRegs -[r0]
- ldr r3, [sp+0x10] // [V01 arg1]
+ movs r3, 0
+ str r3, [sp+0x0C] // [V02 loc0]
+ ldr r3, [sp+0x14] // [V00 arg0]
; gcrRegs +[r3]
ldr r3, [r3+0x04]
; gcrRegs -[r3]
- cmp r0, r3
+ ldr r2, [sp+0x10] // [V01 arg1]
+ ; gcrRegs +[r2]
+ ldr r2, [r2+0x04]
+ ; gcrRegs -[r2]
+ cmp r3, r2
beq SHORT G_M58565_IG04
movs r0, 0
;; size=18 bbWeight=1 PerfScore 9.00
@@ -47,29 +47,17 @@ G_M58565_IG03: ; bbWeight=1, epilog, nogc, extend
pop {r4,r10,r11,pc}
;; size=6 bbWeight=1 PerfScore 2.00
G_M58565_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
- ldr r0, [sp+0x14] // [V00 arg0]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x04]
- ; gcrRegs -[r0]
- str r0, [sp+0x08] // [V03 loc1]
- movs r0, 0
- str r0, [sp+0x04] // [V04 loc2]
+ ldr r3, [sp+0x14] // [V00 arg0]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x04]
+ ; gcrRegs -[r3]
+ str r3, [sp+0x08] // [V03 loc1]
+ movs r3, 0
+ str r3, [sp+0x04] // [V04 loc2]
b SHORT G_M58565_IG06
;; size=12 bbWeight=1 PerfScore 6.00
G_M58565_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x14] // [V00 arg0]
- ; gcrRegs +[r0]
- ldr r3, [sp+0x04] // [V04 loc2]
- ldr r2, [r0+0x04]
- cmp r3, r2
- bhs SHORT G_M58565_IG09
- adds r0, r0, r3
- ; gcrRegs -[r0]
- ; byrRegs +[r0]
- adds r0, 8
- ldrb r0, [r0]
- ; byrRegs -[r0]
- ldr r3, [sp+0x10] // [V01 arg1]
+ ldr r3, [sp+0x14] // [V00 arg0]
; gcrRegs +[r3]
ldr r2, [sp+0x04] // [V04 loc2]
ldr r1, [r3+0x04]
@@ -81,21 +69,33 @@ G_M58565_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
adds r3, 8
ldrb r3, [r3]
; byrRegs -[r3]
- subs r0, r0, r3
- ldr r3, [sp+0x0C] // [V02 loc0]
- orrs r0, r3
- str r0, [sp+0x0C] // [V02 loc0]
- ldr r0, [sp+0x04] // [V04 loc2]
- adds r0, r0, 1
- str r0, [sp+0x04] // [V04 loc2]
+ ldr r2, [sp+0x10] // [V01 arg1]
+ ; gcrRegs +[r2]
+ ldr r1, [sp+0x04] // [V04 loc2]
+ ldr r0, [r2+0x04]
+ cmp r1, r0
+ bhs SHORT G_M58565_IG09
+ adds r2, r2, r1
+ ; gcrRegs -[r2]
+ ; byrRegs +[r2]
+ adds r2, 8
+ ldrb r2, [r2]
+ ; byrRegs -[r2]
+ subs r3, r3, r2
+ ldr r2, [sp+0x0C] // [V02 loc0]
+ orrs r3, r2
+ str r3, [sp+0x0C] // [V02 loc0]
+ ldr r3, [sp+0x04] // [V04 loc2]
+ adds r3, r3, 1
+ str r3, [sp+0x04] // [V04 loc2]
;; size=46 bbWeight=1 PerfScore 23.00
G_M58565_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] // [V04 loc2]
- ldr r3, [sp+0x08] // [V03 loc1]
- cmp r0, r3
+ ldr r3, [sp+0x04] // [V04 loc2]
+ ldr r2, [sp+0x08] // [V03 loc1]
+ cmp r3, r2
blt SHORT G_M58565_IG05
- ldr r0, [sp+0x0C] // [V02 loc0]
- cmp r0, 0
+ ldr r3, [sp+0x0C] // [V02 loc0]
+ cmp r3, 0
beq SHORT G_M58565_IG07
movs r0, 0
b SHORT G_M58565_IG08
libraries.pmi.linux.arm.checked.mch
+0 (0.00%) : 182654.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -52,10 +52,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byref
ldr r3, [r3]
blx r3 // <unknown method>
str r0, [sp+0x14] // [V02 loc0]
- movs r0, 0
- str r0, [sp+0x10] // [V03 loc1]
- movs r0, 0
- str r0, [sp+0x0C] // [V04 loc2]
+ movs r3, 0
+ str r3, [sp+0x10] // [V03 loc1]
+ movs r3, 0
+ str r3, [sp+0x0C] // [V04 loc2]
b SHORT G_M16092_IG06
;; size=26 bbWeight=1 PerfScore 11.00
G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -66,34 +66,34 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr r3, [r3]
blx r3 // <unknown method>
; byrRegs +[r0]
- ldrb r0, [r0]
- ; byrRegs -[r0]
- str r0, [sp+0x04] // [V07 tmp2]
+ ldrb r3, [r0]
+ str r3, [sp+0x04] // [V07 tmp2]
add r0, sp, 48 // [V01 arg1]
+ ; byrRegs -[r0]
ldr r1, [sp+0x0C] // [V04 loc2]
movw r3, 0xd1ff
movt r3, 0xd1ff
ldr r3, [r3]
blx r3 // <unknown method>
; byrRegs +[r0]
- ldrb r0, [r0]
- ; byrRegs -[r0]
- ldr r3, [sp+0x04] // [V07 tmp2]
- subs r0, r3, r0
- ldr r3, [sp+0x10] // [V03 loc1]
- orrs r0, r3
- str r0, [sp+0x10] // [V03 loc1]
- ldr r0, [sp+0x0C] // [V04 loc2]
- adds r0, r0, 1
- str r0, [sp+0x0C] // [V04 loc2]
+ ldrb r3, [r0]
+ ldr r2, [sp+0x04] // [V07 tmp2]
+ subs r3, r2, r3
+ ldr r2, [sp+0x10] // [V03 loc1]
+ orrs r3, r2
+ str r3, [sp+0x10] // [V03 loc1]
+ ldr r3, [sp+0x0C] // [V04 loc2]
+ adds r3, r3, 1
+ str r3, [sp+0x0C] // [V04 loc2]
;; size=54 bbWeight=1 PerfScore 23.00
G_M16092_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x0C] // [V04 loc2]
- ldr r1, [sp+0x14] // [V02 loc0]
- cmp r0, r1
+ ; byrRegs -[r0]
+ ldr r3, [sp+0x0C] // [V04 loc2]
+ ldr r2, [sp+0x14] // [V02 loc0]
+ cmp r3, r2
blt SHORT G_M16092_IG05
- ldr r0, [sp+0x10] // [V03 loc1]
- cmp r0, 0
+ ldr r3, [sp+0x10] // [V03 loc1]
+ cmp r3, 0
beq SHORT G_M16092_IG07
movs r0, 0
b SHORT G_M16092_IG08
+0 (0.00%) : 237695.dasm - System.Security.Cryptography.Xml.SignedXml:CryptographicEquals(ubyte[],ubyte[]):ubyte (MinOpts)
@@ -26,17 +26,17 @@ G_M58565_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
str r1, [sp+0x10] // [V01 arg1]
;; size=22 bbWeight=1 PerfScore 9.00
G_M58565_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- movs r0, 0
- str r0, [sp+0x0C] // [V02 loc0]
- ldr r0, [sp+0x14] // [V00 arg0]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x04]
- ; gcrRegs -[r0]
- ldr r3, [sp+0x10] // [V01 arg1]
+ movs r3, 0
+ str r3, [sp+0x0C] // [V02 loc0]
+ ldr r3, [sp+0x14] // [V00 arg0]
; gcrRegs +[r3]
ldr r3, [r3+0x04]
; gcrRegs -[r3]
- cmp r0, r3
+ ldr r2, [sp+0x10] // [V01 arg1]
+ ; gcrRegs +[r2]
+ ldr r2, [r2+0x04]
+ ; gcrRegs -[r2]
+ cmp r3, r2
beq SHORT G_M58565_IG04
movs r0, 0
;; size=18 bbWeight=1 PerfScore 9.00
@@ -45,29 +45,17 @@ G_M58565_IG03: ; bbWeight=1, epilog, nogc, extend
pop {r4,r10,r11,pc}
;; size=6 bbWeight=1 PerfScore 2.00
G_M58565_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
- ldr r0, [sp+0x14] // [V00 arg0]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x04]
- ; gcrRegs -[r0]
- str r0, [sp+0x08] // [V03 loc1]
- movs r0, 0
- str r0, [sp+0x04] // [V04 loc2]
+ ldr r3, [sp+0x14] // [V00 arg0]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x04]
+ ; gcrRegs -[r3]
+ str r3, [sp+0x08] // [V03 loc1]
+ movs r3, 0
+ str r3, [sp+0x04] // [V04 loc2]
b SHORT G_M58565_IG06
;; size=12 bbWeight=1 PerfScore 6.00
G_M58565_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x14] // [V00 arg0]
- ; gcrRegs +[r0]
- ldr r3, [sp+0x04] // [V04 loc2]
- ldr r2, [r0+0x04]
- cmp r3, r2
- bhs SHORT G_M58565_IG09
- adds r0, r0, r3
- ; gcrRegs -[r0]
- ; byrRegs +[r0]
- adds r0, 8
- ldrb r0, [r0]
- ; byrRegs -[r0]
- ldr r3, [sp+0x10] // [V01 arg1]
+ ldr r3, [sp+0x14] // [V00 arg0]
; gcrRegs +[r3]
ldr r2, [sp+0x04] // [V04 loc2]
ldr r1, [r3+0x04]
@@ -79,21 +67,33 @@ G_M58565_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
adds r3, 8
ldrb r3, [r3]
; byrRegs -[r3]
- subs r0, r0, r3
- ldr r3, [sp+0x0C] // [V02 loc0]
- orrs r0, r3
- str r0, [sp+0x0C] // [V02 loc0]
- ldr r0, [sp+0x04] // [V04 loc2]
- adds r0, r0, 1
- str r0, [sp+0x04] // [V04 loc2]
+ ldr r2, [sp+0x10] // [V01 arg1]
+ ; gcrRegs +[r2]
+ ldr r1, [sp+0x04] // [V04 loc2]
+ ldr r0, [r2+0x04]
+ cmp r1, r0
+ bhs SHORT G_M58565_IG09
+ adds r2, r2, r1
+ ; gcrRegs -[r2]
+ ; byrRegs +[r2]
+ adds r2, 8
+ ldrb r2, [r2]
+ ; byrRegs -[r2]
+ subs r3, r3, r2
+ ldr r2, [sp+0x0C] // [V02 loc0]
+ orrs r3, r2
+ str r3, [sp+0x0C] // [V02 loc0]
+ ldr r3, [sp+0x04] // [V04 loc2]
+ adds r3, r3, 1
+ str r3, [sp+0x04] // [V04 loc2]
;; size=46 bbWeight=1 PerfScore 23.00
G_M58565_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04] // [V04 loc2]
- ldr r3, [sp+0x08] // [V03 loc1]
- cmp r0, r3
+ ldr r3, [sp+0x04] // [V04 loc2]
+ ldr r2, [sp+0x08] // [V03 loc1]
+ cmp r3, r2
blt SHORT G_M58565_IG05
- ldr r0, [sp+0x0C] // [V02 loc0]
- cmp r0, 0
+ ldr r3, [sp+0x0C] // [V02 loc0]
+ cmp r3, 0
beq SHORT G_M58565_IG07
movs r0, 0
b SHORT G_M58565_IG08
libraries_tests.run.linux.arm.Release.mch
-34 (-22.67%) : 9378.dasm - NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Tier0)
@@ -35,43 +35,43 @@ G_M2234_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blx r3 // <unknown method>
; gcrRegs -[r0]
str r0, [sp+0x2C] // [V03 tmp2]
- ldr r0, [sp+0x2C] // [V03 tmp2]
- str r0, [sp+0x20] // [V01 OutArgs+0x20]
+ ldr r3, [sp+0x2C] // [V03 tmp2]
+ str r3, [sp+0x20] // [V01 OutArgs+0x20]
ldr r0, [sp+0x30] // [V02 tmp1]
; gcrRegs +[r0]
movs r1, 1
movs r2, 1
movs r3, 1
- mov lr, 1
- str lr, [sp] // [V01 OutArgs]
- mov lr, 1
- str lr, [sp+0x04] // [V01 OutArgs+0x04]
- mov lr, 1
- str lr, [sp+0x08] // [V01 OutArgs+0x08]
- mov lr, 1
- str lr, [sp+0x0C] // [V01 OutArgs+0x0c]
- mov lr, 0
- str lr, [sp+0x10] // [V01 OutArgs+0x10]
- mov lr, 14
- str lr, [sp+0x14] // [V01 OutArgs+0x14]
- mov lr, 3
- str lr, [sp+0x18] // [V01 OutArgs+0x18]
- mov lr, 2
- str lr, [sp+0x1C] // [V01 OutArgs+0x1c]
- movw lr, 0xd1ff
- movt lr, 0xd1ff
- ldr lr, [lr]
- blx lr // <unknown method>
+ movs r4, 1
+ str r4, [sp] // [V01 OutArgs]
+ movs r4, 1
+ str r4, [sp+0x04] // [V01 OutArgs+0x04]
+ movs r4, 1
+ str r4, [sp+0x08] // [V01 OutArgs+0x08]
+ movs r4, 1
+ str r4, [sp+0x0C] // [V01 OutArgs+0x0c]
+ movs r4, 0
+ str r4, [sp+0x10] // [V01 OutArgs+0x10]
+ movs r4, 14
+ str r4, [sp+0x14] // [V01 OutArgs+0x14]
+ movs r4, 3
+ str r4, [sp+0x18] // [V01 OutArgs+0x18]
+ movs r4, 2
+ str r4, [sp+0x1C] // [V01 OutArgs+0x1c]
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ ldr r4, [r4]
+ blx r4 // <unknown method>
; gcrRegs -[r0]
ldr r0, [sp+0x30] // [V02 tmp1]
; gcrRegs +[r0]
- ;; size=128 bbWeight=1 PerfScore 39.00
+ ;; size=94 bbWeight=1 PerfScore 39.00
G_M2234_IG03: ; bbWeight=1, epilog, nogc, extend
add sp, 56
pop {r4,r10,r11,pc}
;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 150, prolog size 14, PerfScore 47.00, instruction count 47, allocated bytes for code 150 (MethodHash=1098f745) for method NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Tier0)
+; Total bytes of code 116, prolog size 14, PerfScore 47.00, instruction count 47, allocated bytes for code 116 (MethodHash=1098f745) for method NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Tier0)
; ============================================================
Unwind Info:
@@ -83,7 +83,7 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 75 (0x0004b) Actual length = 150 (0x000096)
+ Function Length : 58 (0x0003a) Actual length = 116 (0x000074)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
-34 (-22.67%) : 42170.dasm - NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Instrumented Tier0)
@@ -35,43 +35,43 @@ G_M2234_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
blx r3 // <unknown method>
; gcrRegs -[r0]
str r0, [sp+0x2C] // [V03 tmp2]
- ldr r0, [sp+0x2C] // [V03 tmp2]
- str r0, [sp+0x20] // [V01 OutArgs+0x20]
+ ldr r3, [sp+0x2C] // [V03 tmp2]
+ str r3, [sp+0x20] // [V01 OutArgs+0x20]
ldr r0, [sp+0x30] // [V02 tmp1]
; gcrRegs +[r0]
movs r1, 1
movs r2, 1
movs r3, 1
- mov lr, 1
- str lr, [sp] // [V01 OutArgs]
- mov lr, 1
- str lr, [sp+0x04] // [V01 OutArgs+0x04]
- mov lr, 1
- str lr, [sp+0x08] // [V01 OutArgs+0x08]
- mov lr, 1
- str lr, [sp+0x0C] // [V01 OutArgs+0x0c]
- mov lr, 0
- str lr, [sp+0x10] // [V01 OutArgs+0x10]
- mov lr, 14
- str lr, [sp+0x14] // [V01 OutArgs+0x14]
- mov lr, 3
- str lr, [sp+0x18] // [V01 OutArgs+0x18]
- mov lr, 2
- str lr, [sp+0x1C] // [V01 OutArgs+0x1c]
- movw lr, 0xd1ff
- movt lr, 0xd1ff
- ldr lr, [lr]
- blx lr // <unknown method>
+ movs r4, 1
+ str r4, [sp] // [V01 OutArgs]
+ movs r4, 1
+ str r4, [sp+0x04] // [V01 OutArgs+0x04]
+ movs r4, 1
+ str r4, [sp+0x08] // [V01 OutArgs+0x08]
+ movs r4, 1
+ str r4, [sp+0x0C] // [V01 OutArgs+0x0c]
+ movs r4, 0
+ str r4, [sp+0x10] // [V01 OutArgs+0x10]
+ movs r4, 14
+ str r4, [sp+0x14] // [V01 OutArgs+0x14]
+ movs r4, 3
+ str r4, [sp+0x18] // [V01 OutArgs+0x18]
+ movs r4, 2
+ str r4, [sp+0x1C] // [V01 OutArgs+0x1c]
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ ldr r4, [r4]
+ blx r4 // <unknown method>
; gcrRegs -[r0]
ldr r0, [sp+0x30] // [V02 tmp1]
; gcrRegs +[r0]
- ;; size=128 bbWeight=1 PerfScore 39.00
+ ;; size=94 bbWeight=1 PerfScore 39.00
G_M2234_IG03: ; bbWeight=1, epilog, nogc, extend
add sp, 56
pop {r4,r10,r11,pc}
;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 150, prolog size 14, PerfScore 47.00, instruction count 47, allocated bytes for code 150 (MethodHash=1098f745) for method NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Instrumented Tier0)
+; Total bytes of code 116, prolog size 14, PerfScore 47.00, instruction count 47, allocated bytes for code 116 (MethodHash=1098f745) for method NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -83,7 +83,7 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 75 (0x0004b) Actual length = 150 (0x000096)
+ Function Length : 58 (0x0003a) Actual length = 116 (0x000074)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
-8 (-20.00%) : 310837.dasm - System.IO.Compression.CompressionStreamUnitTestBase:
@@ -21,19 +21,19 @@ G_M21485_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movs r1, 0
movs r2, 1
movs r3, 1
- ldr lr, [sp+0x04]
- ; gcrRegs +[lr]
- ldr lr, [lr]
- ; gcrRegs -[lr]
- ldr lr, [lr+0x54]
- ldr lr, [lr+0x08]
- blx lr // <unknown method>
- ;; size=26 bbWeight=1 PerfScore 9.00
+ ldr r4, [sp+0x04]
+ ; gcrRegs +[r4]
+ ldr r4, [r4]
+ ; gcrRegs -[r4]
+ ldr r4, [r4+0x54]
+ ldr r4, [r4+0x08]
+ blx r4 // <unknown method>
+ ;; size=18 bbWeight=1 PerfScore 9.00
G_M21485_IG03: ; bbWeight=1, epilog, nogc, extend
pop {r2,r3,r4,r10,r11,pc}
;; size=4 bbWeight=1 PerfScore 1.00
-; Total bytes of code 40, prolog size 8, PerfScore 13.00, instruction count 13, allocated bytes for code 40 (MethodHash=7289ac12) for method System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_5():System.Object:this (Tier0)
+; Total bytes of code 32, prolog size 8, PerfScore 13.00, instruction count 13, allocated bytes for code 32 (MethodHash=7289ac12) for method System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_5():System.Object:this (Tier0)
; ============================================================
Unwind Info:
@@ -45,7 +45,7 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 20 (0x00014) Actual length = 40 (0x000028)
+ Function Length : 16 (0x00010) Actual length = 32 (0x000020)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
+12 (+26.09%) : 202974.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumeratorAbstract`2[int,System._Canon]:.cctor() (Tier0)
@@ -5,37 +5,45 @@
; partially interruptible
; Final local variable assignments
;
-; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M31956_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr}
- add r11, sp, 16
+ push {r4,r10,r11,lr}
+ sub sp, 16
+ add r11, sp, 24
+ movs r1, 0
+ str r1, [sp+0x04]
str r0, [r11-0x0C]
- str r0, [sp]
- ;; size=14 bbWeight=1 PerfScore 4.00
+ str r0, [sp+0x08]
+ ;; size=20 bbWeight=1 PerfScore 7.00
G_M31956_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r0, [sp]
+ ldr r0, [sp+0x08]
movw r3, 0xd1ff
movt r3, 0xd1ff
blx r3 // CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE
; byrRegs +[r0]
- mov r4, r0
- ; byrRegs +[r4]
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- ldr r3, [r3]
- blx r3 // <unknown method>
- ; byrRegs -[r0]
- str r0, [r4+0x08]
- ;; size=28 bbWeight=1 PerfScore 10.00
+ mov r3, r0
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
+ movw r2, 0xd1ff
+ movt r2, 0xd1ff
+ ldr r2, [r2]
+ blx r2 // <unknown method>
+ ; byrRegs -[r0 r3]
+ ldr r3, [sp+0x04]
+ ; byrRegs +[r3]
+ str r0, [r3+0x08]
+ ;; size=32 bbWeight=1 PerfScore 12.00
G_M31956_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc}
- ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16
+ pop {r4,r10,r11,pc}
+ ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 46, prolog size 12, PerfScore 15.00, instruction count 15, allocated bytes for code 46 (MethodHash=0d5e832b) for method System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Tier0)
+; Total bytes of code 58, prolog size 18, PerfScore 21.00, instruction count 21, allocated bytes for code 58 (MethodHash=0d5e832b) for method System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Tier0)
; ============================================================
Unwind Info:
@@ -47,11 +55,11 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 23 (0x00017) Actual length = 46 (0x00002e)
+ Function Length : 29 (0x0001d) Actual length = 58 (0x00003a)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32
- FF end
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end
+12 (+26.09%) : 230582.dasm - System.Collections.Tests.BitArrayGetSetTests+<>cDisplayClass80:
@@ -5,44 +5,49 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [sp+0x04] do-not-enreg[] this class-hnd <System.Collections.Tests.BitArray_GetSetTests+<>c__DisplayClass8_0>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 this [V00 ] ( 1, 1 ) ref -> [sp+0x0C] do-not-enreg[] this class-hnd <System.Collections.Tests.BitArray_GetSetTests+<>c__DisplayClass8_0>
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 int -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M39876_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr}
- add r11, sp, 16
- str r0, [sp+0x04]
- str r1, [sp]
- ;; size=12 bbWeight=1 PerfScore 4.00
+ push {r4,r10,r11,lr}
+ sub sp, 16
+ add r11, sp, 24
+ str r0, [sp+0x0C]
+ str r1, [sp+0x08]
+ ;; size=14 bbWeight=1 PerfScore 5.00
G_M39876_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x04]
- ; gcrRegs +[r0]
- ldrb r4, [r0+0x04]
- ldr r0, [sp]
- ; gcrRegs -[r0]
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ ldrb r3, [r3+0x04]
+ ; gcrRegs -[r3]
+ str r3, [sp+0x04]
+ ldr r0, [sp+0x08]
movs r1, 2
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- blx r3 // CORINFO_HELP_MOD
+ movw r2, 0xd1ff
+ movt r2, 0xd1ff
+ blx r2 // CORINFO_HELP_MOD
cmp r0, 0
beq SHORT G_M39876_IG03
- movs r0, 0
+ movs r3, 0
b SHORT G_M39876_IG04
- ;; size=26 bbWeight=1 PerfScore 11.00
+ ;; size=28 bbWeight=1 PerfScore 12.00
G_M39876_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r0, 1
+ movs r3, 1
;; size=2 bbWeight=1 PerfScore 1.00
G_M39876_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- eors r0, r4
- ;; size=2 bbWeight=1 PerfScore 1.00
+ ldrb r2, [sp+0x04]
+ eor r0, r2, r3
+ ;; size=8 bbWeight=1 PerfScore 2.00
G_M39876_IG05: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc}
- ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16
+ pop {r4,r10,r11,pc}
+ ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 46, prolog size 8, PerfScore 18.00, instruction count 18, allocated bytes for code 46 (MethodHash=59cc643b) for method System.Collections.Tests.BitArray_GetSetTests+<>c__DisplayClass8_0:<GetEnumerator_Data>b__0(int):ubyte:this (Tier0)
+; Total bytes of code 58, prolog size 10, PerfScore 22.00, instruction count 22, allocated bytes for code 58 (MethodHash=59cc643b) for method System.Collections.Tests.BitArray_GetSetTests+<>c__DisplayClass8_0:<GetEnumerator_Data>b__0(int):ubyte:this (Tier0)
; ============================================================
Unwind Info:
@@ -54,11 +59,11 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 23 (0x00017) Actual length = 46 (0x00002e)
+ Function Length : 29 (0x0001d) Actual length = 58 (0x00003a)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32
- FF end
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end
+12 (+26.09%) : 203136.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumeratorAbstract`2[int,System._Canon]:.cctor() (Instrumented Tier0)
@@ -5,37 +5,45 @@
; partially interruptible
; Final local variable assignments
;
-; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x00] do-not-enreg[]
+; V00 TypeCtx [V00 ] ( 1, 1 ) int -> [sp+0x08] do-not-enreg[]
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
+; TEMP_01 byref -> [r11-0x14]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M31956_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- push {r2,r3,r4,r10,r11,lr}
- add r11, sp, 16
+ push {r4,r10,r11,lr}
+ sub sp, 16
+ add r11, sp, 24
+ movs r1, 0
+ str r1, [sp+0x04]
str r0, [r11-0x0C]
- str r0, [sp]
- ;; size=14 bbWeight=1 PerfScore 4.00
+ str r0, [sp+0x08]
+ ;; size=20 bbWeight=1 PerfScore 7.00
G_M31956_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r0, [sp]
+ ldr r0, [sp+0x08]
movw r3, 0xd1ff
movt r3, 0xd1ff
blx r3 // CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE
; byrRegs +[r0]
- mov r4, r0
- ; byrRegs +[r4]
- movw r3, 0xd1ff
- movt r3, 0xd1ff
- ldr r3, [r3]
- blx r3 // <unknown method>
- ; byrRegs -[r0]
- str r0, [r4+0x08]
- ;; size=28 bbWeight=1 PerfScore 10.00
+ mov r3, r0
+ ; byrRegs +[r3]
+ str r3, [sp+0x04]
+ movw r2, 0xd1ff
+ movt r2, 0xd1ff
+ ldr r2, [r2]
+ blx r2 // <unknown method>
+ ; byrRegs -[r0 r3]
+ ldr r3, [sp+0x04]
+ ; byrRegs +[r3]
+ str r0, [r3+0x08]
+ ;; size=32 bbWeight=1 PerfScore 12.00
G_M31956_IG03: ; bbWeight=1, epilog, nogc, extend
- pop {r2,r3,r4,r10,r11,pc}
- ;; size=4 bbWeight=1 PerfScore 1.00
+ add sp, 16
+ pop {r4,r10,r11,pc}
+ ;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 46, prolog size 12, PerfScore 15.00, instruction count 15, allocated bytes for code 46 (MethodHash=0d5e832b) for method System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Instrumented Tier0)
+; Total bytes of code 58, prolog size 18, PerfScore 21.00, instruction count 21, allocated bytes for code 58 (MethodHash=0d5e832b) for method System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Instrumented Tier0)
; ============================================================
Unwind Info:
@@ -47,11 +55,11 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 23 (0x00017) Actual length = 46 (0x00002e)
+ Function Length : 29 (0x0001d) Actual length = 58 (0x00003a)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
- AC 1C pop {r2,r3,r4,r10,r11,lr} ; opsize 32
- FF end
+ 04 add sp, sp, #16 ; opsize 16
+ AC 10 pop {r4,r10,r11,lr} ; opsize 32
FF end
librariestestsnotieredcompilation.run.linux.arm.Release.mch
-28 (-4.05%) : 289598.dasm - System.Text.RegularExpressions.Generated.
@@ -80,13 +80,13 @@ G_M30972_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
G_M30972_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
nop
nop
- ldr r0, [sp+0xDC]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x34]
- ; gcrRegs -[r0]
- str r0, [sp+0xD8] // [V02 loc0]
- ldr r0, [sp+0xD8] // [V02 loc0]
- str r0, [sp+0xD4] // [V03 loc1]
+ ldr r3, [sp+0xDC]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x34]
+ ; gcrRegs -[r3]
+ str r3, [sp+0xD8] // [V02 loc0]
+ ldr r3, [sp+0xD8] // [V02 loc0]
+ str r3, [sp+0xD4] // [V03 loc1]
add r0, sp, 240 // [V01 arg1]
add r1, sp, 176 // [V09 tmp1]
ldr r2, [sp+0xD8] // [V02 loc0]
@@ -97,10 +97,10 @@ G_M30972_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
;; size=32 bbWeight=1 PerfScore 14.00
G_M30972_IG05: ; bbWeight=1, nogc, extend
- ldr r0, [sp+0xB0] // [V09 tmp1]
- str r0, [sp+0xC0] // [V05 loc3]
- ldr r0, [sp+0xB4] // [V09 tmp1+0x04]
- str r0, [sp+0xC4] // [V05 loc3+0x04]
+ ldr r3, [sp+0xB0] // [V09 tmp1]
+ str r3, [sp+0xC0] // [V05 loc3]
+ ldr r3, [sp+0xB4] // [V09 tmp1+0x04]
+ str r3, [sp+0xC4] // [V05 loc3+0x04]
;; size=8 bbWeight=1 PerfScore 4.00
G_M30972_IG06: ; bbWeight=1, isz, extend
add r0, sp, 192 // [V05 loc3]
@@ -110,14 +110,14 @@ G_M30972_IG06: ; bbWeight=1, isz, extend
blx r3 // <unknown method>
; gcr arg pop 0
str r0, [sp+0xAC] // [V10 tmp2]
- ldr r0, [sp+0xAC] // [V10 tmp2]
- cmp r0, 5
+ ldr r3, [sp+0xAC] // [V10 tmp2]
+ cmp r3, 5
blo G_M30972_IG09
- movw r0, 0xd1ff
- movt r0, 0xd1ff
- mov r1, 0x80000000
- str r0, [sp+0xA0] // [V12 tmp4]
- str r1, [sp+0xA4] // [V12 tmp4+0x04]
+ movw r3, 0xd1ff
+ movt r3, 0xd1ff
+ mov r2, 0x80000000
+ str r3, [sp+0xA0] // [V12 tmp4]
+ str r2, [sp+0xA4] // [V12 tmp4+0x04]
add r0, sp, 192 // [V05 loc3]
movs r1, 0
movw r3, 0xd1ff
@@ -127,25 +127,27 @@ G_M30972_IG06: ; bbWeight=1, isz, extend
; byrRegs +[r0]
; gcr arg pop 0
str r0, [sp+0x9C] // [V13 tmp5]
- ldr r0, [sp+0x9C] // [V13 tmp5]
- ldrh r0, [r0]
- ; byrRegs -[r0]
- subs r0, 58
- movs r1, 0
- str r0, [sp+0x90] // [V14 tmp6]
- str r1, [sp+0x94] // [V14 tmp6+0x04]
- ldr r0, [sp+0x90] // [V14 tmp6]
- ldr r1, [sp+0x94] // [V14 tmp6+0x04]
- str r0, [sp+0xC8] // [V04 loc2]
- str r1, [sp+0xCC] // [V04 loc2+0x04]
- ldr r0, [sp+0xA0] // [V12 tmp4]
- str r0, [sp+0x44] // [V25 tmp17]
- ldr r0, [sp+0xA4] // [V12 tmp4+0x04]
- str r0, [sp+0x40] // [V26 tmp18]
- ldr r0, [sp+0x90] // [V14 tmp6]
- and r0, r0, 63
- str r0, [sp+0x48] // [V24 tmp16]
+ ldr r3, [sp+0x9C] // [V13 tmp5]
+ ; byrRegs +[r3]
+ ldrh r3, [r3]
+ ; byrRegs -[r3]
+ subs r3, 58
+ movs r2, 0
+ str r3, [sp+0x90] // [V14 tmp6]
+ str r2, [sp+0x94] // [V14 tmp6+0x04]
+ ldr r3, [sp+0x90] // [V14 tmp6]
+ ldr r2, [sp+0x94] // [V14 tmp6+0x04]
+ str r3, [sp+0xC8] // [V04 loc2]
+ str r2, [sp+0xCC] // [V04 loc2+0x04]
+ ldr r3, [sp+0xA0] // [V12 tmp4]
+ str r3, [sp+0x44] // [V25 tmp17]
+ ldr r3, [sp+0xA4] // [V12 tmp4+0x04]
+ str r3, [sp+0x40] // [V26 tmp18]
+ ldr r3, [sp+0x90] // [V14 tmp6]
+ and r3, r3, 63
+ str r3, [sp+0x48] // [V24 tmp16]
ldr r0, [sp+0x44] // [V25 tmp17]
+ ; byrRegs -[r0]
ldr r1, [sp+0x40] // [V26 tmp18]
ldr r2, [sp+0x48] // [V24 tmp16]
movw r3, 0xd1ff
@@ -153,26 +155,26 @@ G_M30972_IG06: ; bbWeight=1, isz, extend
blx r3 // CORINFO_HELP_LLSH
str r0, [sp+0x38] // [V27 tmp19]
str r1, [sp+0x3C] // [V27 tmp19+0x04]
- ldr r0, [sp+0x38] // [V27 tmp19]
- ldr r1, [sp+0x3C] // [V27 tmp19+0x04]
- ldr r3, [sp+0xC8] // [V04 loc2]
- ldr r2, [sp+0xCC] // [V04 loc2+0x04]
- mov lr, 64
- str lr, [sp+0x34] // [V28 tmp20]
+ ldr r3, [sp+0x38] // [V27 tmp19]
+ ldr r2, [sp+0x3C] // [V27 tmp19+0x04]
+ ldr r1, [sp+0xC8] // [V04 loc2]
+ ldr r0, [sp+0xCC] // [V04 loc2+0x04]
+ movs r4, 64
+ str r4, [sp+0x34] // [V28 tmp20]
+ ldr r4, [sp+0x34] // [V28 tmp20]
ldr lr, [sp+0x34] // [V28 tmp20]
- ldr r12, [sp+0x34] // [V28 tmp20]
- asr r12, r12, 31
- subs r3, r3, lr
- sbc r2, r2, r12
- ands r0, r3
- and r0, r1, r2
- cmp r0, 0
+ asr lr, lr, 31
+ subs r1, r1, r4
+ sbc r0, r0, lr
+ ands r3, r1
+ and r3, r2, r0
+ cmp r3, 0
bge G_M30972_IG09
- movw r0, 0xd1ff
- movt r0, 0xd1ff
- mov r1, 0x80000000
- str r0, [sp+0x88] // [V15 tmp7]
- str r1, [sp+0x8C] // [V15 tmp7+0x04]
+ movw r3, 0xd1ff
+ movt r3, 0xd1ff
+ mov r2, 0x80000000
+ str r3, [sp+0x88] // [V15 tmp7]
+ str r2, [sp+0x8C] // [V15 tmp7+0x04]
add r0, sp, 192 // [V05 loc3]
movs r1, 1
movw r3, 0xd1ff
@@ -182,25 +184,27 @@ G_M30972_IG06: ; bbWeight=1, isz, extend
; byrRegs +[r0]
; gcr arg pop 0
str r0, [sp+0x84] // [V16 tmp8]
- ldr r0, [sp+0x84] // [V16 tmp8]
- ldrh r0, [r0]
- ; byrRegs -[r0]
- subs r0, 58
- movs r1, 0
- str r0, [sp+0x78] // [V17 tmp9]
- str r1, [sp+0x7C] // [V17 tmp9+0x04]
- ldr r0, [sp+0x78] // [V17 tmp9]
- ldr r1, [sp+0x7C] // [V17 tmp9+0x04]
- str r0, [sp+0xC8] // [V04 loc2]
- str r1, [sp+0xCC] // [V04 loc2+0x04]
- ldr r0, [sp+0x88] // [V15 tmp7]
- str r0, [sp+0x2C] // [V30 tmp22]
- ldr r0, [sp+0x8C] // [V15 tmp7+0x04]
- str r0, [sp+0x28] // [V31 tmp23]
- ldr r0, [sp+0x78] // [V17 tmp9]
- and r0, r0, 63
- str r0, [sp+0x30] // [V29 tmp21]
+ ldr r3, [sp+0x84] // [V16 tmp8]
+ ; byrRegs +[r3]
+ ldrh r3, [r3]
+ ; byrRegs -[r3]
+ subs r3, 58
+ movs r2, 0
+ str r3, [sp+0x78] // [V17 tmp9]
+ str r2, [sp+0x7C] // [V17 tmp9+0x04]
+ ldr r3, [sp+0x78] // [V17 tmp9]
+ ldr r2, [sp+0x7C] // [V17 tmp9+0x04]
+ str r3, [sp+0xC8] // [V04 loc2]
+ str r2, [sp+0xCC] // [V04 loc2+0x04]
+ ldr r3, [sp+0x88] // [V15 tmp7]
+ str r3, [sp+0x2C] // [V30 tmp22]
+ ldr r3, [sp+0x8C] // [V15 tmp7+0x04]
+ str r3, [sp+0x28] // [V31 tmp23]
+ ldr r3, [sp+0x78] // [V17 tmp9]
+ and r3, r3, 63
+ str r3, [sp+0x30] // [V29 tmp21]
ldr r0, [sp+0x2C] // [V30 tmp22]
+ ; byrRegs -[r0]
ldr r1, [sp+0x28] // [V31 tmp23]
ldr r2, [sp+0x30] // [V29 tmp21]
movw r3, 0xd1ff
@@ -208,26 +212,26 @@ G_M30972_IG06: ; bbWeight=1, isz, extend
blx r3 // CORINFO_HELP_LLSH
str r0, [sp+0x20] // [V32 tmp24]
str r1, [sp+0x24] // [V32 tmp24+0x04]
- ldr r0, [sp+0x20] // [V32 tmp24]
- ldr r1, [sp+0x24] // [V32 tmp24+0x04]
- ldr r3, [sp+0xC8] // [V04 loc2]
- ldr r2, [sp+0xCC] // [V04 loc2+0x04]
- mov lr, 64
- str lr, [sp+0x1C] // [V33 tmp25]
+ ldr r3, [sp+0x20] // [V32 tmp24]
+ ldr r2, [sp+0x24] // [V32 tmp24+0x04]
+ ldr r1, [sp+0xC8] // [V04 loc2]
+ ldr r0, [sp+0xCC] // [V04 loc2+0x04]
+ movs r4, 64
+ str r4, [sp+0x1C] // [V33 tmp25]
+ ldr r4, [sp+0x1C] // [V33 tmp25]
ldr lr, [sp+0x1C] // [V33 tmp25]
- ldr r12, [sp+0x1C] // [V33 tmp25]
- asr r12, r12, 31
- subs r3, r3, lr
- sbc r2, r2, r12
- ands r0, r3
- and r0, r1, r2
- cmp r0, 0
+ asr lr, lr, 31
+ subs r1, r1, r4
+ sbc r0, r0, lr
+ ands r3, r1
+ and r3, r2, r0
+ cmp r3, 0
bge SHORT G_M30972_IG09
- movw r0, 0xd1ff
- movt r0, 0xd1ff
- mov r1, 0x80000000
- str r0, [sp+0x70] // [V18 tmp10]
- str r1, [sp+0x74] // [V18 tmp10+0x04]
+ movw r3, 0xd1ff
+ movt r3, 0xd1ff
+ mov r2, 0x80000000
+ str r3, [sp+0x70] // [V18 tmp10]
+ str r2, [sp+0x74] // [V18 tmp10+0x04]
add r0, sp, 192 // [V05 loc3]
movs r1, 2
movw r3, 0xd1ff
@@ -237,25 +241,27 @@ G_M30972_IG06: ; bbWeight=1, isz, extend
; byrRegs +[r0]
; gcr arg pop 0
str r0, [sp+0x6C] // [V19 tmp11]
- ldr r0, [sp+0x6C] // [V19 tmp11]
- ldrh r0, [r0]
- ; byrRegs -[r0]
- subs r0, 58
- movs r1, 0
- str r0, [sp+0x60] // [V20 tmp12]
...
-6 (-3.61%) : 2247.dasm - Microsoft.CodeAnalysis.Testing.TestFileMarkupParser:AddMatch(System.String,System.String,int,System.Collections.Generic.List
1[System.ValueTuple
2[int,System.String]]) (MinOpts)@@ -56,26 +56,26 @@ G_M43327_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movw r3, 0xd1ff
movt r3, 0xd1ff
ldr r3, [r3]
- ldr lr, [r0]
+ ldr r4, [r0]
blx r3 // <unknown method>
; gcrRegs -[r0-r1]
; gcr arg pop 0
str r0, [sp+0x0C] // [V07 tmp1]
- ldr r0, [sp+0x0C] // [V07 tmp1]
- str r0, [sp+0x14] // [V04 loc0]
- ldr r0, [sp+0x14] // [V04 loc0]
- cmp r0, 0
+ ldr r3, [sp+0x0C] // [V07 tmp1]
+ str r3, [sp+0x14] // [V04 loc0]
+ ldr r3, [sp+0x14] // [V04 loc0]
+ cmp r3, 0
bge SHORT G_M43327_IG05
- movs r0, 0
+ movs r3, 0
b SHORT G_M43327_IG06
- ;; size=40 bbWeight=1 PerfScore 17.00
+ ;; size=38 bbWeight=1 PerfScore 17.00
G_M43327_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r0, 1
+ movs r3, 1
;; size=2 bbWeight=1 PerfScore 1.00
G_M43327_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- str r0, [sp+0x10] // [V05 loc1]
- ldr r0, [sp+0x10] // [V05 loc1]
- cmp r0, 0
+ str r3, [sp+0x10] // [V05 loc1]
+ ldr r3, [sp+0x10] // [V05 loc1]
+ cmp r3, 0
beq SHORT G_M43327_IG07
nop
add r0, sp, 4 // [V08 tmp2]
@@ -84,10 +84,10 @@ G_M43327_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr r2, [sp+0x14] // [V04 loc0]
movw r1, 0xd1ff
movt r1, 0xd1ff
- movw lr, 0xd1ff
- movt lr, 0xd1ff
- ldr lr, [lr]
- blx lr // <unknown method>
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ ldr r4, [r4]
+ blx r4 // <unknown method>
; gcrRegs -[r3]
; gcr arg pop 0
ldr r1, [sp+0x04] // [V08 tmp2]
@@ -98,13 +98,13 @@ G_M43327_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movw r3, 0xd1ff
movt r3, 0xd1ff
ldr r3, [r3]
- ldr lr, [r0]
+ ldr r4, [r0]
blx r3 // <unknown method>
; gcrRegs -[r0-r1]
; gcr arg pop 0
nop
nop
- ;; size=64 bbWeight=1 PerfScore 24.00
+ ;; size=60 bbWeight=1 PerfScore 24.00
G_M43327_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
nop
;; size=2 bbWeight=1 PerfScore 1.00
@@ -113,7 +113,7 @@ G_M43327_IG08: ; bbWeight=1, epilog, nogc, extend
pop {r4,r10,r11,pc}
;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 166, prolog size 28, PerfScore 63.50, instruction count 65, allocated bytes for code 166 (MethodHash=197956c0) for method Microsoft.CodeAnalysis.Testing.TestFileMarkupParser:AddMatch(System.String,System.String,int,System.Collections.Generic.List`1[System.ValueTuple`2[int,System.String]]) (MinOpts)
+; Total bytes of code 160, prolog size 28, PerfScore 63.50, instruction count 65, allocated bytes for code 160 (MethodHash=197956c0) for method Microsoft.CodeAnalysis.Testing.TestFileMarkupParser:AddMatch(System.String,System.String,int,System.Collections.Generic.List`1[System.ValueTuple`2[int,System.String]]) (MinOpts)
; ============================================================
Unwind Info:
@@ -125,7 +125,7 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 83 (0x00053) Actual length = 166 (0x0000a6)
+ Function Length : 80 (0x00050) Actual length = 160 (0x0000a0)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
-22 (-3.46%) : 280278.dasm - System.Text.RegularExpressions.Generated.
@@ -64,33 +64,33 @@ G_M24633_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
G_M24633_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
nop
nop
- ldr r0, [sp+0x64]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x34]
- ; gcrRegs -[r0]
- str r0, [sp+0x60] // [V02 loc0]
- ldr r0, [sp+0x60] // [V02 loc0]
- str r0, [sp+0x5C] // [V03 loc1]
- movs r0, 0
- str r0, [sp+0x58] // [V04 loc2]
- movs r0, 0
- str r0, [sp+0x54] // [V05 loc3]
- movs r0, 0
- str r0, [sp+0x50] // [V06 loc4]
- movs r0, 0
- str r0, [sp+0x4C] // [V07 loc5]
- movs r0, 0
- str r0, [sp+0x48] // [V08 loc6]
- movs r0, 0
- str r0, [sp+0x44] // [V09 loc7]
- movs r0, 0
- str r0, [sp+0x40] // [V10 loc8]
- movs r0, 0
- str r0, [sp+0x3C] // [V11 loc9]
- movs r0, 0
- str r0, [sp+0x38] // [V12 loc10]
- movs r0, 0
- str r0, [sp+0x34] // [V13 loc11]
+ ldr r3, [sp+0x64]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x34]
+ ; gcrRegs -[r3]
+ str r3, [sp+0x60] // [V02 loc0]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ str r3, [sp+0x5C] // [V03 loc1]
+ movs r3, 0
+ str r3, [sp+0x58] // [V04 loc2]
+ movs r3, 0
+ str r3, [sp+0x54] // [V05 loc3]
+ movs r3, 0
+ str r3, [sp+0x50] // [V06 loc4]
+ movs r3, 0
+ str r3, [sp+0x4C] // [V07 loc5]
+ movs r3, 0
+ str r3, [sp+0x48] // [V08 loc6]
+ movs r3, 0
+ str r3, [sp+0x44] // [V09 loc7]
+ movs r3, 0
+ str r3, [sp+0x40] // [V10 loc8]
+ movs r3, 0
+ str r3, [sp+0x3C] // [V11 loc9]
+ movs r3, 0
+ str r3, [sp+0x38] // [V12 loc10]
+ movs r3, 0
+ str r3, [sp+0x34] // [V13 loc11]
add r0, sp, 120 // [V01 arg1]
add r1, sp, 28 // [V18 tmp1]
ldr r2, [sp+0x60] // [V02 loc0]
@@ -101,47 +101,47 @@ G_M24633_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
;; size=72 bbWeight=1 PerfScore 34.00
G_M24633_IG05: ; bbWeight=1, nogc, extend
- ldr r0, [sp+0x1C] // [V18 tmp1]
- str r0, [sp+0x2C] // [V14 loc12]
- ldr r0, [sp+0x20] // [V18 tmp1+0x04]
- str r0, [sp+0x30] // [V14 loc12+0x04]
+ ldr r3, [sp+0x1C] // [V18 tmp1]
+ str r3, [sp+0x2C] // [V14 loc12]
+ ldr r3, [sp+0x20] // [V18 tmp1+0x04]
+ str r3, [sp+0x30] // [V14 loc12+0x04]
;; size=8 bbWeight=1 PerfScore 4.00
G_M24633_IG06: ; bbWeight=1, isz, extend
nop
- ldr r0, [sp+0x60] // [V02 loc0]
- str r0, [sp+0x58] // [V04 loc2]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ str r3, [sp+0x58] // [V04 loc2]
nop
- ldr r0, [sp+0x60] // [V02 loc0]
- str r0, [sp+0x54] // [V05 loc3]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ str r3, [sp+0x54] // [V05 loc3]
nop
- ldr r0, [sp+0x60] // [V02 loc0]
- str r0, [sp+0x50] // [V06 loc4]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ str r3, [sp+0x50] // [V06 loc4]
nop
- ldr r0, [sp+0x60] // [V02 loc0]
- str r0, [sp+0x4C] // [V07 loc5]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ str r3, [sp+0x4C] // [V07 loc5]
nop
- ldr r0, [sp+0x60] // [V02 loc0]
- str r0, [sp+0x48] // [V08 loc6]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ str r3, [sp+0x48] // [V08 loc6]
nop
- ldr r0, [sp+0x60] // [V02 loc0]
- str r0, [sp+0x44] // [V09 loc7]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ str r3, [sp+0x44] // [V09 loc7]
nop
- ldr r0, [sp+0x60] // [V02 loc0]
- str r0, [sp+0x40] // [V10 loc8]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ str r3, [sp+0x40] // [V10 loc8]
nop
- ldr r0, [sp+0x60] // [V02 loc0]
- str r0, [sp+0x3C] // [V11 loc9]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ str r3, [sp+0x3C] // [V11 loc9]
nop
- ldr r0, [sp+0x60] // [V02 loc0]
- str r0, [sp+0x38] // [V12 loc10]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ str r3, [sp+0x38] // [V12 loc10]
nop
- ldr r0, [sp+0x60] // [V02 loc0]
- str r0, [sp+0x34] // [V13 loc11]
- ldr r0, [sp+0x60] // [V02 loc0]
- subs r0, r0, 1
- movs r3, 0
- str r0, [sp+0x10] // [V19 tmp2]
- str r3, [sp+0x14] // [V19 tmp2+0x04]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ str r3, [sp+0x34] // [V13 loc11]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ subs r3, r3, 1
+ movs r2, 0
+ str r3, [sp+0x10] // [V19 tmp2]
+ str r2, [sp+0x14] // [V19 tmp2+0x04]
add r0, sp, 120 // [V01 arg1]
movw r3, 0xd1ff
movt r3, 0xd1ff
@@ -149,18 +149,18 @@ G_M24633_IG06: ; bbWeight=1, isz, extend
blx r3 // <unknown method>
; gcr arg pop 0
str r0, [sp+0x0C] // [V20 tmp3]
- ldr r1, [sp+0x10] // [V19 tmp2]
- ldr r0, [sp+0x0C] // [V20 tmp3]
- str r0, [sp] // [V23 tmp6]
- ldr r0, [sp] // [V23 tmp6]
- ldr r3, [sp] // [V23 tmp6]
- asrs r3, r3, 31
- cmp r1, r0
- ldr r1, [sp+0x14] // [V19 tmp2+0x04]
- sbcs r1, r3
+ ldr r3, [sp+0x10] // [V19 tmp2]
+ ldr r2, [sp+0x0C] // [V20 tmp3]
+ str r2, [sp] // [V23 tmp6]
+ ldr r2, [sp] // [V23 tmp6]
+ ldr r1, [sp] // [V23 tmp6]
+ asrs r1, r1, 31
+ cmp r3, r2
+ ldr r3, [sp+0x14] // [V19 tmp2+0x04]
+ sbcs r3, r1
bge SHORT G_M24633_IG09
- ldr r1, [sp+0x60] // [V02 loc0]
- subs r1, r1, 1
+ ldr r3, [sp+0x60] // [V02 loc0]
+ subs r1, r3, 1
add r0, sp, 120 // [V01 arg1]
movw r3, 0xd1ff
movt r3, 0xd1ff
@@ -169,31 +169,33 @@ G_M24633_IG06: ; bbWeight=1, isz, extend
; byrRegs +[r0]
; gcr arg pop 0
str r0, [sp+0x04] // [V22 tmp5]
- ldr r0, [sp+0x04] // [V22 tmp5]
- ldrh r0, [r0]
- ; byrRegs -[r0]
- cmp r0, 97
+ ldr r3, [sp+0x04] // [V22 tmp5]
+ ; byrRegs +[r3]
+ ldrh r3, [r3]
+ ; byrRegs -[r3]
+ cmp r3, 97
bne SHORT G_M24633_IG07
- movs r0, 0
+ movs r3, 0
b SHORT G_M24633_IG08
;; size=138 bbWeight=1 PerfScore 65.00
G_M24633_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r0, 1
+ ; byrRegs -[r0]
+ movs r3, 1
;; size=2 bbWeight=1 PerfScore 1.00
G_M24633_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- str r0, [sp+0x08] // [V21 tmp4]
+ str r3, [sp+0x08] // [V21 tmp4]
b SHORT G_M24633_IG10
;; size=4 bbWeight=1 PerfScore 2.00
G_M24633_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movs r0, 1
- str r0, [sp+0x08] // [V21 tmp4]
+ movs r3, 1
+ str r3, [sp+0x08] // [V21 tmp4]
;; size=4 bbWeight=1 PerfScore 2.00
G_M24633_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x08] // [V21 tmp4]
- uxtb r0, r0
- str r0, [sp+0x28] // [V15 loc13]
- ldr r0, [sp+0x28] // [V15 loc13]
- cmp r0, 0
+ ldr r3, [sp+0x08] // [V21 tmp4]
+ uxtb r3, r3
+ str r3, [sp+0x28] // [V15 loc13]
+ ldr r3, [sp+0x28] // [V15 loc13]
+ cmp r3, 0
beq SHORT G_M24633_IG11
nop
ldr r0, [sp+0x64] // [V00 this]
@@ -206,24 +208,24 @@ G_M24633_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs -[r0]
; gcr arg pop 0
nop
- movs r0, 0
- str r0, [sp+0x24] // [V16 loc14]
+ movs r3, 0
+ str r3, [sp+0x24] // [V16 loc14]
nop
b SHORT G_M24633_IG12
;; size=40 bbWeight=1 PerfScore 18.00
G_M24633_IG11: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ldr r0, [sp+0x60] // [V02 loc0]
- subs r0, r0, 1
- str r0, [sp+0x60] // [V02 loc0]
+ ldr r3, [sp+0x60] // [V02 loc0]
+ subs r3, r3, 1
+ str r3, [sp+0x60] // [V02 loc0]
ldr r0, [sp+0x64] // [V00 this]
; gcrRegs +[r0]
ldr r3, [sp+0x60] // [V02 loc0]
ldr r2, [sp+0x34] // [V13 loc11]
movs r1, 10
- movw lr, 0xd1ff
- movt lr, 0xd1ff
- ldr lr, [lr]
- blx lr // <unknown method>
+ movw r4, 0xd1ff
+ movt r4, 0xd1ff
+ ldr r4, [r4]
+ blx r4 // <unknown method>
; gcrRegs -[r0]
; gcr arg pop 0
nop
...
+8 (+3.17%) : 8420.dasm - Microsoft.CodeAnalysis.Testing.Extensions.CompilationWithAnalyzersExtensions:GetAnalysisResultAsync(Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers,System.Threading.CancellationToken):System.Threading.Tasks.Task`1Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper
@@ -80,8 +80,9 @@ G_M40056_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[r0]
; gcr arg pop 0
str r0, [sp+0x04] // [V06 tmp3]
- ldr r0, [sp+0x08] // [V05 tmp2]
- adds r0, 16
+ ldr r3, [sp+0x08] // [V05 tmp2]
+ ; gcrRegs +[r3]
+ add r0, r3, 16
; gcrRegs -[r0]
; byrRegs +[r0]
add r1, sp, 4 // [V06 tmp3]
@@ -89,59 +90,59 @@ G_M40056_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r1, [sp+0x10] // [V02 loc0]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ; gcrRegs +[r3]
+ adds r0, r3, 4
+ ldr r1, [sp+0x14] // [V00 arg0]
; gcrRegs +[r1]
; byrRegs -[r1]
- adds r0, r1, 4
- ldr r1, [sp+0x14] // [V00 arg0]
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r0, [sp+0x10] // [V02 loc0]
- ; gcrRegs +[r0]
- adds r0, 20
- ; gcrRegs -[r0]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ; gcrRegs +[r3]
+ add r0, r3, 20
; byrRegs +[r0]
add r1, sp, 36 // [V01 arg1]
; byrRegs +[r1]
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x10] // [V02 loc0]
- ; gcrRegs +[r0]
- ; byrRegs -[r0]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ; gcrRegs +[r3]
mov r2, -1
- str r2, [r0+0x0C]
- ldr r0, [sp+0x10] // [V02 loc0]
- ldrsb r0, [r0]
- ; gcrRegs -[r0]
- ldr r0, [sp+0x10] // [V02 loc0]
- ; gcrRegs +[r0]
- adds r0, 16
- ; gcrRegs -[r0]
- ; byrRegs +[r0]
+ str r2, [r3+0x0C]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ldrsb r3, [r3]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ; gcrRegs +[r3]
+ add r0, r3, 16
add r2, sp, 16 // [V02 loc0]
movw r1, 0xd1ff
; byrRegs -[r1]
movt r1, 0xd1ff
movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff
ldr r3, [r3]
blx r3 // <unknown method>
; byrRegs -[r0]
; gcr arg pop 0
- ldr r0, [sp+0x10] // [V02 loc0]
- ; gcrRegs +[r0]
- ldrsb r0, [r0]
- ; gcrRegs -[r0]
- ldr r0, [sp+0x10] // [V02 loc0]
- ; gcrRegs +[r0]
- adds r0, 16
- ; gcrRegs -[r0]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ; gcrRegs +[r3]
+ ldrsb r3, [r3]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ; gcrRegs +[r3]
+ add r0, r3, 16
; byrRegs +[r0]
movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff
ldr r3, [r3]
blx r3 // <unknown method>
@@ -150,7 +151,7 @@ G_M40056_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
str r0, [sp] // [V07 tmp4]
ldr r0, [sp] // [V07 tmp4]
- ;; size=170 bbWeight=1 PerfScore 62.00
+ ;; size=178 bbWeight=1 PerfScore 62.00
G_M40056_IG05: ; bbWeight=1, epilog, nogc, extend
add sp, 24
pop {r10,r11,lr}
@@ -158,7 +159,7 @@ G_M40056_IG05: ; bbWeight=1, epilog, nogc, extend
bx lr
;; size=10 bbWeight=1 PerfScore 4.00
-; Total bytes of code 252, prolog size 28, PerfScore 89.50, instruction count 91, allocated bytes for code 252 (MethodHash=67906387) for method Microsoft.CodeAnalysis.Testing.Extensions.CompilationWithAnalyzersExtensions:GetAnalysisResultAsync(Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper] (MinOpts)
+; Total bytes of code 260, prolog size 28, PerfScore 89.50, instruction count 91, allocated bytes for code 260 (MethodHash=67906387) for method Microsoft.CodeAnalysis.Testing.Extensions.CompilationWithAnalyzersExtensions:GetAnalysisResultAsync(Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper] (MinOpts)
; ============================================================
Unwind Info:
@@ -170,7 +171,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 126 (0x0007e) Actual length = 252 (0x0000fc)
+ Function Length : 130 (0x00082) Actual length = 260 (0x000104)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+8 (+3.45%) : 3441.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore:WaitAsync(System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore+Releaser]:this (MinOpts)
@@ -73,8 +73,9 @@ G_M23388_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[r0]
; gcr arg pop 0
str r0, [sp+0x04] // [V06 tmp3]
- ldr r0, [sp+0x08] // [V05 tmp2]
- adds r0, 20
+ ldr r3, [sp+0x08] // [V05 tmp2]
+ ; gcrRegs +[r3]
+ add r0, r3, 20
; gcrRegs -[r0]
; byrRegs +[r0]
add r1, sp, 4 // [V06 tmp3]
@@ -82,59 +83,59 @@ G_M23388_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r1, [sp+0x10] // [V02 loc0]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ; gcrRegs +[r3]
+ adds r0, r3, 4
+ ldr r1, [sp+0x14] // [V00 this]
; gcrRegs +[r1]
; byrRegs -[r1]
- adds r0, r1, 4
- ldr r1, [sp+0x14] // [V00 this]
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r0, [sp+0x10] // [V02 loc0]
- ; gcrRegs +[r0]
- adds r0, 24
- ; gcrRegs -[r0]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ; gcrRegs +[r3]
+ add r0, r3, 24
; byrRegs +[r0]
add r1, sp, 36 // [V01 arg1]
; byrRegs +[r1]
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x10] // [V02 loc0]
- ; gcrRegs +[r0]
- ; byrRegs -[r0]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ; gcrRegs +[r3]
mov r2, -1
- str r2, [r0+0x0C]
- ldr r0, [sp+0x10] // [V02 loc0]
- ldrsb r0, [r0]
- ; gcrRegs -[r0]
- ldr r0, [sp+0x10] // [V02 loc0]
- ; gcrRegs +[r0]
- adds r0, 20
- ; gcrRegs -[r0]
- ; byrRegs +[r0]
+ str r2, [r3+0x0C]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ldrsb r3, [r3]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ; gcrRegs +[r3]
+ add r0, r3, 20
add r2, sp, 16 // [V02 loc0]
movw r1, 0xd1ff
; byrRegs -[r1]
movt r1, 0xd1ff
movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff
ldr r3, [r3]
blx r3 // <unknown method>
; byrRegs -[r0]
; gcr arg pop 0
- ldr r0, [sp+0x10] // [V02 loc0]
- ; gcrRegs +[r0]
- ldrsb r0, [r0]
- ; gcrRegs -[r0]
- ldr r0, [sp+0x10] // [V02 loc0]
- ; gcrRegs +[r0]
- adds r0, 20
- ; gcrRegs -[r0]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ; gcrRegs +[r3]
+ ldrsb r3, [r3]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x10] // [V02 loc0]
+ ; gcrRegs +[r3]
+ add r0, r3, 20
; byrRegs +[r0]
movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff
ldr r3, [r3]
blx r3 // <unknown method>
@@ -143,7 +144,7 @@ G_M23388_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
str r0, [sp] // [V07 tmp4]
ldr r0, [sp] // [V07 tmp4]
- ;; size=170 bbWeight=1 PerfScore 62.00
+ ;; size=178 bbWeight=1 PerfScore 62.00
G_M23388_IG05: ; bbWeight=1, epilog, nogc, extend
add sp, 24
pop {r10,r11,lr}
@@ -151,7 +152,7 @@ G_M23388_IG05: ; bbWeight=1, epilog, nogc, extend
bx lr
;; size=10 bbWeight=1 PerfScore 4.00
-; Total bytes of code 232, prolog size 28, PerfScore 83.50, instruction count 85, allocated bytes for code 232 (MethodHash=1d58a4a3) for method Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore:WaitAsync(System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore+Releaser]:this (MinOpts)
+; Total bytes of code 240, prolog size 28, PerfScore 83.50, instruction count 85, allocated bytes for code 240 (MethodHash=1d58a4a3) for method Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore:WaitAsync(System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore+Releaser]:this (MinOpts)
; ============================================================
Unwind Info:
@@ -163,7 +164,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 116 (0x00074) Actual length = 232 (0x0000e8)
+ Function Length : 120 (0x00078) Actual length = 240 (0x0000f0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+14 (+5.00%) : 2441.dasm - Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:.ctor(System.String,System.String,System.String,System.String,Microsoft.CodeAnalysis.Testing.ReferenceAssemblies,int,ubyte,System.Collections.Immutable.ImmutableArray
1[System.ValueTuple
2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray1[System.ValueTuple
2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray1[System.ValueTuple
2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray1[System.ValueTuple
2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray1[System.String],System.Collections.Immutable.ImmutableArray
1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]):this (MinOpts)@@ -59,140 +59,133 @@ G_M49961_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
nop
nop
- ldr r1, [sp+0x0C]
- ; gcrRegs +[r1]
- adds r0, r1, 4
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ adds r0, r3, 4
; byrRegs +[r0]
ldr r1, [sp+0x08]
+ ; gcrRegs +[r1]
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r1, [sp+0x0C]
- ; gcrRegs +[r1]
- add r0, r1, 8
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ add r0, r3, 8
; byrRegs +[r0]
ldr r1, [sp+0x04]
+ ; gcrRegs +[r1]
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r1, [sp+0x0C]
- ; gcrRegs +[r1]
- add r0, r1, 12
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ add r0, r3, 12
; byrRegs +[r0]
ldr r1, [sp]
+ ; gcrRegs +[r1]
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r1, [sp+0x0C]
- ; gcrRegs +[r1]
- add r0, r1, 20
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ add r0, r3, 20
; byrRegs +[r0]
ldr r1, [sp+0x20]
+ ; gcrRegs +[r1]
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r1, [sp+0x0C]
- ; gcrRegs +[r1]
- add r0, r1, 16
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ add r0, r3, 16
; byrRegs +[r0]
ldr r1, [sp+0x24]
+ ; gcrRegs +[r1]
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[r1]
+ ; gcrRegs -[r1 r3]
; byrRegs -[r0]
- ldr r0, [sp+0x0C]
- ; gcrRegs +[r0]
- ldr r3, [sp+0x28]
- str r3, [r0+0x18]
- ldr r0, [sp+0x0C]
- ldr r3, [sp+0x2C]
- strb r3, [r0+0x1C]
- ldr r0, [sp+0x0C]
- adds r0, 32
- ; gcrRegs -[r0]
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ ldr r2, [sp+0x28]
+ str r2, [r3+0x18]
+ ldr r3, [sp+0x0C]
+ ldr r2, [sp+0x2C]
+ strb r2, [r3+0x1C]
+ ldr r3, [sp+0x0C]
+ add r0, r3, 32
; byrRegs +[r0]
add r1, sp, 48
; byrRegs +[r1]
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x0C]
- ; gcrRegs +[r0]
- ; byrRegs -[r0]
- adds r0, 36
- ; gcrRegs -[r0]
- ; byrRegs +[r0]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ add r0, r3, 36
add r1, sp, 52
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x0C]
- ; gcrRegs +[r0]
- ; byrRegs -[r0]
- adds r0, 40
- ; gcrRegs -[r0]
- ; byrRegs +[r0]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ add r0, r3, 40
add r1, sp, 56
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x0C]
- ; gcrRegs +[r0]
- ; byrRegs -[r0]
- adds r0, 44
- ; gcrRegs -[r0]
- ; byrRegs +[r0]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ add r0, r3, 44
add r1, sp, 60
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x0C]
- ; gcrRegs +[r0]
- ; byrRegs -[r0]
- adds r0, 48
- ; gcrRegs -[r0]
- ; byrRegs +[r0]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ add r0, r3, 48
add r1, sp, 64
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x0C]
- ; gcrRegs +[r0]
- ; byrRegs -[r0]
- adds r0, 52
- ; gcrRegs -[r0]
- ; byrRegs +[r0]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ add r0, r3, 52
add r1, sp, 68
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_BYREF
- ldr r0, [sp+0x0C]
- ; gcrRegs +[r0]
- ; byrRegs -[r0]
- adds r0, 56
- ; gcrRegs -[r0]
- ; byrRegs +[r0]
+ ; gcrRegs -[r3]
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ add r0, r3, 56
add r1, sp, 72
movw r12, 0xd1ff
movt r12, 0xd1ff
blx r12 // CORINFO_HELP_ASSIGN_BYREF
+ ; gcrRegs -[r3]
nop
- ;; size=232 bbWeight=1 PerfScore 86.00
+ ;; size=246 bbWeight=1 PerfScore 86.00
G_M49961_IG05: ; bbWeight=1, epilog, nogc, extend
add sp, 16
pop {r4,r10,r11,pc}
;; size=6 bbWeight=1 PerfScore 2.00
-; Total bytes of code 280, prolog size 18, PerfScore 101.50, instruction count 103, allocated bytes for code 280 (MethodHash=25aa3cd6) for method Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:.ctor(System.String,System.String,System.String,System.String,Microsoft.CodeAnalysis.Testing.ReferenceAssemblies,int,ubyte,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]):this (MinOpts)
+; Total bytes of code 294, prolog size 18, PerfScore 101.50, instruction count 103, allocated bytes for code 294 (MethodHash=25aa3cd6) for method Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:.ctor(System.String,System.String,System.String,System.String,Microsoft.CodeAnalysis.Testing.ReferenceAssemblies,int,ubyte,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]):this (MinOpts)
; ============================================================
Unwind Info:
@@ -204,7 +197,7 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 140 (0x0008c) Actual length = 280 (0x000118)
+ Function Length : 147 (0x00093) Actual length = 294 (0x000126)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
realworld.run.linux.arm.checked.mch
+0 (0.00%) : 1397.dasm - BenchmarkDotNet.Autogenerated.Runnable26:TrickTheJIT_():this (MinOpts)
@@ -47,14 +47,14 @@ G_M4149_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr r3, [r3+0x18]
blx r3 // <unknown method>
; gcrRegs -[r0]
- ldr r1, [sp+0xC4] // [V00 this]
- ; gcrRegs +[r1]
- str r0, [r1+0x1C]
+ ldr r3, [sp+0xC4] // [V00 this]
+ ; gcrRegs +[r3]
+ str r0, [r3+0x1C]
add r1, sp, 0 // [V03 tmp2]
- ; gcrRegs -[r1]
ldr r0, [sp+0xC4] // [V00 this]
; gcrRegs +[r0]
movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff
ldr r3, [r3]
blx r3 // <unknown method>
+0 (0.00%) : 1433.dasm - BenchmarkDotNet.Autogenerated.Runnable38:ForDisassemblyDiagnoser_():System.ValueTuple`2[BepuPhysics.BodyVelocityWide,BepuPhysics.BodyVelocityWide]:this (MinOpts)
@@ -27,11 +27,11 @@ G_M4092_IG01: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefR
str r1, [sp+0xC0]
;; size=34 bbWeight=1 PerfScore 12.00
G_M4092_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0xC4]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x1C]
- ; gcrRegs -[r0]
- cmp r0, 11
+ ldr r3, [sp+0xC4]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x1C]
+ ; gcrRegs -[r3]
+ cmp r3, 11
bne SHORT G_M4092_IG04
ldr r0, [sp+0xC4]
; gcrRegs +[r0]
+0 (0.00%) : 1449.dasm - BenchmarkDotNet.Autogenerated.Runnable23:TrickTheJIT_():this (MinOpts)
@@ -47,14 +47,14 @@ G_M16720_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr r3, [r3+0x18]
blx r3 // <unknown method>
; gcrRegs -[r0]
- ldr r1, [sp+0x124] // [V00 this]
- ; gcrRegs +[r1]
- str r0, [r1+0x1C]
+ ldr r3, [sp+0x124] // [V00 this]
+ ; gcrRegs +[r3]
+ str r0, [r3+0x1C]
add r1, sp, 0 // [V03 tmp2]
- ; gcrRegs -[r1]
ldr r0, [sp+0x124] // [V00 this]
; gcrRegs +[r0]
movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff
ldr r3, [r3]
blx r3 // <unknown method>
+0 (0.00%) : 17456.dasm - BenchmarkDotNet.Autogenerated.Runnable3:ForDisassemblyDiagnoser_():SixLabors.ImageSharp.Size:this (MinOpts)
@@ -23,11 +23,11 @@ G_M2109_IG01: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=0000 {}, byrefR
str r1, [sp+0x08]
;; size=20 bbWeight=1 PerfScore 8.00
G_M2109_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ldr r0, [sp+0x0C]
- ; gcrRegs +[r0]
- ldr r0, [r0+0x30]
- ; gcrRegs -[r0]
- cmp r0, 11
+ ldr r3, [sp+0x0C]
+ ; gcrRegs +[r3]
+ ldr r3, [r3+0x30]
+ ; gcrRegs -[r3]
+ cmp r3, 11
bne SHORT G_M2109_IG04
ldr r0, [sp+0x0C]
; gcrRegs +[r0]
+0 (0.00%) : 17480.dasm - BenchmarkDotNet.Autogenerated.Runnable28:TrickTheJIT_():this (MinOpts)
@@ -47,14 +47,14 @@ G_M19067_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr r3, [r3+0x18]
blx r3 // <unknown method>
; gcrRegs -[r0]
- ldr r1, [sp+0x0C] // [V00 this]
- ; gcrRegs +[r1]
- str r0, [r1+0x1C]
+ ldr r3, [sp+0x0C] // [V00 this]
+ ; gcrRegs +[r3]
+ str r0, [r3+0x1C]
add r1, sp, 0 // [V03 tmp2]
- ; gcrRegs -[r1]
ldr r0, [sp+0x0C] // [V00 this]
; gcrRegs +[r0]
movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff
ldr r3, [r3]
blx r3 // <unknown method>
+0 (0.00%) : 17496.dasm - BenchmarkDotNet.Autogenerated.Runnable26:TrickTheJIT_():this (MinOpts)
@@ -47,14 +47,14 @@ G_M4149_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr r3, [r3+0x18]
blx r3 // <unknown method>
; gcrRegs -[r0]
- ldr r1, [sp+0x0C] // [V00 this]
- ; gcrRegs +[r1]
- str r0, [r1+0x1C]
+ ldr r3, [sp+0x0C] // [V00 this]
+ ; gcrRegs +[r3]
+ str r0, [r3+0x1C]
add r1, sp, 0 // [V03 tmp2]
- ; gcrRegs -[r1]
ldr r0, [sp+0x0C] // [V00 this]
; gcrRegs +[r0]
movw r3, 0xd1ff
+ ; gcrRegs -[r3]
movt r3, 0xd1ff
ldr r3, [r3]
blx r3 // <unknown method>
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
Details
Improvements/regressions per collection
Collection
Contexts with diffs
Improvements
Regressions
Same size
Improvements (bytes)
Regressions (bytes)
benchmarks.run.linux.arm.checked.mch
2,782
18
0
2,764
-42
+0
benchmarks.run_pgo.linux.arm.checked.mch
42,119
10,516
2,348
29,255
-56,576
+8,324
benchmarks.run_tiered.linux.arm.checked.mch
27,185
6,742
1,418
19,025
-36,844
+4,832
coreclr_tests.run.linux.arm.checked.mch
231,733
77,810
35,027
118,896
-367,080
+167,902
libraries.crossgen2.linux.arm.checked.mch
8
0
0
8
-0
+0
libraries.pmi.linux.arm.checked.mch
3
1
0
2
-280
+0
libraries_tests.run.linux.arm.Release.mch
344,768
115,949
21,556
207,263
-646,362
+112,982
librariestestsnotieredcompilation.run.linux.arm.Release.mch
13,290
4,070
212
9,008
-28,272
+3,362
realworld.run.linux.arm.checked.mch
112
2
0
110
-14,646
+0
662,000
215,108
60,561
386,331
-1,150,102
+297,402
Context information
Collection
Diffed contexts
MinOpts
FullOpts
Missed, base
Missed, diff
benchmarks.run.linux.arm.checked.mch
43,695
4,600
39,095
1,159 (2.58%)
1,159 (2.58%)
benchmarks.run_pgo.linux.arm.checked.mch
154,675
56,600
98,075
7,244 (4.47%)
7,244 (4.47%)
benchmarks.run_tiered.linux.arm.checked.mch
71,663
38,015
33,648
930 (1.28%)
930 (1.28%)
coreclr_tests.run.linux.arm.checked.mch
472,631
259,411
213,220
7,389 (1.54%)
7,389 (1.54%)
libraries.crossgen2.linux.arm.checked.mch
200,923
14
200,909
0 (0.00%)
0 (0.00%)
libraries.pmi.linux.arm.checked.mch
270,730
6
270,724
7,833 (2.81%)
7,833 (2.81%)
libraries_tests.run.linux.arm.Release.mch
708,188
443,947
264,241
18,613 (2.56%)
18,613 (2.56%)
librariestestsnotieredcompilation.run.linux.arm.Release.mch
273,581
21,522
252,059
33,311 (10.85%)
33,311 (10.85%)
realworld.run.linux.arm.checked.mch
36,380
147
36,233
1,404 (3.72%)
1,404 (3.72%)
2,232,466
824,262
1,408,204
77,883 (3.37%)
77,883 (3.37%)
jit-analyze output
benchmarks.run.linux.arm.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 14172892 (overridden on cmd)
Total bytes of diff: 14172850 (overridden on cmd)
Total bytes of delta: -42 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
-8 : 15134.dasm (-9.30 % of base)
-2 : 36105.dasm (-2.44 % of base)
-2 : 37170.dasm (-2.44 % of base)
-2 : 37845.dasm (-2.44 % of base)
-2 : 28761.dasm (-2.44 % of base)
-2 : 35491.dasm (-2.44 % of base)
-2 : 37135.dasm (-2.44 % of base)
-2 : 43959.dasm (-1.89 % of base)
-2 : 43995.dasm (-2.44 % of base)
-2 : 8481.dasm (-2.44 % of base)
-2 : 8907.dasm (-2.44 % of base)
-2 : 21301.dasm (-2.44 % of base)
-2 : 30669.dasm (-2.44 % of base)
-2 : 31377.dasm (-2.44 % of base)
-2 : 34113.dasm (-2.44 % of base)
-2 : 35060.dasm (-2.44 % of base)
-2 : 38575.dasm (-2.44 % of base)
-2 : 39186.dasm (-2.44 % of base)
18 total files with Code Size differences (18 improved, 0 regressed), 42 unchanged.
Top method improvements (bytes):
-8 (-9.30 % of base) : 15134.dasm - Devirtualization.EqualityComparerFixture`1[System.ValueTuple`3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)
-2 (-2.44 % of base) : 36105.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 37135.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 39186.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 43995.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String[]:this (MinOpts)
-2 (-2.44 % of base) : 37170.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 37845.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 8481.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 35060.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 38575.dasm - BenchmarkDotNet.Autogenerated.Runnable_187:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
-2 (-1.89 % of base) : 43959.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():this (MinOpts)
-2 (-2.44 % of base) : 8907.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
-2 (-2.44 % of base) : 28761.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
-2 (-2.44 % of base) : 35491.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
-2 (-2.44 % of base) : 21301.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
-2 (-2.44 % of base) : 30669.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
-2 (-2.44 % of base) : 31377.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
-2 (-2.44 % of base) : 34113.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
Top method improvements (percentages):
-8 (-9.30 % of base) : 15134.dasm - Devirtualization.EqualityComparerFixture`1[System.ValueTuple`3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)
-2 (-2.44 % of base) : 36105.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 37135.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 39186.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 43995.dasm - BenchmarkDotNet.Autogenerated.Runnable_160:__ForDisassemblyDiagnoser__():System.String[]:this (MinOpts)
-2 (-2.44 % of base) : 37170.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 37845.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 8481.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 35060.dasm - BenchmarkDotNet.Autogenerated.Runnable_161:__ForDisassemblyDiagnoser__():System.String:this (MinOpts)
-2 (-2.44 % of base) : 38575.dasm - BenchmarkDotNet.Autogenerated.Runnable_187:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
-2 (-2.44 % of base) : 8907.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():ubyte:this (MinOpts)
-2 (-2.44 % of base) : 28761.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
-2 (-2.44 % of base) : 35491.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
-2 (-2.44 % of base) : 21301.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
-2 (-2.44 % of base) : 30669.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
-2 (-2.44 % of base) : 31377.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
-2 (-2.44 % of base) : 34113.dasm - BenchmarkDotNet.Autogenerated.Runnable_87:__ForDisassemblyDiagnoser__():int:this (MinOpts)
-2 (-1.89 % of base) : 43959.dasm - BenchmarkDotNet.Autogenerated.Runnable_188:__ForDisassemblyDiagnoser__():this (MinOpts)
benchmarks.run_pgo.linux.arm.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 58450272 (overridden on cmd)
Total bytes of diff: 58402020 (overridden on cmd)
Total bytes of delta: -48252 (-0.08 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
320 : 100519.dasm (1.67 % of base)
56 : 100524.dasm (2.28 % of base)
48 : 21324.dasm (1.16 % of base)
46 : 21388.dasm (0.99 % of base)
32 : 100522.dasm (1.58 % of base)
32 : 132957.dasm (4.29 % of base)
32 : 132962.dasm (3.91 % of base)
30 : 93881.dasm (6.02 % of base)
30 : 96979.dasm (5.02 % of base)
26 : 50042.dasm (25.00 % of base)
26 : 56307.dasm (25.00 % of base)
24 : 11368.dasm (2.76 % of base)
22 : 99734.dasm (5.50 % of base)
22 : 96818.dasm (5.50 % of base)
20 : 117208.dasm (2.59 % of base)
18 : 111104.dasm (1.25 % of base)
18 : 15969.dasm (1.04 % of base)
18 : 27800.dasm (6.21 % of base)
18 : 92627.dasm (4.35 % of base)
16 : 98936.dasm (0.34 % of base)
Top file improvements (bytes):
-640 : 31628.dasm (-2.52 % of base)
-406 : 44855.dasm (-3.77 % of base)
-400 : 45152.dasm (-2.81 % of base)
-324 : 92417.dasm (-1.30 % of base)
-308 : 28505.dasm (-1.74 % of base)
-226 : 23695.dasm (-6.73 % of base)
-190 : 11490.dasm (-1.15 % of base)
-172 : 80179.dasm (-5.93 % of base)
-166 : 14206.dasm (-6.38 % of base)
-166 : 14247.dasm (-6.38 % of base)
-156 : 6498.dasm (-5.08 % of base)
-152 : 30763.dasm (-2.95 % of base)
-152 : 3150.dasm (-8.84 % of base)
-150 : 27160.dasm (-2.99 % of base)
-126 : 131095.dasm (-1.76 % of base)
-126 : 48286.dasm (-1.76 % of base)
-114 : 1569.dasm (-1.21 % of base)
-114 : 92324.dasm (-1.19 % of base)
-86 : 98930.dasm (-4.33 % of base)
-86 : 101014.dasm (-4.33 % of base)
82 total files with Code Size differences (40 improved, 42 regressed), 20 unchanged.
Top method regressions (bytes):
320 (1.67 % of base) : 100519.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
56 (2.28 % of base) : 100524.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldCheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
48 (1.16 % of base) : 21324.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this (Tier0)
46 (0.99 % of base) : 21388.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this (Instrumented Tier0)
32 (1.58 % of base) : 100522.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNativeIntegerOverflowingBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
32 (3.91 % of base) : 132962.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Instrumented Tier0)
32 (4.29 % of base) : 132957.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
30 (5.02 % of base) : 96979.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol:CreateUncommonFields():Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+UncommonFields:this (Instrumented Tier0)
30 (6.02 % of base) : 93881.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol:CreateUncommonFields():Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+UncommonFields:this (Tier0)
26 (25.00 % of base) : 56307.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
26 (25.00 % of base) : 50042.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
24 (2.76 % of base) : 11368.dasm - System.Net.Http.HttpConnectionSettings:CloneAndNormalize():System.Net.Http.HttpConnectionSettings:this (Tier0)
22 (5.50 % of base) : 99734.dasm - Microsoft.CodeAnalysis.CodeGen.MethodBody:.ctor(System.Collections.Immutable.ImmutableArray`1[ubyte],ushort,Microsoft.Cci.IMethodDefinition,Microsoft.CodeAnalysis.CodeGen.DebugId,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ILocalDefinition],Microsoft.CodeAnalysis.CodeGen.SequencePointList,Microsoft.CodeAnalysis.CodeGen.DebugDocumentProvider,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ExceptionHandlerRegion],ubyte,ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.LocalScope],ubyte,Microsoft.Cci.IImportScope,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.LambdaDebugInfo],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.ClosureDebugInfo],System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Debugging.StateMachineHoistedLocalScope],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Emit.EncHoistedLocalInfo],System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ITypeReference],Microsoft.CodeAnalysis.CodeGen.StateMachineStatesDebugInfo,Microsoft.CodeAnalysis.Emit.StateMachineMoveNextBodyDebugInfo,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.SourceSpan],ubyte):this (Instrumented Tier0)
22 (5.50 % of base) : 96818.dasm - Microsoft.CodeAnalysis.CodeGen.MethodBody:.ctor(System.Collections.Immutable.ImmutableArray`1[ubyte],ushort,Microsoft.Cci.IMethodDefinition,Microsoft.CodeAnalysis.CodeGen.DebugId,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ILocalDefinition],Microsoft.CodeAnalysis.CodeGen.SequencePointList,Microsoft.CodeAnalysis.CodeGen.DebugDocumentProvider,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ExceptionHandlerRegion],ubyte,ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.LocalScope],ubyte,Microsoft.Cci.IImportScope,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.LambdaDebugInfo],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.ClosureDebugInfo],System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Debugging.StateMachineHoistedLocalScope],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Emit.EncHoistedLocalInfo],System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ITypeReference],Microsoft.CodeAnalysis.CodeGen.StateMachineStatesDebugInfo,Microsoft.CodeAnalysis.Emit.StateMachineMoveNextBodyDebugInfo,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.SourceSpan],ubyte):this (Tier0)
20 (2.59 % of base) : 117208.dasm - MS.Internal.Xml.XPath.XPathParser:ParseNodeTest(MS.Internal.Xml.XPath.AstNode,int,int):MS.Internal.Xml.XPath.Axis:this (Tier0)
18 (4.35 % of base) : 92627.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:InitializeNoLock(System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.MetadataReference,int],System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.MetadataReference,int],System.Collections.Generic.IDictionary`2[System.ValueTuple`2[System.String,System.String],Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableDictionary`2[Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.PortableExecutableReference],ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic],System.__Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.PEModule],System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[System.String]],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.UnifiedAssembly`1[System.__Canon]],System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.MetadataReference,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference]]):this (Tier0)
18 (1.25 % of base) : 111104.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:GetTypeOrReturnType(Microsoft.CodeAnalysis.CSharp.Symbol,byref,byref,byref) (Instrumented Tier0)
18 (1.04 % of base) : 15969.dasm - Newtonsoft.Json.JsonSerializer:SerializeInternal(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
18 (6.21 % of base) : 27800.dasm - Utf8Json.JsonReader:.ctor(ubyte[],int):this (Tier0)
16 (0.34 % of base) : 98936.dasm - System.Reflection.Metadata.Ecma335.MetadataSizes:.ctor(System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],int,ubyte):this (Tier0)
Top method improvements (bytes):
-640 (-2.52 % of base) : 31628.dasm - Jil.Options:.cctor() (Tier0)
-406 (-3.77 % of base) : 44855.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Tier0)
-400 (-2.81 % of base) : 45152.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Instrumented Tier0)
-324 (-1.30 % of base) : 92417.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
-308 (-1.74 % of base) : 28505.dasm - Product:CreateLists() (Tier0)
-226 (-6.73 % of base) : 23695.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ILEmitResolverBuilder:GenerateMethodBody(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,System.Reflection.Emit.ILGenerator):Microsoft.Extensions.DependencyInjection.ServiceLookup.ILEmitResolverBuilder+ILEmitResolverBuilderRuntimeContext:this (Tier0)
-190 (-1.15 % of base) : 11490.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (Tier0)
-172 (-5.93 % of base) : 80179.dasm - System.Security.Cryptography.CryptoConfig:get_DefaultNameHT():System.Collections.Generic.Dictionary`2[System.String,System.Object] (Tier0)
-166 (-6.38 % of base) : 14206.dasm - System.Net.Sockets.SocketErrorPal:.cctor() (Tier0)
-166 (-6.38 % of base) : 14247.dasm - System.Net.Sockets.SocketErrorPal:.cctor() (Tier0)
-156 (-5.08 % of base) : 6498.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Instrumented Tier0)
-152 (-2.95 % of base) : 30763.dasm - MessagePack.Internal.BuiltinResolverGetFormatterHelper:.cctor() (Tier0)
-152 (-8.84 % of base) : 3150.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier0)
-150 (-2.99 % of base) : 27160.dasm - Utf8Json.Resolvers.BuiltinResolver+BuiltinResolverGetFormatterHelper:.cctor() (Tier0)
-126 (-1.76 % of base) : 48286.dasm - Jil.Deserialize.Methods:ParseISO8601Date(System.IO.TextReader,ushort[],int,int):System.DateTime (Tier0)
-126 (-1.76 % of base) : 131095.dasm - Jil.Deserialize.Methods:ParseISO8601DateThunkReader(byref,ushort[],int,int):System.DateTime (Tier0)
-114 (-1.19 % of base) : 92324.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Instrumented Tier0)
-114 (-1.21 % of base) : 1569.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier0)
-86 (-4.33 % of base) : 101014.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:GetRowCounts():System.Collections.Immutable.ImmutableArray`1[int]:this (Instrumented Tier0)
-86 (-4.33 % of base) : 98930.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:GetRowCounts():System.Collections.Immutable.ImmutableArray`1[int]:this (Tier0)
Top method regressions (percentages):
26 (25.00 % of base) : 56307.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
26 (25.00 % of base) : 50042.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
12 (24.00 % of base) : 784.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
12 (17.14 % of base) : 21036.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
8 (15.38 % of base) : 94144.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
8 (15.38 % of base) : 93787.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
8 (14.81 % of base) : 143946.dasm - ProtoBuf.ProtoWriter:Zig(long):ulong (Instrumented Tier0)
8 (14.81 % of base) : 71567.dasm - ProtoBuf.ProtoWriter:Zig(long):ulong (Tier0)
12 (14.29 % of base) : 35638.dasm - System.Byte:Equals(System.Object):ubyte:this (Tier0)
12 (14.29 % of base) : 20290.dasm - System.Char:Equals(System.Object):ubyte:this (Tier0)
6 (12.00 % of base) : 9572.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Scan(System.ReadOnlySpan`1[ushort]):this (Tier0)
10 (11.90 % of base) : 29282.dasm - System.Int32:Equals(System.Object):ubyte:this (Tier0)
8 (11.76 % of base) : 31669.dasm - Jil.Common.ExtensionMethods+<>c__17`1[System.__Canon]:<GetCustomAttribute>b__17_0(System.Reflection.CustomAttributeData):ubyte:this (Tier0)
16 (10.39 % of base) : 6693.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:SetUInt32Value(uint,ubyte):this (Tier0)
16 (9.88 % of base) : 3430.dasm - System.Threading.PortableThreadPool+ThreadCounts:SetInt16Value(short,ubyte):this (Tier0)
2 (9.09 % of base) : 91290.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ModeOf(int):int (Instrumented Tier0)
2 (9.09 % of base) : 91132.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ModeOf(int):int (Tier0)
2 (9.09 % of base) : 91267.dasm - Roslyn.Utilities.StringTable:LocalIdxFromHash(int):int (Instrumented Tier0)
2 (9.09 % of base) : 91126.dasm - Roslyn.Utilities.StringTable:LocalIdxFromHash(int):int (Tier0)
2 (9.09 % of base) : 98247.dasm - System.Reflection.Metadata.Ecma335.MetadataTokens:ToRowId(int):int (Instrumented Tier0)
Top method improvements (percentages):
-8 (-19.05 % of base) : 757.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
-8 (-17.39 % of base) : 12684.dasm - System.DateTime:get_InternalKind():ulong:this (Instrumented Tier0)
-8 (-17.39 % of base) : 12324.dasm - System.DateTime:get_InternalKind():ulong:this (Tier0)
-8 (-16.67 % of base) : 28881.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext,System.__Canon]:VisitNoCache(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext):System.__Canon:this (Tier0)
-8 (-16.67 % of base) : 15968.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object):this (Tier0)
-8 (-16.67 % of base) : 5892.dasm - System.DateTime:get_Ticks():long:this (Instrumented Tier0)
-8 (-16.67 % of base) : 5474.dasm - System.DateTime:get_Ticks():long:this (Tier0)
-8 (-16.67 % of base) : 8780.dasm - System.DateTime:get_UTicks():ulong:this (Instrumented Tier0)
-8 (-16.67 % of base) : 8733.dasm - System.DateTime:get_UTicks():ulong:this (Tier0)
-8 (-16.67 % of base) : 63497.dasm - System.Reflection.PropertyInfo:SetValue(System.Object,System.Object):this (Tier0)
-8 (-16.67 % of base) : 49495.dasm - System.Type:GetMember(System.String,int):System.Reflection.MemberInfo[]:this (Tier0)
-8 (-16.67 % of base) : 11831.dasm - System.Uri:get_HostType():ulong:this (Instrumented Tier0)
-8 (-16.67 % of base) : 9663.dasm - System.Uri:get_HostType():ulong:this (Tier0)
-8 (-16.67 % of base) : 25465.dasm - System.Xml.XmlWellFormedWriter+ElementScope:WriteEndElement(System.Xml.XmlRawWriter):this (Tier0)
-8 (-16.67 % of base) : 75452.dasm - System.Xml.XmlWellFormedWriter+ElementScope:WriteFullEndElement(System.Xml.XmlRawWriter):this (Tier0)
-8 (-16.67 % of base) : 25458.dasm - System.Xml.XmlWriter:WriteStartElement(System.String,System.String):this (Tier0)
-8 (-16.00 % of base) : 60806.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
-8 (-16.00 % of base) : 2772.dasm - System.Reflection.Assembly:GetType(System.String,ubyte):System.Type:this (Tier0)
-8 (-16.00 % of base) : 22006.dasm - System.Reflection.ConstructorInfo:Invoke(System.Object[]):System.Object:this (Tier0)
-8 (-16.00 % of base) : 34090.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteDataContractValue(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.RuntimeTypeHandle):this (Tier0)
benchmarks.run_tiered.linux.arm.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 17364030 (overridden on cmd)
Total bytes of diff: 17332018 (overridden on cmd)
Total bytes of delta: -32012 (-0.18 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
48 : 10901.dasm (1.16 % of base)
32 : 62383.dasm (4.29 % of base)
30 : 46783.dasm (6.02 % of base)
26 : 27311.dasm (25.00 % of base)
24 : 7726.dasm (2.76 % of base)
22 : 49245.dasm (5.50 % of base)
20 : 58452.dasm (2.59 % of base)
18 : 17365.dasm (6.21 % of base)
18 : 19205.dasm (1.04 % of base)
18 : 45700.dasm (4.35 % of base)
16 : 2976.dasm (9.88 % of base)
16 : 7368.dasm (10.39 % of base)
16 : 50932.dasm (0.34 % of base)
14 : 31953.dasm (1.58 % of base)
14 : 36273.dasm (1.58 % of base)
14 : 36312.dasm (1.56 % of base)
14 : 18782.dasm (1.39 % of base)
14 : 32245.dasm (1.18 % of base)
14 : 13853.dasm (3.21 % of base)
14 : 65406.dasm (0.95 % of base)
Top file improvements (bytes):
-640 : 22371.dasm (-2.52 % of base)
-406 : 29993.dasm (-3.77 % of base)
-324 : 45456.dasm (-1.30 % of base)
-308 : 6339.dasm (-1.74 % of base)
-226 : 18293.dasm (-6.73 % of base)
-190 : 7845.dasm (-1.15 % of base)
-172 : 40170.dasm (-5.93 % of base)
-166 : 10378.dasm (-6.38 % of base)
-166 : 10345.dasm (-6.38 % of base)
-152 : 24950.dasm (-2.95 % of base)
-152 : 2712.dasm (-8.84 % of base)
-150 : 16684.dasm (-2.99 % of base)
-126 : 27946.dasm (-1.76 % of base)
-126 : 61187.dasm (-1.76 % of base)
-114 : 1411.dasm (-1.21 % of base)
-86 : 50919.dasm (-4.33 % of base)
-82 : 4568.dasm (-3.27 % of base)
-80 : 9409.dasm (-3.40 % of base)
-76 : 5440.dasm (-0.71 % of base)
-66 : 14898.dasm (-3.00 % of base)
80 total files with Code Size differences (40 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
48 (1.16 % of base) : 10901.dasm - Newtonsoft.Json.JsonTextReader:ParseReadNumber(int,ushort,int):this (Tier0)
32 (4.29 % of base) : 62383.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
30 (6.02 % of base) : 46783.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol:CreateUncommonFields():Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol+UncommonFields:this (Tier0)
26 (25.00 % of base) : 27311.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
24 (2.76 % of base) : 7726.dasm - System.Net.Http.HttpConnectionSettings:CloneAndNormalize():System.Net.Http.HttpConnectionSettings:this (Tier0)
22 (5.50 % of base) : 49245.dasm - Microsoft.CodeAnalysis.CodeGen.MethodBody:.ctor(System.Collections.Immutable.ImmutableArray`1[ubyte],ushort,Microsoft.Cci.IMethodDefinition,Microsoft.CodeAnalysis.CodeGen.DebugId,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ILocalDefinition],Microsoft.CodeAnalysis.CodeGen.SequencePointList,Microsoft.CodeAnalysis.CodeGen.DebugDocumentProvider,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ExceptionHandlerRegion],ubyte,ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.LocalScope],ubyte,Microsoft.Cci.IImportScope,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.LambdaDebugInfo],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.ClosureDebugInfo],System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Debugging.StateMachineHoistedLocalScope],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Emit.EncHoistedLocalInfo],System.Collections.Immutable.ImmutableArray`1[Microsoft.Cci.ITypeReference],Microsoft.CodeAnalysis.CodeGen.StateMachineStatesDebugInfo,Microsoft.CodeAnalysis.Emit.StateMachineMoveNextBodyDebugInfo,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeGen.SourceSpan],ubyte):this (Tier0)
20 (2.59 % of base) : 58452.dasm - MS.Internal.Xml.XPath.XPathParser:ParseNodeTest(MS.Internal.Xml.XPath.AstNode,int,int):MS.Internal.Xml.XPath.Axis:this (Tier0)
18 (4.35 % of base) : 45700.dasm - Microsoft.CodeAnalysis.CommonReferenceManager`2[System.__Canon,System.__Canon]:InitializeNoLock(System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.MetadataReference,int],System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.MetadataReference,int],System.Collections.Generic.IDictionary`2[System.ValueTuple`2[System.String,System.String],Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableDictionary`2[Microsoft.CodeAnalysis.AssemblyIdentity,Microsoft.CodeAnalysis.PortableExecutableReference],ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic],System.__Canon,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.PEModule],System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[System.__Canon],System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[System.String]],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.UnifiedAssembly`1[System.__Canon]],System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.MetadataReference,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference]]):this (Tier0)
18 (1.04 % of base) : 19205.dasm - Newtonsoft.Json.JsonSerializer:SerializeInternal(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
18 (6.21 % of base) : 17365.dasm - Utf8Json.JsonReader:.ctor(ubyte[],int):this (Tier0)
16 (0.34 % of base) : 50932.dasm - System.Reflection.Metadata.Ecma335.MetadataSizes:.ctor(System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],System.Collections.Immutable.ImmutableArray`1[int],int,ubyte):this (Tier0)
16 (10.39 % of base) : 7368.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:SetUInt32Value(uint,ubyte):this (Tier0)
16 (9.88 % of base) : 2976.dasm - System.Threading.PortableThreadPool+ThreadCounts:SetInt16Value(short,ubyte):this (Tier0)
14 (1.18 % of base) : 32245.dasm - Newtonsoft.Json.JsonSerializer:SetupReader(Newtonsoft.Json.JsonReader,byref,byref,byref,byref,byref,byref):this (Tier0)
14 (1.56 % of base) : 36312.dasm - System.Formats.Tar.TarEntry+<ExtractAsRegularFileAsync>d__47:MoveNext():this (Tier0)
14 (1.58 % of base) : 31953.dasm - System.Formats.Tar.TarFile+<CreateFromDirectoryInternalAsync>d__9:MoveNext():this (Tier0)
14 (1.58 % of base) : 36273.dasm - System.Formats.Tar.TarFile+<ExtractToDirectoryInternalAsync>d__15:MoveNext():this (Tier0)
14 (0.95 % of base) : 65406.dasm - System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48:MoveNext():this (Tier0)
14 (3.21 % of base) : 13853.dasm - System.Linq.Enumerable:TryGetSpan[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],byref):ubyte (Tier0)
14 (1.39 % of base) : 18782.dasm - System.Threading.PortableThreadPool:PerformBlockingAdjustment(ubyte,byref):uint:this (Tier0)
Top method improvements (bytes):
-640 (-2.52 % of base) : 22371.dasm - Jil.Options:.cctor() (Tier0)
-406 (-3.77 % of base) : 29993.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Tier0)
-324 (-1.30 % of base) : 45456.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
-308 (-1.74 % of base) : 6339.dasm - Product:CreateLists() (Tier0)
-226 (-6.73 % of base) : 18293.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ILEmitResolverBuilder:GenerateMethodBody(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,System.Reflection.Emit.ILGenerator):Microsoft.Extensions.DependencyInjection.ServiceLookup.ILEmitResolverBuilder+ILEmitResolverBuilderRuntimeContext:this (Tier0)
-190 (-1.15 % of base) : 7845.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (Tier0)
-172 (-5.93 % of base) : 40170.dasm - System.Security.Cryptography.CryptoConfig:get_DefaultNameHT():System.Collections.Generic.Dictionary`2[System.String,System.Object] (Tier0)
-166 (-6.38 % of base) : 10378.dasm - System.Net.Sockets.SocketErrorPal:.cctor() (Tier0)
-166 (-6.38 % of base) : 10345.dasm - System.Net.Sockets.SocketErrorPal:.cctor() (Tier0)
-152 (-2.95 % of base) : 24950.dasm - MessagePack.Internal.BuiltinResolverGetFormatterHelper:.cctor() (Tier0)
-152 (-8.84 % of base) : 2712.dasm - System.Reflection.InvokerEmitUtil:EmitCallAndReturnHandling(System.Reflection.Emit.ILGenerator,System.Reflection.MethodBase,ubyte,ubyte) (Tier0)
-150 (-2.99 % of base) : 16684.dasm - Utf8Json.Resolvers.BuiltinResolver+BuiltinResolverGetFormatterHelper:.cctor() (Tier0)
-126 (-1.76 % of base) : 27946.dasm - Jil.Deserialize.Methods:ParseISO8601Date(System.IO.TextReader,ushort[],int,int):System.DateTime (Tier0)
-126 (-1.76 % of base) : 61187.dasm - Jil.Deserialize.Methods:ParseISO8601DateThunkReader(byref,ushort[],int,int):System.DateTime (Tier0)
-114 (-1.21 % of base) : 1411.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,int[],int[]):this (Tier0)
-86 (-4.33 % of base) : 50919.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:GetRowCounts():System.Collections.Immutable.ImmutableArray`1[int]:this (Tier0)
-82 (-3.27 % of base) : 4568.dasm - Newtonsoft.Json.Utilities.ConvertUtils:.cctor() (Tier0)
-80 (-3.40 % of base) : 9409.dasm - System.Security.Cryptography.Asn1.GeneralNameAsn:DecodeCore(byref,System.ReadOnlyMemory`1[ubyte],byref) (Tier0)
-76 (-0.71 % of base) : 5440.dasm - System.Text.RegularExpressions.RegexCharClass:.cctor() (Tier0)
-66 (-3.00 % of base) : 14898.dasm - ProtoBuf.Internal.Serializers.DefaultValueDecorator:EmitBranchIfDefaultValue(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.CodeLabel):this (Tier0)
Top method regressions (percentages):
26 (25.00 % of base) : 27311.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
12 (24.00 % of base) : 726.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
12 (17.14 % of base) : 4982.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
8 (15.38 % of base) : 46699.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
8 (14.81 % of base) : 37407.dasm - ProtoBuf.ProtoWriter:Zig(long):ulong (Tier0)
12 (14.29 % of base) : 23619.dasm - System.Byte:Equals(System.Object):ubyte:this (Tier0)
12 (14.29 % of base) : 20014.dasm - System.Char:Equals(System.Object):ubyte:this (Tier0)
6 (12.00 % of base) : 4383.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Scan(System.ReadOnlySpan`1[ushort]):this (Tier0)
10 (11.90 % of base) : 14206.dasm - System.Int32:Equals(System.Object):ubyte:this (Tier0)
8 (11.76 % of base) : 22412.dasm - Jil.Common.ExtensionMethods+<>c__17`1[System.__Canon]:<GetCustomAttribute>b__17_0(System.Reflection.CustomAttributeData):ubyte:this (Tier0)
16 (10.39 % of base) : 7368.dasm - System.Threading.LowLevelLifoSemaphoreBase+Counts:SetUInt32Value(uint,ubyte):this (Tier0)
16 (9.88 % of base) : 2976.dasm - System.Threading.PortableThreadPool+ThreadCounts:SetInt16Value(short,ubyte):this (Tier0)
2 (9.09 % of base) : 44379.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ModeOf(int):int (Tier0)
2 (9.09 % of base) : 44373.dasm - Roslyn.Utilities.StringTable:LocalIdxFromHash(int):int (Tier0)
2 (9.09 % of base) : 4935.dasm - System.Buffers.ReadOnlySequence`1[ubyte]:GetIndex(int):int (Tier0)
2 (9.09 % of base) : 49758.dasm - System.Reflection.Metadata.Ecma335.MetadataTokens:ToRowId(int):int (Tier0)
8 (8.51 % of base) : 50936.dasm - System.Reflection.Metadata.Ecma335.MetadataSizes:IsPresent(ubyte):ubyte:this (Tier0)
2 (8.33 % of base) : 49192.dasm - System.Reflection.Metadata.BlobBuilder:get_Length():int:this (Tier0)
2 (8.33 % of base) : 46316.dasm - System.Reflection.Metadata.FieldDefinition:get_RowId():int:this (Tier0)
2 (8.33 % of base) : 20524.dasm - System.Text.Json.JsonDocument+DbRow:get_NumberOfRows():int:this (Tier0)
Top method improvements (percentages):
-8 (-19.05 % of base) : 684.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
-8 (-17.39 % of base) : 3767.dasm - System.DateTime:get_InternalKind():ulong:this (Tier0)
-8 (-16.67 % of base) : 16303.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext,System.__Canon]:VisitNoCache(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite,Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext):System.__Canon:this (Tier0)
-8 (-16.67 % of base) : 19204.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object):this (Tier0)
-8 (-16.67 % of base) : 3217.dasm - System.DateTime:get_Ticks():long:this (Tier0)
-8 (-16.67 % of base) : 3771.dasm - System.DateTime:get_UTicks():ulong:this (Tier0)
-8 (-16.67 % of base) : 35516.dasm - System.Reflection.PropertyInfo:SetValue(System.Object,System.Object):this (Tier0)
-8 (-16.67 % of base) : 27027.dasm - System.Type:GetMember(System.String,int):System.Reflection.MemberInfo[]:this (Tier0)
-8 (-16.67 % of base) : 8044.dasm - System.Uri:get_HostType():ulong:this (Tier0)
-8 (-16.67 % of base) : 13103.dasm - System.Xml.XmlWellFormedWriter+ElementScope:WriteEndElement(System.Xml.XmlRawWriter):this (Tier0)
-8 (-16.67 % of base) : 38473.dasm - System.Xml.XmlWellFormedWriter+ElementScope:WriteFullEndElement(System.Xml.XmlRawWriter):this (Tier0)
-8 (-16.67 % of base) : 13091.dasm - System.Xml.XmlWriter:WriteStartElement(System.String,System.String):this (Tier0)
-8 (-16.00 % of base) : 34213.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
-8 (-16.00 % of base) : 35511.dasm - System.ComponentModel.TypeConverter:ConvertFromString(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String):System.Object:this (Tier0)
-8 (-16.00 % of base) : 2437.dasm - System.Reflection.Assembly:GetType(System.String,ubyte):System.Type:this (Tier0)
-8 (-16.00 % of base) : 14731.dasm - System.Reflection.ConstructorInfo:Invoke(System.Object[]):System.Object:this (Tier0)
-8 (-16.00 % of base) : 21649.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteDataContractValue(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.RuntimeTypeHandle):this (Tier0)
-12 (-15.38 % of base) : 56196.dasm - Microsoft.CodeAnalysis.CSharp.Binder:LookupLocal(Microsoft.CodeAnalysis.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceLocalSymbol:this (Tier0)
-8 (-15.38 % of base) : 56133.dasm - Microsoft.CodeAnalysis.SyntaxNode:FindToken(int,ubyte):Microsoft.CodeAnalysis.SyntaxToken:this (Tier0)
-8 (-15.38 % of base) : 5607.dasm - System.Reflection.Emit.ILGenerator:Emit(System.Reflection.Emit.OpCode,byte):this (Tier0)
coreclr_tests.run.linux.arm.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 321914498 (overridden on cmd)
Total bytes of diff: 321715320 (overridden on cmd)
Total bytes of delta: -199178 (-0.06 % of base)
diff is an improvement.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
912 : 181857.dasm (0.75 % of base)
772 : 6936.dasm (1.44 % of base)
770 : 6943.dasm (1.46 % of base)
756 : 185150.dasm (0.73 % of base)
756 : 194758.dasm (0.73 % of base)
754 : 6932.dasm (1.30 % of base)
726 : 6825.dasm (1.26 % of base)
722 : 6884.dasm (1.41 % of base)
708 : 6845.dasm (1.36 % of base)
418 : 176962.dasm (0.21 % of base)
418 : 178705.dasm (0.21 % of base)
416 : 6930.dasm (0.62 % of base)
408 : 6917.dasm (0.57 % of base)
408 : 6921.dasm (0.60 % of base)
384 : 176834.dasm (0.23 % of base)
380 : 176845.dasm (0.22 % of base)
376 : 186213.dasm (0.21 % of base)
376 : 187129.dasm (0.21 % of base)
356 : 186090.dasm (0.23 % of base)
354 : 186016.dasm (0.24 % of base)
Top file improvements (bytes):
-2268 : 203600.dasm (-1.37 % of base)
-2268 : 419876.dasm (-1.37 % of base)
-1468 : 285479.dasm (-1.90 % of base)
-1468 : 285450.dasm (-1.90 % of base)
-1468 : 285454.dasm (-1.90 % of base)
-1468 : 285472.dasm (-1.90 % of base)
-1040 : 185701.dasm (-0.39 % of base)
-1040 : 185714.dasm (-0.39 % of base)
-1024 : 174956.dasm (-0.35 % of base)
-1024 : 175024.dasm (-0.35 % of base)
-512 : 185560.dasm (-5.66 % of base)
-512 : 182370.dasm (-4.67 % of base)
-512 : 182374.dasm (-4.90 % of base)
-512 : 192892.dasm (-5.66 % of base)
-324 : 147421.dasm (-1.30 % of base)
-308 : 142191.dasm (-1.74 % of base)
-288 : 177457.dasm (-0.20 % of base)
-288 : 177496.dasm (-0.20 % of base)
-254 : 122151.dasm (-2.27 % of base)
-254 : 122127.dasm (-2.27 % of base)
90 total files with Code Size differences (40 improved, 50 regressed), 20 unchanged.
Top method regressions (bytes):
912 (0.75 % of base) : 181857.dasm - Test_1000w1d.testout1:Func_0():int (MinOpts)
772 (1.44 % of base) : 6936.dasm - lclfldsub:TestEntryPoint():int (Tier0)
770 (1.46 % of base) : 6943.dasm - lclfldsub:TestEntryPoint():int (Tier0)
756 (0.73 % of base) : 185150.dasm - Test_1000w1d.testout1:Func_0():int (Tier0)
756 (0.73 % of base) : 194758.dasm - Test_1000w1d.testout1:Func_0():int (Tier0)
754 (1.30 % of base) : 6932.dasm - lclfldsub:TestEntryPoint():int (MinOpts)
726 (1.26 % of base) : 6825.dasm - lclfldadd:TestEntryPoint():int (MinOpts)
722 (1.41 % of base) : 6884.dasm - lclfldadd:TestEntryPoint():int (Tier0)
708 (1.36 % of base) : 6845.dasm - lclfldadd:TestEntryPoint():int (Tier0)
418 (0.21 % of base) : 176962.dasm - i8div:TestEntryPoint():int (MinOpts)
418 (0.21 % of base) : 178705.dasm - u8div:TestEntryPoint():int (MinOpts)
416 (0.62 % of base) : 6930.dasm - lclfldrem:TestEntryPoint():int (Tier0)
408 (0.57 % of base) : 6917.dasm - lclfldrem:TestEntryPoint():int (MinOpts)
408 (0.60 % of base) : 6921.dasm - lclfldrem:TestEntryPoint():int (Tier0)
384 (0.23 % of base) : 176834.dasm - i4div:TestEntryPoint():int (MinOpts)
380 (0.22 % of base) : 176845.dasm - i4rem:TestEntryPoint():int (MinOpts)
376 (0.21 % of base) : 186213.dasm - i8div:TestEntryPoint():int (Tier0)
376 (0.21 % of base) : 187129.dasm - u8div:TestEntryPoint():int (Tier0)
356 (0.23 % of base) : 186090.dasm - i4rem:TestEntryPoint():int (Tier0)
354 (0.24 % of base) : 186016.dasm - i4div:TestEntryPoint():int (Tier0)
Top method improvements (bytes):
-2268 (-1.37 % of base) : 203600.dasm - Runtime_64125.Program:TestEntryPoint():int (Tier0)
-2268 (-1.37 % of base) : 419876.dasm - Runtime_64125.Program:TestEntryPoint():int (Tier0-MinOpts)
-1468 (-1.90 % of base) : 285479.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
-1468 (-1.90 % of base) : 285450.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
-1468 (-1.90 % of base) : 285454.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
-1468 (-1.90 % of base) : 285472.dasm - CseTest.Test_Main:TestEntryPoint():int (MinOpts)
-1040 (-0.39 % of base) : 185701.dasm - decimaldiv:TestEntryPoint():int (Tier0)
-1040 (-0.39 % of base) : 185714.dasm - decimalrem:TestEntryPoint():int (Tier0)
-1024 (-0.35 % of base) : 174956.dasm - decimaldiv:TestEntryPoint():int (MinOpts)
-1024 (-0.35 % of base) : 175024.dasm - decimalrem:TestEntryPoint():int (MinOpts)
-512 (-4.67 % of base) : 182370.dasm - JitTest_addsub_unsigned_cs.Test:TestEntryPoint():int (MinOpts)
-512 (-5.66 % of base) : 185560.dasm - JitTest_addsub_unsigned_cs.Test:TestEntryPoint():int (Tier0)
-512 (-4.90 % of base) : 182374.dasm - JitTest_addsub_unsigned_il.Test:Main():int (MinOpts)
-512 (-5.66 % of base) : 192892.dasm - JitTest_addsub_unsigned_il.Test:Main():int (Tier0)
-324 (-1.30 % of base) : 147421.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
-308 (-1.74 % of base) : 142191.dasm - Product:CreateLists() (Tier0)
-288 (-0.20 % of base) : 177457.dasm - r4div:TestEntryPoint():int (MinOpts)
-288 (-0.20 % of base) : 177496.dasm - r8div:TestEntryPoint():int (MinOpts)
-254 (-2.27 % of base) : 122127.dasm - Test_struct02:TestEntryPoint():int (Tier0)
-254 (-2.27 % of base) : 122151.dasm - Test_Struct02:TestEntryPoint():int (Tier0)
Top method regressions (percentages):
26 (25.00 % of base) : 145015.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
26 (25.00 % of base) : 144141.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
12 (24.00 % of base) : 299069.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
8 (22.22 % of base) : 209540.dasm - Test_GitHub_22556:Add(Test_GitHub_22556,int):int (Tier0)
8 (22.22 % of base) : 209709.dasm - Test_GitHub_27027:Run(Test_GitHub_27027,int):int (Tier0)
22 (16.18 % of base) : 118638.dasm - DivConst:I8_DivPow2Embedded_4(long,long):long (Tier0)
22 (16.18 % of base) : 119548.dasm - ModConst:I8_ModPow2Embedded_4(long,long):long (Tier0)
8 (15.38 % of base) : 149488.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
8 (15.38 % of base) : 149172.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
4 (15.38 % of base) : 191728.dasm - TestApp:test_0_10(float,AA,AA):float (Tier0)
6 (15.00 % of base) : 130056.dasm - Test_Inline_Vars:RunTest219():int:this (Tier0)
6 (15.00 % of base) : 130060.dasm - Test_Inline_Vars:RunTest223():int:this (Tier0)
6 (15.00 % of base) : 130064.dasm - Test_Inline_Vars:RunTest227():int:this (Tier0)
6 (15.00 % of base) : 130068.dasm - Test_Inline_Vars:RunTest231():int:this (Tier0)
6 (15.00 % of base) : 130072.dasm - Test_Inline_Vars:RunTest235():int:this (Tier0)
6 (15.00 % of base) : 130076.dasm - Test_Inline_Vars:RunTest239():int:this (Tier0)
6 (15.00 % of base) : 130080.dasm - Test_Inline_Vars:RunTest243():int:this (Tier0)
6 (15.00 % of base) : 130084.dasm - Test_Inline_Vars:RunTest247():int:this (Tier0)
6 (15.00 % of base) : 130088.dasm - Test_Inline_Vars:RunTest251():int:this (Tier0)
6 (15.00 % of base) : 130092.dasm - Test_Inline_Vars:RunTest255():int:this (Tier0)
Top method improvements (percentages):
-10 (-27.78 % of base) : 113394.dasm - neg_._neg:negi8(long):long (Tier0)
-32 (-19.75 % of base) : 211634.dasm - TestCase:Main():int (Tier0)
-8 (-19.05 % of base) : 299042.dasm - System.Reflection.Assembly:GetType(System.String):System.Type:this (Tier0)
-8 (-18.18 % of base) : 297597.dasm - Tracing.Tests.Common.IpcClient:Write(System.IO.Stream,ubyte[]) (Tier0)
-58 (-16.76 % of base) : 387414.dasm - (dynamicClass):ABIStress_PInvoker692(ABIStress.Hfa2,System.Runtime.Intrinsics.Vector128`1[int],ABIStress.Hfa1,float,System.Runtime.Intrinsics.Vector256`1[int],ABIStress.S9U,short,double,ABIStress.S5U,ABIStress.S9U,ABIStress.S4U,long,ABIStress.S32U,ABIStress.S11U,ABIStress.S9U,System.Runtime.Intrinsics.Vector128`1[int],System.Int128,ABIStress.S12U,ABIStress.S2P,int):int[] (MinOpts)
-8 (-16.67 % of base) : 24344.dasm - Microsoft.Diagnostics.Tracing.TraceEventParser:AddCallbackForProviderEvents(System.Func`3[System.String,System.String,int],System.Action`1[Microsoft.Diagnostics.Tracing.TraceEvent]):this (Tier0)
-8 (-16.67 % of base) : 157860.dasm - System.Dynamic.InvokeMemberBinder:FallbackInvokeMember(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[]):System.Dynamic.DynamicMetaObject:this (Tier0)
-192 (-16.35 % of base) : 388273.dasm - (dynamicClass):ABIStress_PInvoker949(ABIStress.S16U,ABIStress.S4U,ABIStress.S10U,ABIStress.S14U,ABIStress.S2P,ABIStress.S31U,ABIStress.S12U,System.Numerics.Vector`1[int],ubyte,ABIStress.S11U,ABIStress.S5U,ABIStress.I128_1,System.Int128,ABIStress.S8P,ABIStress.S2U,ABIStress.I128_2,ABIStress.S2P,ABIStress.S12U,ABIStress.S31U,ABIStress.S14U,ABIStress.S16U,ABIStress.S14U,ABIStress.S14U,ABIStress.Hfa2,ABIStress.I128_1):int[] (MinOpts)
-8 (-16.00 % of base) : 144483.dasm - Newtonsoft.Json.JsonSerializer:Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type):this (Tier0)
-8 (-16.00 % of base) : 143930.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:WriteDataContractValue(System.Runtime.Serialization.DataContracts.DataContract,System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.RuntimeTypeHandle):this (Tier0)
-198 (-15.74 % of base) : 385506.dasm - (dynamicClass):ABIStress_PInvoker168(ABIStress.S11U,ABIStress.S6U,int,ABIStress.S1P,ABIStress.S32U,ABIStress.S5U,ABIStress.Hfa2,ABIStress.S15U):int[] (MinOpts)
-8 (-15.38 % of base) : 124756.dasm - ClassB:Test(Base,Base,ubyte):int:this (Tier0)
-12 (-15.38 % of base) : 155322.dasm - Microsoft.CodeAnalysis.CSharp.Binder:LookupLocal(Microsoft.CodeAnalysis.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Symbols.SourceLocalSymbol:this (Tier0)
-8 (-15.38 % of base) : 155164.dasm - Microsoft.CodeAnalysis.SyntaxNode:FindToken(int,ubyte):Microsoft.CodeAnalysis.SyntaxToken:this (Tier0)
-8 (-15.38 % of base) : 124755.dasm - Program:Test(Base,Base,Base,ubyte):int (Tier0)
-150 (-14.94 % of base) : 387222.dasm - (dynamicClass):ABIStress_PInvoker636(ABIStress.S2P,ABIStress.I128_1,ABIStress.S12U,ABIStress.Hfa1,ABIStress.I128_1,ABIStress.S8U,ABIStress.S15U,int,ABIStress.S8P,ABIStress.S4U,ABIStress.S2U,System.Runtime.Intrinsics.Vector128`1[int],ABIStress.S3U,ABIStress.S15U,ABIStress.S8U):int[] (MinOpts)
-8 (-14.29 % of base) : 274102.dasm - Internal.TypeSystem.TypeDesc:GetMethod(System.String,Internal.TypeSystem.MethodSignature):Internal.TypeSystem.MethodDesc:this (Tier0)
-8 (-14.29 % of base) : 278148.dasm - Internal.TypeSystem.TypeDesc:GetMethod(System.String,Internal.TypeSystem.MethodSignature):Internal.TypeSystem.MethodDesc:this (Tier0)
-16 (-14.29 % of base) : 206238.dasm - System.Xml.Schema.InteriorNode:ExpandTree(System.Xml.Schema.InteriorNode,System.Xml.Schema.SymbolsDictionary,System.Xml.Schema.Positions):this (Tier0)
-8 (-14.29 % of base) : 207684.dasm - System.Xml.Xsl.IlGen.GenerateHelper:Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label):this (Tier0)
libraries.crossgen2.linux.arm.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 37768318 (overridden on cmd)
Total bytes of diff: 37768318 (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), 8 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
libraries.pmi.linux.arm.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 49500180 (overridden on cmd)
Total bytes of diff: 49499900 (overridden on cmd)
Total bytes of delta: -280 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
-280 : 4229.dasm (-0.26 % of base)
1 total files with Code Size differences (1 improved, 0 regressed), 2 unchanged.
Top method improvements (bytes):
-280 (-0.26 % of base) : 4229.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)
Top method improvements (percentages):
-280 (-0.26 % of base) : 4229.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)
1 total methods with Code Size differences (1 improved, 0 regressed).
libraries_tests.run.linux.arm.Release.mch
superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 240715714 (overridden on cmd)
Total bytes of diff: 240182334 (overridden on cmd)
Total bytes of delta: -533380 (-0.22 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
830 : 685994.dasm (0.73 % of base)
816 : 690754.dasm (0.32 % of base)
660 : 686068.dasm (0.49 % of base)
356 : 456901.dasm (3.95 % of base)
320 : 439829.dasm (1.89 % of base)
320 : 81269.dasm (1.67 % of base)
204 : 453305.dasm (7.75 % of base)
124 : 437211.dasm (1.48 % of base)
116 : 593132.dasm (2.51 % of base)
116 : 607474.dasm (2.50 % of base)
116 : 630040.dasm (2.51 % of base)
116 : 635314.dasm (2.50 % of base)
108 : 592892.dasm (2.78 % of base)
108 : 629928.dasm (2.78 % of base)
100 : 452566.dasm (4.07 % of base)
100 : 452564.dasm (5.12 % of base)
96 : 265900.dasm (0.81 % of base)
92 : 629717.dasm (2.78 % of base)
92 : 607235.dasm (2.78 % of base)
78 : 654530.dasm (0.67 % of base)
Top file improvements (bytes):
-4000 : 600024.dasm (-0.46 % of base)
-4000 : 603214.dasm (-0.46 % of base)
-2000 : 614775.dasm (-1.98 % of base)
-858 : 76695.dasm (-2.97 % of base)
-652 : 533240.dasm (-3.44 % of base)
-630 : 312149.dasm (-1.19 % of base)
-630 : 313245.dasm (-1.19 % of base)
-548 : 111500.dasm (-5.84 % of base)
-514 : 374903.dasm (-6.68 % of base)
-514 : 63139.dasm (-6.68 % of base)
-450 : 145176.dasm (-7.39 % of base)
-450 : 158494.dasm (-7.39 % of base)
-432 : 4597.dasm (-6.13 % of base)
-406 : 296635.dasm (-3.77 % of base)
-400 : 389057.dasm (-2.81 % of base)
-398 : 255448.dasm (-1.71 % of base)
-362 : 262869.dasm (-2.30 % of base)
-348 : 580801.dasm (-0.61 % of base)
-348 : 611145.dasm (-0.61 % of base)
-348 : 609821.dasm (-0.58 % of base)
80 total files with Code Size differences (40 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
830 (0.73 % of base) : 685994.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex29833_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
816 (0.32 % of base) : 690754.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2209_920+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
660 (0.49 % of base) : 686068.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex29841_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
356 (3.95 % of base) : 456901.dasm - System.Xml.Tests.TCErrorCondition:V8():int:this (Instrumented Tier0)
320 (1.67 % of base) : 81269.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
320 (1.89 % of base) : 439829.dasm - System.Xml.Xsl.Xslt.XsltLoader:.ctor():this (Tier0)
204 (7.75 % of base) : 453305.dasm - System.Xml.XmlWriterApiTests.TCErrorConditionWriter:var_16(System.Xml.XmlWriterApiTests.XmlWriterUtils):this (Instrumented Tier0)
124 (1.48 % of base) : 437211.dasm - System.Xml.Xsl.Xslt.KeywordsTable:.ctor(System.Xml.XmlNameTable):this (Instrumented Tier0)
116 (2.50 % of base) : 607474.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<Number_AsCollectionElement_RoundTrip>d__22:MoveNext():this (Tier0)
116 (2.50 % of base) : 635314.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<Number_AsCollectionElement_RoundTrip>d__22:MoveNext():this (Tier0)
116 (2.51 % of base) : 593132.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<Number_AsRootType_RoundTrip>d__7:MoveNext():this (Tier0)
116 (2.51 % of base) : 630040.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<Number_AsRootType_RoundTrip>d__7:MoveNext():this (Tier0)
108 (2.78 % of base) : 592892.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<UnsupportedFormats>d__48:MoveNext():this (Tier0)
108 (2.78 % of base) : 629928.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<UnsupportedFormats>d__48:MoveNext():this (Tier0)
100 (4.07 % of base) : 452566.dasm - System.Xml.XmlConvertTests.XmlBaseCharConvertTests2:XmlEncodeName5():int:this (Instrumented Tier0)
100 (5.12 % of base) : 452564.dasm - System.Xml.XmlConvertTests.XmlBaseCharConvertTests2:XmlEncodeName5():int:this (Tier0)
96 (0.81 % of base) : 265900.dasm - System.Data.Tests.DataRowComparerTests+<Equals_TestData>d__1:MoveNext():ubyte:this (Tier0)
92 (2.78 % of base) : 629717.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<FloatingPointConstants_IncompatibleNumber>d__46:MoveNext():this (Tier0)
92 (2.78 % of base) : 607235.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<FloatingPointConstants_IncompatibleNumber>d__46:MoveNext():this (Tier0)
78 (0.67 % of base) : 654530.dasm - System.Text.Json.Serialization.Tests.CollectionTests+<ImplementsDictionary_DictionaryOfString>d__30:MoveNext():this (Instrumented Tier0)
Top method improvements (bytes):
-4000 (-0.46 % of base) : 600024.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Default+ConstructorTestsContext_Default:ClassWithManyConstructorParametersPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0)
-4000 (-0.46 % of base) : 603214.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Metadata+ConstructorTestsContext_Metadata:ClassWithManyConstructorParametersPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0)
-2000 (-1.98 % of base) : 614775.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Default+ConstructorTestsContext_Default:ClassWithManyConstructorParametersSerializeHandler(System.Text.Json.Utf8JsonWriter,System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters):this (Tier0)
-858 (-2.97 % of base) : 76695.dasm - Microsoft.CodeAnalysis.DesktopAssemblyIdentityComparer:.cctor() (Tier0)
-652 (-3.44 % of base) : 533240.dasm - System.Tests.TimeZoneInfoTests:GetAmbiguousTimeOffsets_Amsterdam() (Tier0)
-630 (-1.19 % of base) : 312149.dasm - FileData:.cctor() (Tier0)
-630 (-1.19 % of base) : 313245.dasm - FileData:.cctor() (Tier0)
-548 (-5.84 % of base) : 111500.dasm - System.ComponentModel.CultureInfoConverter+CultureInfoMapper:CreateMap():System.Collections.Generic.Dictionary`2[System.String,System.String] (Tier0)
-514 (-6.68 % of base) : 374903.dasm - System.Net.Http.Unit.Tests.HPack.HuffmanDecodingTests:get_HuffmanData():Xunit.TheoryData`3[int,uint,int] (Tier0)
-514 (-6.68 % of base) : 63139.dasm - System.Net.Http.Unit.Tests.HPack.HuffmanDecodingTests:get_HuffmanData():Xunit.TheoryData`3[int,uint,int] (Tier0)
-450 (-7.39 % of base) : 145176.dasm - Microsoft.Extensions.Logging.Generators.DiagnosticDescriptors:.cctor() (Tier0)
-450 (-7.39 % of base) : 158494.dasm - Microsoft.Extensions.Logging.Generators.DiagnosticDescriptors:.cctor() (Tier0)
-432 (-6.13 % of base) : 4597.dasm - Microsoft.Interop.GeneratorDiagnostics:.cctor() (Tier0)
-406 (-3.77 % of base) : 296635.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Tier0)
-400 (-2.81 % of base) : 389057.dasm - System.Formats.Asn1.WellKnownOids:GetContents(System.ReadOnlySpan`1[ushort]):System.ReadOnlySpan`1[ubyte] (Instrumented Tier0)
-398 (-1.71 % of base) : 255448.dasm - System.Xml.Schema.XsdBuilder:.cctor() (Tier0)
-362 (-2.30 % of base) : 262869.dasm - System.Data.Tests.Common.DbConnectionStringBuilderTest:AppendKeyValuePair2_UseOdbcRules_True():this (Tier0)
-348 (-0.58 % of base) : 609821.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Metadata+ConstructorTestsContext_Metadata:SimpleTestClassPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Instrumented Tier0)
-348 (-0.61 % of base) : 580801.dasm - System.Text.Json.SourceGeneration.Tests.PropertyVisibilityTests_Metadata+PropertyVisibilityTestsContext_Metadata:SimpleTestClassPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0)
-348 (-0.61 % of base) : 611145.dasm - System.Text.Json.SourceGeneration.Tests.ReferenceHandlerTests_Default+ReferenceHandlerTestsContext_Default:SimpleTestClassPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0)
Top method regressions (percentages):
12 (26.09 % of base) : 203136.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Instrumented Tier0)
12 (26.09 % of base) : 202974.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Tier0)
12 (26.09 % of base) : 230582.dasm - System.Collections.Tests.BitArray_GetSetTests+<>c__DisplayClass8_0:<GetEnumerator_Data>b__0(int):ubyte:this (Tier0)
12 (25.00 % of base) : 14666.dasm - System.Collections.Concurrent.ConcurrentDictionaryTypeProps`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:.cctor() (Tier0)
26 (25.00 % of base) : 430343.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
26 (25.00 % of base) : 264316.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
12 (24.00 % of base) : 3713.dasm - System.Runtime.InteropServices.Marshalling.ArrayMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
10 (17.24 % of base) : 342869.dasm - System.Linq.Parallel.Tests.OfTypeTests+<>c__DisplayClass22_0:<OfType_SomeValidNull>b__0(int):System.Object:this (Tier0)
12 (17.14 % of base) : 490482.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Instrumented Tier0)
12 (17.14 % of base) : 216363.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
12 (16.67 % of base) : 326679.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[int](int,long,System.Action`2[long,int],System.Func`2[long,int]) (Tier0)
12 (16.67 % of base) : 326695.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[uint](uint,long,System.Action`2[long,uint],System.Func`2[long,uint]) (Tier0)
12 (15.79 % of base) : 326685.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[byte](byte,long,System.Action`2[long,byte],System.Func`2[long,byte]) (Tier0)
12 (15.79 % of base) : 326676.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[short](short,long,System.Action`2[long,short],System.Func`2[long,short]) (Tier0)
12 (15.79 % of base) : 326664.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[ubyte](ubyte,long,System.Action`2[long,ubyte],System.Func`2[long,ubyte]) (Tier0)
12 (15.79 % of base) : 326661.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[ubyte](ubyte,long,System.Action`2[long,ubyte],System.Func`2[long,ubyte]) (Tier0)
12 (15.79 % of base) : 326667.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[ushort](ushort,long,System.Action`2[long,ushort],System.Func`2[long,ushort]) (Tier0)
12 (15.79 % of base) : 326692.dasm - System.IO.MemoryMappedFiles.Tests.MemoryMappedViewAccessorTests:AssertWriteRead[ushort](ushort,long,System.Action`2[long,ushort],System.Func`2[long,ushort]) (Tier0)
8 (15.38 % of base) : 157039.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
8 (15.38 % of base) : 471771.dasm - System.Reflection.Tests.MethodInfoDefaultParameters+CustomValueType:Equals(System.Object):ubyte:this (Tier0)
Top method improvements (percentages):
-34 (-22.67 % of base) : 42170.dasm - NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Instrumented Tier0)
-34 (-22.67 % of base) : 9378.dasm - NuGet.Packaging.Signing.SignedPackageVerifierSettings:GetAcceptModeDefaultPolicy(NuGet.Common.IEnvironmentVariableReader):NuGet.Packaging.Signing.SignedPackageVerifierSettings (Tier0)
-8 (-20.00 % of base) : 309378.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_3():System.Object:this (Tier0)
-8 (-20.00 % of base) : 310835.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_3():System.Object:this (Tier0)
-8 (-20.00 % of base) : 309379.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_4():System.Object:this (Tier0)
-8 (-20.00 % of base) : 310836.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_4():System.Object:this (Tier0)
-8 (-20.00 % of base) : 310837.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_5():System.Object:this (Tier0)
-8 (-20.00 % of base) : 309380.dasm - System.IO.Compression.CompressionStreamUnitTestBase:<Ctor_ArgumentValidation>b__16_5():System.Object:this (Tier0)
-8 (-20.00 % of base) : 703857.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetBase:Complete():this (Tier0)
-24 (-19.67 % of base) : 491099.dasm - System.Runtime.Serialization.XmlObjectSerializerWriteContext:InternalSerializeReference(System.Runtime.Serialization.XmlWriterDelegator,System.Object,ubyte,ubyte,int,System.RuntimeTypeHandle):this (Tier0)
-24 (-19.67 % of base) : 703770.dasm - System.Threading.Tasks.Dataflow.JoinBlock`3[int,int,int]:Complete():this (Tier0)
-24 (-19.67 % of base) : 704898.dasm - System.Threading.Tasks.Dataflow.JoinBlock`3[int,System.__Canon,double]:Complete():this (Tier0)
-8 (-19.05 % of base) : 168251.dasm - System.ComponentModel.TypeConverter:ConvertFromString(System.String):System.Object:this (Tier0)
-8 (-19.05 % of base) : 263577.dasm - System.Data.DataTable:Load(System.Data.IDataReader):this (Tier0)
-8 (-19.05 % of base) : 268538.dasm - System.Diagnostics.DiagnosticListener:<Subscribe>b__6_0(System.String):ubyte:this (Tier0)
-8 (-19.05 % of base) : 400741.dasm - System.Net.Security.SslStream:AuthenticateAsClientAsync(System.String):System.Threading.Tasks.Task:this (Tier0)
-8 (-19.05 % of base) : 452815.dasm - System.Xml.XmlWriter:WriteStartAttribute(System.String):this (Tier0)
-8 (-19.05 % of base) : 247990.dasm - System.Xml.XmlWriter:WriteStartElement(System.String):this (Tier0)
-16 (-18.18 % of base) : 115907.dasm - Grace.DependencyInjection.Impl.ActivationStrategyCompiler:CompileDelegate(Grace.DependencyInjection.IInjectionScope,Grace.DependencyInjection.IActivationExpressionResult):Grace.DependencyInjection.ActivationStrategyDelegate:this (Tier0)
-16 (-18.18 % of base) : 704893.dasm - System.Threading.Tasks.Dataflow.JoinBlock`2[int,System.__Canon]:Complete():this (Tier0)
librariestestsnotieredcompilation.run.linux.arm.Release.mch
superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 92863410 (overridden on cmd)
Total bytes of diff: 92838500 (overridden on cmd)
Total bytes of delta: -24910 (-0.03 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
830 : 288946.dasm (0.73 % of base)
816 : 293413.dasm (0.32 % of base)
660 : 289772.dasm (0.49 % of base)
40 : 4505.dasm (0.99 % of base)
34 : 12493.dasm (1.01 % of base)
32 : 12460.dasm (0.34 % of base)
30 : 12585.dasm (0.43 % of base)
24 : 2496.dasm (1.14 % of base)
20 : 2456.dasm (1.02 % of base)
18 : 3585.dasm (0.49 % of base)
14 : 12644.dasm (1.08 % of base)
14 : 2441.dasm (5.00 % of base)
12 : 10683.dasm (0.42 % of base)
12 : 12489.dasm (2.61 % of base)
12 : 10682.dasm (2.69 % of base)
12 : 12578.dasm (2.58 % of base)
12 : 4502.dasm (2.84 % of base)
12 : 10680.dasm (2.69 % of base)
12 : 13764.dasm (2.48 % of base)
12 : 2451.dasm (2.88 % of base)
Top file improvements (bytes):
-4000 : 249885.dasm (-0.46 % of base)
-4000 : 247911.dasm (-0.46 % of base)
-208 : 282841.dasm (-1.06 % of base)
-116 : 269650.dasm (-0.89 % of base)
-106 : 293440.dasm (-0.03 % of base)
-84 : 285915.dasm (-1.01 % of base)
-84 : 276265.dasm (-1.12 % of base)
-80 : 13787.dasm (-0.77 % of base)
-72 : 290906.dasm (-1.06 % of base)
-62 : 274395.dasm (-4.11 % of base)
-62 : 273051.dasm (-4.57 % of base)
-62 : 273054.dasm (-4.11 % of base)
-62 : 274389.dasm (-4.57 % of base)
-60 : 2239.dasm (-2.24 % of base)
-50 : 293373.dasm (-1.37 % of base)
-44 : 269626.dasm (-1.26 % of base)
-38 : 280993.dasm (-0.99 % of base)
-38 : 60640.dasm (-0.01 % of base)
-34 : 280373.dasm (-1.47 % of base)
-34 : 280381.dasm (-1.47 % of base)
68 total files with Code Size differences (36 improved, 32 regressed), 20 unchanged.
Top method regressions (bytes):
830 (0.73 % of base) : 288946.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex5027_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
816 (0.32 % of base) : 293413.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2209_920+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
660 (0.49 % of base) : 289772.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex5100_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
40 (0.99 % of base) : 4505.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<GetSortedDiagnosticsAsync>d__83[System.__Canon]:MoveNext():this (MinOpts)
34 (1.01 % of base) : 12493.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<VerifyFixAsync>d__48[System.__Canon]:MoveNext():this (MinOpts)
32 (0.34 % of base) : 12460.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<VerifyFixAsync>d__46[System.__Canon]:MoveNext():this (MinOpts)
30 (0.43 % of base) : 12585.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<FixEachAnalyzerDiagnosticAsync>d__50[System.__Canon]:MoveNext():this (MinOpts)
24 (1.14 % of base) : 2496.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<CreateSolutionAsync>d__97[System.__Canon]:MoveNext():this (MinOpts)
20 (1.02 % of base) : 2456.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<GetSortedDiagnosticsAsync>d__82[System.__Canon]:MoveNext():this (MinOpts)
18 (0.49 % of base) : 3585.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<VerifySourceGeneratorAsync>d__68[System.__Canon]:MoveNext():this (MinOpts)
14 (1.08 % of base) : 12644.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+<ApplyCodeActionAsync>d__22[System.__Canon]:MoveNext():this (MinOpts)
14 (5.00 % of base) : 2441.dasm - Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:.ctor(System.String,System.String,System.String,System.String,Microsoft.CodeAnalysis.Testing.ReferenceAssemblies,int,ubyte,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]):this (MinOpts)
12 (2.84 % of base) : 4502.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:GetSortedDiagnosticsAsync(Microsoft.CodeAnalysis.Solution,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Diagnostic]],int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Diagnostic]]]:this (MinOpts)
12 (2.88 % of base) : 2451.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:GetSortedDiagnosticsAsync(Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Diagnostic]]]:this (MinOpts)
12 (2.69 % of base) : 10680.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:VerifyGeneratedCodeDiagnosticsAsync(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText][],Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],Microsoft.CodeAnalysis.Testing.DiagnosticResult[],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
12 (2.69 % of base) : 10682.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:VerifySuppressionDiagnosticsAsync(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText][],Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],Microsoft.CodeAnalysis.Testing.DiagnosticResult[],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
12 (0.42 % of base) : 10683.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<VerifySuppressionDiagnosticsAsync>d__71[System.__Canon]:MoveNext():this (MinOpts)
12 (2.48 % of base) : 13764.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1[System.__Canon]:FixAllAnalyerDiagnosticsInScopeAsync(int,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],System.Nullable`1[int],System.String,System.Action`2[Microsoft.CodeAnalysis.CodeActions.CodeAction,Microsoft.CodeAnalysis.Testing.IVerifier],Microsoft.CodeAnalysis.Project,int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Runtime.ExceptionServices.ExceptionDispatchInfo]]:this (MinOpts)
12 (2.58 % of base) : 12578.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1[System.__Canon]:FixEachAnalyzerDiagnosticAsync(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],System.Nullable`1[int],System.String,System.Action`2[Microsoft.CodeAnalysis.CodeActions.CodeAction,Microsoft.CodeAnalysis.Testing.IVerifier],Microsoft.CodeAnalysis.Project,int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Runtime.ExceptionServices.ExceptionDispatchInfo]]:this (MinOpts)
12 (2.61 % of base) : 12489.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1[System.__Canon]:VerifyFixAsync(System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],Microsoft.CodeAnalysis.Testing.SolutionState,Microsoft.CodeAnalysis.Testing.SolutionState,int,System.Func`10[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],System.Nullable`1[int],System.String,System.Action`2[Microsoft.CodeAnalysis.CodeActions.CodeAction,Microsoft.CodeAnalysis.Testing.IVerifier],Microsoft.CodeAnalysis.Project,int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken,System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Runtime.ExceptionServices.ExceptionDispatchInfo]]],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
Top method improvements (bytes):
-4000 (-0.46 % of base) : 247911.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Default+ConstructorTestsContext_Default:ClassWithManyConstructorParametersPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0-MinOpts)
-4000 (-0.46 % of base) : 249885.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Metadata+ConstructorTestsContext_Metadata:ClassWithManyConstructorParametersPropInit(System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonPropertyInfo[] (Tier0-MinOpts)
-208 (-1.06 % of base) : 282841.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
-116 (-0.89 % of base) : 269650.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
-106 (-0.03 % of base) : 293440.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2217_921+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-84 (-1.01 % of base) : 285915.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
-84 (-1.12 % of base) : 276265.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
-80 (-0.77 % of base) : 13787.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<VerifyProjectAsync>d__49[System.__Canon]:MoveNext():this (MinOpts)
-72 (-1.06 % of base) : 290906.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get492_169+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-62 (-4.57 % of base) : 274389.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get341_274+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-62 (-4.11 % of base) : 274395.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get342_275+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-62 (-4.57 % of base) : 273051.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get57_52+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-62 (-4.11 % of base) : 273054.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get58_53+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-60 (-2.24 % of base) : 2239.dasm - Microsoft.CodeAnalysis.Testing.TestFileMarkupParser:Parse(System.String,ubyte,byref,byref,byref,byref) (MinOpts)
-50 (-1.37 % of base) : 293373.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get2188_911+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-44 (-1.26 % of base) : 269626.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
-38 (-0.01 % of base) : 60640.dasm - Microsoft.VisualBasic.CompilerServices.Tests.OperatorsTests+<Compare_Primitives_TestData>d__139:MoveNext():ubyte:this (Tier0-MinOpts)
-38 (-0.99 % of base) : 280993.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Utilities:.cctor() (MinOpts)
-34 (-1.47 % of base) : 280373.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get962_567+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-34 (-1.47 % of base) : 280381.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get964_568+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
Top method regressions (percentages):
14 (5.00 % of base) : 2441.dasm - Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:.ctor(System.String,System.String,System.String,System.String,Microsoft.CodeAnalysis.Testing.ReferenceAssemblies,int,ubyte,System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]],System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]):this (MinOpts)
8 (3.45 % of base) : 3441.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore:WaitAsync(System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+FileSystemSemaphore+Releaser]:this (MinOpts)
8 (3.17 % of base) : 8420.dasm - Microsoft.CodeAnalysis.Testing.Extensions.CompilationWithAnalyzersExtensions:GetAnalysisResultAsync(Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper] (MinOpts)
10 (3.09 % of base) : 20030.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:GetPackageDependenciesAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Frameworks.NuGetFramework,System.Collections.Immutable.ImmutableArray`1[NuGet.Protocol.Core.Types.SourceRepository],NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Collections.Immutable.ImmutableDictionary`2+Builder[NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourcePackageDependencyInfo],System.Threading.CancellationToken):System.Threading.Tasks.Task (MinOpts)
8 (2.99 % of base) : 3431.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:ResolveAsync(System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference]]:this (MinOpts)
8 (2.96 % of base) : 3450.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:ResolveCoreAsync(System.String,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference]]:this (MinOpts)
6 (2.91 % of base) : 191151.dasm - System.Reflection.Metadata.ApplyUpdate.Test.AsyncMethodChange:TestTaskMethod():System.Threading.Tasks.Task`1[System.String] (MinOpts)
12 (2.88 % of base) : 2451.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:GetSortedDiagnosticsAsync(Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Diagnostic]]]:this (MinOpts)
12 (2.84 % of base) : 4502.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:GetSortedDiagnosticsAsync(Microsoft.CodeAnalysis.Solution,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Diagnostic]],int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Diagnostic]]]:this (MinOpts)
12 (2.69 % of base) : 10680.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:VerifyGeneratedCodeDiagnosticsAsync(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText][],Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],Microsoft.CodeAnalysis.Testing.DiagnosticResult[],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
12 (2.69 % of base) : 10682.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:VerifySuppressionDiagnosticsAsync(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText][],Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],Microsoft.CodeAnalysis.Testing.DiagnosticResult[],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
10 (2.62 % of base) : 2477.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:CreateProjectAsync(Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Project]:this (MinOpts)
12 (2.61 % of base) : 12489.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1[System.__Canon]:VerifyFixAsync(System.String,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],Microsoft.CodeAnalysis.Testing.SolutionState,Microsoft.CodeAnalysis.Testing.SolutionState,int,System.Func`10[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],System.Nullable`1[int],System.String,System.Action`2[Microsoft.CodeAnalysis.CodeActions.CodeAction,Microsoft.CodeAnalysis.Testing.IVerifier],Microsoft.CodeAnalysis.Project,int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken,System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Runtime.ExceptionServices.ExceptionDispatchInfo]]],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
10 (2.60 % of base) : 2480.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:CreateProjectImplAsync(Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Project]:this (MinOpts)
12 (2.58 % of base) : 12578.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1[System.__Canon]:FixEachAnalyzerDiagnosticAsync(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],System.Nullable`1[int],System.String,System.Action`2[Microsoft.CodeAnalysis.CodeActions.CodeAction,Microsoft.CodeAnalysis.Testing.IVerifier],Microsoft.CodeAnalysis.Project,int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Runtime.ExceptionServices.ExceptionDispatchInfo]]:this (MinOpts)
10 (2.49 % of base) : 4476.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:ApplySourceGeneratorsAsync(System.Collections.Immutable.ImmutableArray`1[System.Type],Microsoft.CodeAnalysis.Project,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]]]:this (MinOpts)
10 (2.49 % of base) : 2457.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:GetSolutionAsync(Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[Microsoft.CodeAnalysis.Solution]:this (MinOpts)
12 (2.48 % of base) : 13764.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1[System.__Canon]:FixAllAnalyerDiagnosticsInScopeAsync(int,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeFixes.CodeFixProvider],System.Nullable`1[int],System.String,System.Action`2[Microsoft.CodeAnalysis.CodeActions.CodeAction,Microsoft.CodeAnalysis.Testing.IVerifier],Microsoft.CodeAnalysis.Project,int,Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.ValueTuple`2[Microsoft.CodeAnalysis.Project,System.Runtime.ExceptionServices.ExceptionDispatchInfo]]:this (MinOpts)
10 (2.48 % of base) : 2442.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:VerifyDiagnosticsAsync(Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState],Microsoft.CodeAnalysis.Testing.DiagnosticResult[],Microsoft.CodeAnalysis.Testing.IVerifier,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (MinOpts)
8 (2.47 % of base) : 12474.dasm - Microsoft.CodeAnalysis.Testing.CodeActionTest`1+SourceFileEqualityComparer[System.__Canon]:Equals(System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText],System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]):ubyte:this (MinOpts)
Top method improvements (percentages):
-62 (-4.57 % of base) : 274389.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get341_274+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-62 (-4.57 % of base) : 273051.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get57_52+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-62 (-4.11 % of base) : 274395.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get342_275+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-62 (-4.11 % of base) : 273054.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get58_53+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-28 (-4.05 % of base) : 289598.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get768_540+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-6 (-3.61 % of base) : 2247.dasm - Microsoft.CodeAnalysis.Testing.TestFileMarkupParser:AddMatch(System.String,System.String,int,System.Collections.Generic.List`1[System.ValueTuple`2[int,System.String]]) (MinOpts)
-22 (-3.46 % of base) : 280278.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get935_543+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-22 (-3.45 % of base) : 278860.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get141_92+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-22 (-3.45 % of base) : 291300.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get744_287+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-22 (-3.43 % of base) : 279122.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get258_181+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-22 (-3.43 % of base) : 291580.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get859_371+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-20 (-3.33 % of base) : 273381.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get142_120+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-20 (-3.33 % of base) : 278867.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get144_94+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-20 (-3.33 % of base) : 274857.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get426_342+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-20 (-3.33 % of base) : 291303.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get745_288+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-20 (-3.33 % of base) : 280294.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get940_547+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-30 (-3.33 % of base) : 13749.dasm - Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:With(Microsoft.CodeAnalysis.Optional`1[System.String],Microsoft.CodeAnalysis.Optional`1[System.String],Microsoft.CodeAnalysis.Optional`1[System.String],Microsoft.CodeAnalysis.Optional`1[System.String],Microsoft.CodeAnalysis.Optional`1[Microsoft.CodeAnalysis.Testing.ReferenceAssemblies],Microsoft.CodeAnalysis.Optional`1[int],Microsoft.CodeAnalysis.Optional`1[ubyte],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]]],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]]],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]]],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[System.String,Microsoft.CodeAnalysis.Text.SourceText]]],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[System.String]],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.MetadataReference]],Microsoft.CodeAnalysis.Optional`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]]):Microsoft.CodeAnalysis.Testing.Model.EvaluatedProjectState:this (MinOpts)
-20 (-3.31 % of base) : 279128.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get261_183+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-20 (-3.31 % of base) : 291583.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F6DD43EEA644F37FBD420BF6C4F76D7CBF00A201A3A5DFAA2DE4DAED4B5EFB477__Get860_372+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-4 (-3.23 % of base) : 14083.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<>c[System.__Canon]:<FixAllAnalyerDiagnosticsInScopeAsync>b__54_5(System.String):ubyte:this (MinOpts)
realworld.run.linux.arm.checked.mch
superpmi.py asmdiffs -target_os linux -target_arch arm -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 13608080 (overridden on cmd)
Total bytes of diff: 13593434 (overridden on cmd)
Total bytes of delta: -14646 (-0.11 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
-14038 : 36646.dasm (-5.88 % of base)
-608 : 5527.dasm (-0.31 % of base)
2 total files with Code Size differences (2 improved, 0 regressed), 51 unchanged.
Top method improvements (bytes):
-14038 (-5.88 % of base) : 36646.dasm - System.Management.Automation.PowerShellAssemblyLoadContext:InitializeTypeCatalog():System.Collections.Generic.Dictionary`2[System.String,System.String] (Tier0-MinOpts)
-608 (-0.31 % of base) : 5527.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
Top method improvements (percentages):
-14038 (-5.88 % of base) : 36646.dasm - System.Management.Automation.PowerShellAssemblyLoadContext:InitializeTypeCatalog():System.Collections.Generic.Dictionary`2[System.String,System.String] (Tier0-MinOpts)
-608 (-0.31 % of base) : 5527.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
Diffs are based on 2,240,380 contexts (789,389 MinOpts, 1,450,991 FullOpts).
MISSED contexts: base: 3,847 (0.17%), diff: 49,158 (2.15%)
Overall (+199,265 bytes)
Collection
Base size (bytes)
Diff size (bytes)
benchmarks.run.windows.x86.checked.mch
7,037,944
+2
benchmarks.run_pgo.windows.x86.checked.mch
43,076,375
+1,814
benchmarks.run_tiered.windows.x86.checked.mch
8,947,008
+247
coreclr_tests.run.windows.x86.checked.mch
305,219,044
+201,221
libraries.crossgen2.windows.x86.checked.mch
31,623,120
+3
libraries.pmi.windows.x86.checked.mch
48,807,890
-81
libraries_tests.run.windows.x86.Release.mch
162,974,883
-7,140
librariestestsnotieredcompilation.run.windows.x86.Release.mch
100,565,179
+3,185
realworld.run.windows.x86.checked.mch
11,349,106
+14
MinOpts (+199,265 bytes)
Collection
Base size (bytes)
Diff size (bytes)
benchmarks.run.windows.x86.checked.mch
279
+2
benchmarks.run_pgo.windows.x86.checked.mch
5,966,425
+1,814
benchmarks.run_tiered.windows.x86.checked.mch
3,848,434
+247
coreclr_tests.run.windows.x86.checked.mch
198,156,671
+201,221
libraries.crossgen2.windows.x86.checked.mch
1,057
+3
libraries.pmi.windows.x86.checked.mch
95,314
-81
libraries_tests.run.windows.x86.Release.mch
77,656,212
-7,140
librariestestsnotieredcompilation.run.windows.x86.Release.mch
7,273,446
+3,185
realworld.run.windows.x86.checked.mch
295,700
+14
Example diffs
benchmarks.run.windows.x86.checked.mch
+0 (0.00%) : 14037.dasm - Devirtualization.EqualityComparerFixture
1[System.ValueTuple
3[ubyte,int,int]]:CompareNoOpt(byref,byref):ubyte:this (MinOpts)@@ -25,19 +25,21 @@ G_M54368_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
call [<unknown method>]
; gcrRegs +[eax]
mov gword ptr [ebp-0x0C], eax
- mov ecx, bword ptr [ebp-0x08]
- ; byrRegs +[ecx]
- push dword ptr [ecx+0x08]
- push dword ptr [ecx+0x04]
- push dword ptr [ecx]
- mov ecx, bword ptr [ebp+0x08]
- push dword ptr [ecx+0x08]
- push dword ptr [ecx+0x04]
- push dword ptr [ecx]
+ mov eax, bword ptr [ebp-0x08]
+ ; gcrRegs -[eax]
+ ; byrRegs +[eax]
+ push dword ptr [eax+0x08]
+ push dword ptr [eax+0x04]
+ push dword ptr [eax]
+ mov eax, bword ptr [ebp+0x08]
+ push dword ptr [eax+0x08]
+ push dword ptr [eax+0x04]
+ push dword ptr [eax]
mov ecx, gword ptr [ebp-0x0C]
; gcrRegs +[ecx]
- ; byrRegs -[ecx]
mov eax, gword ptr [ebp-0x0C]
+ ; gcrRegs +[eax]
+ ; byrRegs -[eax]
mov eax, dword ptr [eax]
; gcrRegs -[eax]
mov eax, dword ptr [eax+0x2C]
+0 (0.00%) : 2103.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
@@ -20,8 +20,8 @@ G_M3757_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {},
mov gword ptr [ebp-0x04], ecx
;; size=14 bbWeight=1 PerfScore 3.75
G_M3757_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx
- mov gword ptr [ebp-0x0C], ecx
+ xor eax, eax
+ mov gword ptr [ebp-0x0C], eax
push gword ptr [ebp-0x0C]
mov ecx, gword ptr [ebp-0x04]
; gcrRegs +[ecx]
+2 (+1.45%) : 14740.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -39,10 +39,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=00000000 {}, b
lea ecx, [ebp+0x10]
call [<unknown method>]
mov dword ptr [ebp-0x04], eax
- xor ecx, ecx
- mov dword ptr [ebp-0x08], ecx
- xor ecx, ecx
- mov dword ptr [ebp-0x0C], ecx
+ xor eax, eax
+ mov dword ptr [ebp-0x08], eax
+ xor eax, eax
+ mov dword ptr [ebp-0x0C], eax
jmp SHORT G_M16092_IG06
;; size=24 bbWeight=1 PerfScore 9.00
G_M16092_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
@@ -50,24 +50,27 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov edx, dword ptr [ebp-0x0C]
call [<unknown method>]
; byrRegs +[eax]
- movzx ecx, byte ptr [eax]
- mov dword ptr [ebp-0x14], ecx
+ movzx eax, byte ptr [eax]
+ ; byrRegs -[eax]
+ mov dword ptr [ebp-0x14], eax
lea ecx, [ebp+0x08]
mov edx, dword ptr [ebp-0x0C]
call [<unknown method>]
+ ; byrRegs +[eax]
movzx eax, byte ptr [eax]
; byrRegs -[eax]
mov edx, dword ptr [ebp-0x14]
sub edx, eax
- or edx, dword ptr [ebp-0x08]
- mov dword ptr [ebp-0x08], edx
+ mov eax, edx
+ or eax, dword ptr [ebp-0x08]
+ mov dword ptr [ebp-0x08], eax
mov eax, dword ptr [ebp-0x0C]
inc eax
mov dword ptr [ebp-0x0C], eax
- ;; size=51 bbWeight=1 PerfScore 20.50
+ ;; size=53 bbWeight=1 PerfScore 20.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x0C]
- cmp ecx, dword ptr [ebp-0x04]
+ mov eax, dword ptr [ebp-0x0C]
+ cmp eax, dword ptr [ebp-0x04]
jl SHORT G_M16092_IG05
xor eax, eax
cmp dword ptr [ebp-0x08], 0
@@ -79,6 +82,6 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend
ret 16
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 138, prolog size 6, PerfScore 55.00, instruction count 47, allocated bytes for code 138 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 140, prolog size 6, PerfScore 55.25, instruction count 48, allocated bytes for code 140 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================
benchmarks.run_pgo.windows.x86.checked.mch
-8 (-12.50%) : 60903.dasm - System.SpanHelpers:IndexOfAnyValueTypeshort:int (Tier0)
@@ -23,32 +23,32 @@ G_M25943_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x08], edx
;; size=12 bbWeight=1 PerfScore 3.50
G_M25943_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x18]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x14]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x10]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x0C]
- movsx edx, dx
- push edx
+ mov eax, dword ptr [ebp+0x18]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x14]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x10]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x0C]
+ cwde
+ push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08]
- movsx edx, dx
+ mov eax, dword ptr [ebp-0x08]
+ movsx edx, ax
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
call [<unknown method>]
; byrRegs -[ecx]
- ;; size=46 bbWeight=1 PerfScore 15.25
+ ;; size=38 bbWeight=1 PerfScore 15.25
G_M25943_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret 20
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 64, prolog size 6, PerfScore 21.50, instruction count 25, allocated bytes for code 64 (MethodHash=e4db9aa8) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
+; Total bytes of code 56, prolog size 6, PerfScore 21.50, instruction count 25, allocated bytes for code 56 (MethodHash=e4db9aa8) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
; ============================================================
-6 (-10.53%) : 52282.dasm - System.SpanHelpers:IndexOfAnyValueTypeshort:int (Tier0)
@@ -22,29 +22,29 @@ G_M50313_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x08], edx
;; size=12 bbWeight=1 PerfScore 3.50
G_M50313_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x14]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x10]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x0C]
- movsx edx, dx
- push edx
+ mov eax, dword ptr [ebp+0x14]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x10]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x0C]
+ cwde
+ push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08]
- movsx edx, dx
+ mov eax, dword ptr [ebp-0x08]
+ movsx edx, ax
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
call [<unknown method>]
; byrRegs -[ecx]
- ;; size=39 bbWeight=1 PerfScore 13.00
+ ;; size=33 bbWeight=1 PerfScore 13.00
G_M50313_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret 16
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 57, prolog size 6, PerfScore 19.25, instruction count 22, allocated bytes for code 57 (MethodHash=d7f23b76) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
+; Total bytes of code 51, prolog size 6, PerfScore 19.25, instruction count 22, allocated bytes for code 51 (MethodHash=d7f23b76) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
; ============================================================
-4 (-8.16%) : 8446.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
@@ -18,23 +18,23 @@ G_M42870_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x04], ecx
;; size=9 bbWeight=1 PerfScore 2.50
G_M42870_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov ecx, dword ptr [ebp-0x04]
- movsx ecx, cx
- ror cx, 8
- movzx ecx, cx
- movsx ecx, cx
- mov dword ptr [ebp-0x08], ecx
+ mov eax, dword ptr [ebp-0x04]
+ cwde
+ ror ax, 8
+ movzx eax, ax
+ cwde
+ mov dword ptr [ebp-0x08], eax
push dword ptr [ebp+0x0C]
push bword ptr [ebp+0x08]
lea ecx, [ebp-0x08]
call [<unknown method>]
- ;; size=34 bbWeight=1 PerfScore 8.75
+ ;; size=30 bbWeight=1 PerfScore 8.75
G_M42870_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret 8
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 49, prolog size 6, PerfScore 14.00, instruction count 17, allocated bytes for code 49 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
+; Total bytes of code 45, prolog size 6, PerfScore 14.00, instruction count 17, allocated bytes for code 45 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
; ============================================================
+8 (+22.86%) : 45979.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Instrumented Tier0)
@@ -7,13 +7,14 @@
;
; V00 this [V00 ] ( 1, 1 ) byref -> [ebp-0x04] do-not-enreg[] this
; V01 tmp0 [V01 ] ( 1, 1 ) int -> [ebp-0x08] "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [ebp-0x0C]
;
-; Lcl frame size = 8
+; Lcl frame size = 12
G_M56989_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push ebp
mov ebp, esp
- sub esp, 8
+ sub esp, 12
mov bword ptr [ebp-0x04], ecx
;; size=9 bbWeight=1 PerfScore 2.50
G_M56989_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
@@ -22,19 +23,22 @@ G_M56989_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov eax, dword ptr [eax+0x04]
; byrRegs -[eax]
mov dword ptr [ebp-0x08], eax
- mov edx, dword ptr [ebp-0x08]
- xor eax, eax
+ mov eax, dword ptr [ebp-0x08]
+ xor edx, edx
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
- add eax, dword ptr [ecx]
+ add edx, dword ptr [ecx]
+ mov dword ptr [ebp-0x0C], edx
+ mov edx, eax
adc edx, 0
- ;; size=22 bbWeight=1 PerfScore 9.75
+ mov eax, dword ptr [ebp-0x0C]
+ ;; size=30 bbWeight=1 PerfScore 12.00
G_M56989_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret
;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 35, prolog size 6, PerfScore 14.00, instruction count 15, allocated bytes for code 35 (MethodHash=e4a62162) for method Interop+Kernel32+FILE_TIME:ToTicks():long:this (Instrumented Tier0)
+; Total bytes of code 43, prolog size 6, PerfScore 16.25, instruction count 18, allocated bytes for code 43 (MethodHash=e4a62162) for method Interop+Kernel32+FILE_TIME:ToTicks():long:this (Instrumented Tier0)
; ============================================================
+24 (+22.86%) : 4752.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
@@ -6,63 +6,77 @@
; Final local variable assignments
;
; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [ebp+0x08] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x0C] do-not-enreg[]
-; V02 arg2 [V02 ] ( 1, 1 ) int -> [ebp-0x10] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x04] do-not-enreg[]
+; V02 arg2 [V02 ] ( 1, 1 ) int -> [ebp-0x08] do-not-enreg[]
+; TEMP_02 byref -> [ebp-0x0C]
+; TEMP_01 int -> [ebp-0x10]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push ebp
mov ebp, esp
- push edi
- push esi
- sub esp, 8
- mov dword ptr [ebp-0x0C], ecx
- mov dword ptr [ebp-0x10], edx
- ;; size=14 bbWeight=1 PerfScore 5.50
+ sub esp, 16
+ xor eax, eax
+ mov dword ptr [ebp-0x0C], eax
+ mov dword ptr [ebp-0x04], ecx
+ mov dword ptr [ebp-0x08], edx
+ ;; size=17 bbWeight=1 PerfScore 4.75
G_M44368_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
mov eax, dword ptr [ebp+0x0C]
- cmp dword ptr [ebp-0x0C], eax
+ cmp dword ptr [ebp-0x04], eax
jae SHORT G_M44368_IG04
- mov ecx, bword ptr [ebp+0x08]
- ; byrRegs +[ecx]
- mov esi, dword ptr [ebp-0x0C]
- mov eax, dword ptr [ebp-0x10]
- mov edi, 10
+ mov eax, bword ptr [ebp+0x08]
+ ; byrRegs +[eax]
+ mov bword ptr [ebp-0x0C], eax
+ mov edx, dword ptr [ebp-0x04]
+ mov dword ptr [ebp-0x10], edx
+ mov eax, dword ptr [ebp-0x08]
+ ; byrRegs -[eax]
+ mov ecx, 10
cdq
- idiv edx:eax, edi
+ idiv edx:eax, ecx
add eax, 48
- mov word ptr [ecx+2*esi], ax
- mov eax, dword ptr [ebp-0x0C]
+ mov edx, bword ptr [ebp-0x0C]
+ ; byrRegs +[edx]
+ mov ecx, dword ptr [ebp-0x10]
+ mov word ptr [edx+2*ecx], ax
+ mov eax, dword ptr [ebp-0x04]
inc eax
cmp eax, dword ptr [ebp+0x0C]
jae SHORT G_M44368_IG04
- mov ecx, bword ptr [ebp+0x08]
- mov esi, dword ptr [ebp-0x0C]
- mov eax, dword ptr [ebp-0x10]
- mov edi, 10
+ mov eax, bword ptr [ebp+0x08]
+ ; byrRegs +[eax]
+ mov bword ptr [ebp-0x0C], eax
+ mov edx, dword ptr [ebp-0x04]
+ ; byrRegs -[edx]
+ mov dword ptr [ebp-0x10], edx
+ mov eax, dword ptr [ebp-0x08]
+ ; byrRegs -[eax]
+ mov ecx, 10
cdq
- idiv edx:eax, edi
+ idiv edx:eax, ecx
lea eax, [eax+4*eax]
add eax, eax
- mov edx, dword ptr [ebp-0x10]
+ mov edx, dword ptr [ebp-0x08]
sub edx, eax
- add edx, 48
- mov word ptr [ecx+2*esi+0x02], dx
- ;; size=76 bbWeight=1 PerfScore 70.25
+ lea eax, [edx+0x30]
+ mov edx, bword ptr [ebp-0x0C]
+ ; byrRegs +[edx]
+ mov ecx, dword ptr [ebp-0x10]
+ mov word ptr [edx+2*ecx+0x02], ax
+ ;; size=100 bbWeight=1 PerfScore 78.50
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- lea esp, [ebp-0x08]
- pop esi
- pop edi
+ mov esp, ebp
pop ebp
ret 8
- ;; size=9 bbWeight=1 PerfScore 4.00
+ ;; size=6 bbWeight=1 PerfScore 2.75
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref
- ; byrRegs -[ecx]
+ ; byrRegs -[edx]
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 105, prolog size 8, PerfScore 79.75, instruction count 41, allocated bytes for code 105 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
+; Total bytes of code 129, prolog size 11, PerfScore 86.00, instruction count 47, allocated bytes for code 129 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
; ============================================================
+10 (+29.41%) : 39350.dasm - System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
@@ -7,31 +7,35 @@
;
; V00 arg0 [V00 ] ( 1, 1 ) long -> [ebp+0x08] do-not-enreg[]
; V01 tmp0 [V01 ] ( 1, 1 ) int -> [ebp-0x04] "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [ebp-0x08]
;
-; Lcl frame size = 4
+; Lcl frame size = 8
G_M62483_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push ebp
mov ebp, esp
- push eax
- ;; size=4 bbWeight=1 PerfScore 2.25
+ sub esp, 8
+ ;; size=6 bbWeight=1 PerfScore 1.50
G_M62483_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
mov eax, dword ptr [ebp+0x08]
bswap eax
mov dword ptr [ebp-0x04], eax
- mov edx, dword ptr [ebp-0x04]
- mov eax, dword ptr [ebp+0x0C]
+ mov eax, dword ptr [ebp-0x04]
+ mov dword ptr [ebp-0x08], eax
+ mov edx, dword ptr [ebp+0x0C]
xor ecx, ecx
- bswap eax
+ bswap edx
+ mov eax, edx
add eax, 0
+ mov edx, dword ptr [ebp-0x08]
adc edx, 0
- ;; size=24 bbWeight=1 PerfScore 6.00
+ ;; size=32 bbWeight=1 PerfScore 8.25
G_M62483_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret 8
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 34, prolog size 4, PerfScore 11.00, instruction count 15, allocated bytes for code 34 (MethodHash=07e90bec) for method System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
+; Total bytes of code 44, prolog size 6, PerfScore 12.50, instruction count 18, allocated bytes for code 44 (MethodHash=07e90bec) for method System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
; ============================================================
benchmarks.run_tiered.windows.x86.checked.mch
-8 (-12.50%) : 31699.dasm - System.SpanHelpers:IndexOfAnyValueTypeshort:int (Tier0)
@@ -23,32 +23,32 @@ G_M25943_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x08], edx
;; size=12 bbWeight=1 PerfScore 3.50
G_M25943_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x18]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x14]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x10]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x0C]
- movsx edx, dx
- push edx
+ mov eax, dword ptr [ebp+0x18]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x14]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x10]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x0C]
+ cwde
+ push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08]
- movsx edx, dx
+ mov eax, dword ptr [ebp-0x08]
+ movsx edx, ax
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
call [<unknown method>]
; byrRegs -[ecx]
- ;; size=46 bbWeight=1 PerfScore 15.25
+ ;; size=38 bbWeight=1 PerfScore 15.25
G_M25943_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret 20
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 64, prolog size 6, PerfScore 21.50, instruction count 25, allocated bytes for code 64 (MethodHash=e4db9aa8) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
+; Total bytes of code 56, prolog size 6, PerfScore 21.50, instruction count 25, allocated bytes for code 56 (MethodHash=e4db9aa8) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
; ============================================================
-6 (-10.53%) : 28705.dasm - System.SpanHelpers:IndexOfAnyValueTypeshort:int (Tier0)
@@ -22,29 +22,29 @@ G_M50313_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x08], edx
;; size=12 bbWeight=1 PerfScore 3.50
G_M50313_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x14]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x10]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x0C]
- movsx edx, dx
- push edx
+ mov eax, dword ptr [ebp+0x14]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x10]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x0C]
+ cwde
+ push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08]
- movsx edx, dx
+ mov eax, dword ptr [ebp-0x08]
+ movsx edx, ax
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
call [<unknown method>]
; byrRegs -[ecx]
- ;; size=39 bbWeight=1 PerfScore 13.00
+ ;; size=33 bbWeight=1 PerfScore 13.00
G_M50313_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret 16
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 57, prolog size 6, PerfScore 19.25, instruction count 22, allocated bytes for code 57 (MethodHash=d7f23b76) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
+; Total bytes of code 51, prolog size 6, PerfScore 19.25, instruction count 22, allocated bytes for code 51 (MethodHash=d7f23b76) for method System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
; ============================================================
-4 (-8.16%) : 7560.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
@@ -18,23 +18,23 @@ G_M42870_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x04], ecx
;; size=9 bbWeight=1 PerfScore 2.50
G_M42870_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov ecx, dword ptr [ebp-0x04]
- movsx ecx, cx
- ror cx, 8
- movzx ecx, cx
- movsx ecx, cx
- mov dword ptr [ebp-0x08], ecx
+ mov eax, dword ptr [ebp-0x04]
+ cwde
+ ror ax, 8
+ movzx eax, ax
+ cwde
+ mov dword ptr [ebp-0x08], eax
push dword ptr [ebp+0x0C]
push bword ptr [ebp+0x08]
lea ecx, [ebp-0x08]
call [<unknown method>]
- ;; size=34 bbWeight=1 PerfScore 8.75
+ ;; size=30 bbWeight=1 PerfScore 8.75
G_M42870_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret 8
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 49, prolog size 6, PerfScore 14.00, instruction count 17, allocated bytes for code 49 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
+; Total bytes of code 45, prolog size 6, PerfScore 14.00, instruction count 17, allocated bytes for code 45 (MethodHash=7e0e5889) for method System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
; ============================================================
+8 (+22.86%) : 27541.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Tier0)
@@ -7,13 +7,14 @@
;
; V00 this [V00 ] ( 1, 1 ) byref -> [ebp-0x04] do-not-enreg[] this
; V01 tmp0 [V01 ] ( 1, 1 ) int -> [ebp-0x08] "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [ebp-0x0C]
;
-; Lcl frame size = 8
+; Lcl frame size = 12
G_M56989_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push ebp
mov ebp, esp
- sub esp, 8
+ sub esp, 12
mov bword ptr [ebp-0x04], ecx
;; size=9 bbWeight=1 PerfScore 2.50
G_M56989_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
@@ -22,19 +23,22 @@ G_M56989_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov eax, dword ptr [eax+0x04]
; byrRegs -[eax]
mov dword ptr [ebp-0x08], eax
- mov edx, dword ptr [ebp-0x08]
- xor eax, eax
+ mov eax, dword ptr [ebp-0x08]
+ xor edx, edx
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
- add eax, dword ptr [ecx]
+ add edx, dword ptr [ecx]
+ mov dword ptr [ebp-0x0C], edx
+ mov edx, eax
adc edx, 0
- ;; size=22 bbWeight=1 PerfScore 9.75
+ mov eax, dword ptr [ebp-0x0C]
+ ;; size=30 bbWeight=1 PerfScore 12.00
G_M56989_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret
;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 35, prolog size 6, PerfScore 14.00, instruction count 15, allocated bytes for code 35 (MethodHash=e4a62162) for method Interop+Kernel32+FILE_TIME:ToTicks():long:this (Tier0)
+; Total bytes of code 43, prolog size 6, PerfScore 16.25, instruction count 18, allocated bytes for code 43 (MethodHash=e4a62162) for method Interop+Kernel32+FILE_TIME:ToTicks():long:this (Tier0)
; ============================================================
+24 (+22.86%) : 14840.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
@@ -6,63 +6,77 @@
; Final local variable assignments
;
; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [ebp+0x08] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x0C] do-not-enreg[]
-; V02 arg2 [V02 ] ( 1, 1 ) int -> [ebp-0x10] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x04] do-not-enreg[]
+; V02 arg2 [V02 ] ( 1, 1 ) int -> [ebp-0x08] do-not-enreg[]
+; TEMP_02 byref -> [ebp-0x0C]
+; TEMP_01 int -> [ebp-0x10]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push ebp
mov ebp, esp
- push edi
- push esi
- sub esp, 8
- mov dword ptr [ebp-0x0C], ecx
- mov dword ptr [ebp-0x10], edx
- ;; size=14 bbWeight=1 PerfScore 5.50
+ sub esp, 16
+ xor eax, eax
+ mov dword ptr [ebp-0x0C], eax
+ mov dword ptr [ebp-0x04], ecx
+ mov dword ptr [ebp-0x08], edx
+ ;; size=17 bbWeight=1 PerfScore 4.75
G_M44368_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
mov eax, dword ptr [ebp+0x0C]
- cmp dword ptr [ebp-0x0C], eax
+ cmp dword ptr [ebp-0x04], eax
jae SHORT G_M44368_IG04
- mov ecx, bword ptr [ebp+0x08]
- ; byrRegs +[ecx]
- mov esi, dword ptr [ebp-0x0C]
- mov eax, dword ptr [ebp-0x10]
- mov edi, 10
+ mov eax, bword ptr [ebp+0x08]
+ ; byrRegs +[eax]
+ mov bword ptr [ebp-0x0C], eax
+ mov edx, dword ptr [ebp-0x04]
+ mov dword ptr [ebp-0x10], edx
+ mov eax, dword ptr [ebp-0x08]
+ ; byrRegs -[eax]
+ mov ecx, 10
cdq
- idiv edx:eax, edi
+ idiv edx:eax, ecx
add eax, 48
- mov word ptr [ecx+2*esi], ax
- mov eax, dword ptr [ebp-0x0C]
+ mov edx, bword ptr [ebp-0x0C]
+ ; byrRegs +[edx]
+ mov ecx, dword ptr [ebp-0x10]
+ mov word ptr [edx+2*ecx], ax
+ mov eax, dword ptr [ebp-0x04]
inc eax
cmp eax, dword ptr [ebp+0x0C]
jae SHORT G_M44368_IG04
- mov ecx, bword ptr [ebp+0x08]
- mov esi, dword ptr [ebp-0x0C]
- mov eax, dword ptr [ebp-0x10]
- mov edi, 10
+ mov eax, bword ptr [ebp+0x08]
+ ; byrRegs +[eax]
+ mov bword ptr [ebp-0x0C], eax
+ mov edx, dword ptr [ebp-0x04]
+ ; byrRegs -[edx]
+ mov dword ptr [ebp-0x10], edx
+ mov eax, dword ptr [ebp-0x08]
+ ; byrRegs -[eax]
+ mov ecx, 10
cdq
- idiv edx:eax, edi
+ idiv edx:eax, ecx
lea eax, [eax+4*eax]
add eax, eax
- mov edx, dword ptr [ebp-0x10]
+ mov edx, dword ptr [ebp-0x08]
sub edx, eax
- add edx, 48
- mov word ptr [ecx+2*esi+0x02], dx
- ;; size=76 bbWeight=1 PerfScore 70.25
+ lea eax, [edx+0x30]
+ mov edx, bword ptr [ebp-0x0C]
+ ; byrRegs +[edx]
+ mov ecx, dword ptr [ebp-0x10]
+ mov word ptr [edx+2*ecx+0x02], ax
+ ;; size=100 bbWeight=1 PerfScore 78.50
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- lea esp, [ebp-0x08]
- pop esi
- pop edi
+ mov esp, ebp
pop ebp
ret 8
- ;; size=9 bbWeight=1 PerfScore 4.00
+ ;; size=6 bbWeight=1 PerfScore 2.75
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref
- ; byrRegs -[ecx]
+ ; byrRegs -[edx]
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 105, prolog size 8, PerfScore 79.75, instruction count 41, allocated bytes for code 105 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
+; Total bytes of code 129, prolog size 11, PerfScore 86.00, instruction count 47, allocated bytes for code 129 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
; ============================================================
+10 (+29.41%) : 22274.dasm - System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
@@ -7,31 +7,35 @@
;
; V00 arg0 [V00 ] ( 1, 1 ) long -> [ebp+0x08] do-not-enreg[]
; V01 tmp0 [V01 ] ( 1, 1 ) int -> [ebp-0x04] "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [ebp-0x08]
;
-; Lcl frame size = 4
+; Lcl frame size = 8
G_M62483_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push ebp
mov ebp, esp
- push eax
- ;; size=4 bbWeight=1 PerfScore 2.25
+ sub esp, 8
+ ;; size=6 bbWeight=1 PerfScore 1.50
G_M62483_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
mov eax, dword ptr [ebp+0x08]
bswap eax
mov dword ptr [ebp-0x04], eax
- mov edx, dword ptr [ebp-0x04]
- mov eax, dword ptr [ebp+0x0C]
+ mov eax, dword ptr [ebp-0x04]
+ mov dword ptr [ebp-0x08], eax
+ mov edx, dword ptr [ebp+0x0C]
xor ecx, ecx
- bswap eax
+ bswap edx
+ mov eax, edx
add eax, 0
+ mov edx, dword ptr [ebp-0x08]
adc edx, 0
- ;; size=24 bbWeight=1 PerfScore 6.00
+ ;; size=32 bbWeight=1 PerfScore 8.25
G_M62483_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret 8
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 34, prolog size 4, PerfScore 11.00, instruction count 15, allocated bytes for code 34 (MethodHash=07e90bec) for method System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
+; Total bytes of code 44, prolog size 6, PerfScore 12.50, instruction count 18, allocated bytes for code 44 (MethodHash=07e90bec) for method System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
; ============================================================
coreclr_tests.run.windows.x86.checked.mch
-4 (-7.27%) : 338635.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
@@ -18,28 +18,28 @@ G_M18391_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x08], edx
;; size=12 bbWeight=1 PerfScore 3.50
G_M18391_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x08]
- movsx edx, dx
- movzx edx, dl
+ mov eax, dword ptr [ebp-0x08]
+ cwde
+ movzx edx, al
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
call [<unknown method>]
; byrRegs -[ecx]
- mov edx, dword ptr [ebp-0x08]
- movsx edx, dx
- sar edx, 8
- movzx edx, dl
+ mov eax, dword ptr [ebp-0x08]
+ cwde
+ sar eax, 8
+ movzx edx, al
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
call [<unknown method>]
; byrRegs -[ecx]
- ;; size=39 bbWeight=1 PerfScore 11.50
+ ;; size=35 bbWeight=1 PerfScore 11.50
G_M18391_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret
;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 55, prolog size 6, PerfScore 16.75, instruction count 19, allocated bytes for code 55 (MethodHash=3800b828) for method ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
+; Total bytes of code 51, prolog size 6, PerfScore 16.75, instruction count 19, allocated bytes for code 51 (MethodHash=3800b828) for method ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
; ============================================================
-4 (-7.27%) : 371675.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Instrumented Tier0)
@@ -18,28 +18,28 @@ G_M18391_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x08], edx
;; size=12 bbWeight=1 PerfScore 3.50
G_M18391_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x08]
- movsx edx, dx
- movzx edx, dl
+ mov eax, dword ptr [ebp-0x08]
+ cwde
+ movzx edx, al
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
call [<unknown method>]
; byrRegs -[ecx]
- mov edx, dword ptr [ebp-0x08]
- movsx edx, dx
- sar edx, 8
- movzx edx, dl
+ mov eax, dword ptr [ebp-0x08]
+ cwde
+ sar eax, 8
+ movzx edx, al
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
call [<unknown method>]
; byrRegs -[ecx]
- ;; size=39 bbWeight=1 PerfScore 11.50
+ ;; size=35 bbWeight=1 PerfScore 11.50
G_M18391_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret
;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 55, prolog size 6, PerfScore 16.75, instruction count 19, allocated bytes for code 55 (MethodHash=3800b828) for method ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Instrumented Tier0)
+; Total bytes of code 51, prolog size 6, PerfScore 16.75, instruction count 19, allocated bytes for code 51 (MethodHash=3800b828) for method ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Instrumented Tier0)
; ============================================================
-4 (-6.25%) : 253879.dasm - TestApp:test413(short):short (Tier0)
@@ -16,35 +16,35 @@ G_M1644_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {},
mov dword ptr [ebp-0x04], ecx
;; size=7 bbWeight=1 PerfScore 3.25
G_M1644_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, gword ptr [D1FFAB1EH] ; static handle
- ; gcrRegs +[edx]
- movsx edx, word ptr [edx+0x0C]
- ; gcrRegs -[edx]
- or edx, 1
- add edx, -2
- push edx
- mov edx, gword ptr [D1FFAB1EH] ; static handle
- ; gcrRegs +[edx]
- movsx edx, word ptr [edx+0x0C]
- ; gcrRegs -[edx]
- inc edx
- push edx
- mov edx, dword ptr [ebp-0x04]
- movsx edx, dx
- add edx, -100
+ mov eax, gword ptr [D1FFAB1EH] ; static handle
+ ; gcrRegs +[eax]
+ movsx eax, word ptr [eax+0x0C]
+ ; gcrRegs -[eax]
+ or eax, 1
+ add eax, -2
+ push eax
+ mov eax, gword ptr [D1FFAB1EH] ; static handle
+ ; gcrRegs +[eax]
+ movsx eax, word ptr [eax+0x0C]
+ ; gcrRegs -[eax]
+ inc eax
+ push eax
+ mov eax, dword ptr [ebp-0x04]
+ cwde
+ lea edx, [eax-0x64]
mov ecx, gword ptr [D1FFAB1EH] ; static handle
; gcrRegs +[ecx]
call <unknown method>
; gcrRegs -[ecx] +[eax]
movsx eax, word ptr [eax+0x0C]
; gcrRegs -[eax]
- ;; size=53 bbWeight=1 PerfScore 23.25
+ ;; size=49 bbWeight=1 PerfScore 23.50
G_M1644_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret
;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 64, prolog size 4, PerfScore 28.25, instruction count 22, allocated bytes for code 64 (MethodHash=2d4af993) for method TestApp:test_4_13(short):short (Tier0)
+; Total bytes of code 60, prolog size 4, PerfScore 28.50, instruction count 22, allocated bytes for code 60 (MethodHash=2d4af993) for method TestApp:test_4_13(short):short (Tier0)
; ============================================================
+10 (+22.73%) : 220023.dasm - Program:TestCond3() (Tier0)
@@ -5,34 +5,38 @@
; partially interruptible
; Final local variable assignments
;
+; TEMP_01 ref -> [ebp-0x04]
;
-; Lcl frame size = 0
+; Lcl frame size = 4
G_M41046_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push ebp
mov ebp, esp
- push esi
- ;; size=4 bbWeight=1 PerfScore 2.25
+ push eax
+ xor eax, eax
+ mov dword ptr [ebp-0x04], eax
+ ;; size=9 bbWeight=1 PerfScore 3.50
G_M41046_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
call [<unknown method>]
; gcrRegs +[eax]
- mov esi, eax
- ; gcrRegs +[esi]
+ mov gword ptr [ebp-0x04], eax
mov ecx, 0xD1FFAB1E
mov edx, 3
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
; gcrRegs -[eax]
- cmp esi, gword ptr [D1FFAB1EH] ; static handle
+ mov eax, gword ptr [ebp-0x04]
+ ; gcrRegs +[eax]
+ cmp eax, gword ptr [D1FFAB1EH] ; static handle
jne SHORT G_M41046_IG03
call [<unknown method>]
- ; gcrRegs -[esi]
- ;; size=37 bbWeight=1 PerfScore 11.75
+ ; gcrRegs -[eax]
+ ;; size=41 bbWeight=1 PerfScore 13.50
G_M41046_IG03: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, epilog, nogc
- pop esi
+ mov esp, ebp
pop ebp
ret
- ;; size=3 bbWeight=1 PerfScore 2.00
+ ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 44, prolog size 4, PerfScore 16.00, instruction count 14, allocated bytes for code 44 (MethodHash=8a015fa9) for method Program:TestCond3() (Tier0)
+; Total bytes of code 54, prolog size 9, PerfScore 18.75, instruction count 17, allocated bytes for code 54 (MethodHash=8a015fa9) for method Program:TestCond3() (Tier0)
; ============================================================
+24 (+22.86%) : 235147.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
@@ -6,63 +6,77 @@
; Final local variable assignments
;
; V00 arg0 [V00 ] ( 1, 1 ) struct ( 8) [ebp+0x08] do-not-enreg[SF] ld-addr-op <System.Span`1[ushort]>
-; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x0C] do-not-enreg[]
-; V02 arg2 [V02 ] ( 1, 1 ) int -> [ebp-0x10] do-not-enreg[]
+; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x04] do-not-enreg[]
+; V02 arg2 [V02 ] ( 1, 1 ) int -> [ebp-0x08] do-not-enreg[]
+; TEMP_02 byref -> [ebp-0x0C]
+; TEMP_01 int -> [ebp-0x10]
;
-; Lcl frame size = 8
+; Lcl frame size = 16
G_M44368_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push ebp
mov ebp, esp
- push edi
- push esi
- sub esp, 8
- mov dword ptr [ebp-0x0C], ecx
- mov dword ptr [ebp-0x10], edx
- ;; size=14 bbWeight=1 PerfScore 5.50
+ sub esp, 16
+ xor eax, eax
+ mov dword ptr [ebp-0x0C], eax
+ mov dword ptr [ebp-0x04], ecx
+ mov dword ptr [ebp-0x08], edx
+ ;; size=17 bbWeight=1 PerfScore 4.75
G_M44368_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
mov eax, dword ptr [ebp+0x0C]
- cmp dword ptr [ebp-0x0C], eax
+ cmp dword ptr [ebp-0x04], eax
jae SHORT G_M44368_IG04
- mov ecx, bword ptr [ebp+0x08]
- ; byrRegs +[ecx]
- mov esi, dword ptr [ebp-0x0C]
- mov eax, dword ptr [ebp-0x10]
- mov edi, 10
+ mov eax, bword ptr [ebp+0x08]
+ ; byrRegs +[eax]
+ mov bword ptr [ebp-0x0C], eax
+ mov edx, dword ptr [ebp-0x04]
+ mov dword ptr [ebp-0x10], edx
+ mov eax, dword ptr [ebp-0x08]
+ ; byrRegs -[eax]
+ mov ecx, 10
cdq
- idiv edx:eax, edi
+ idiv edx:eax, ecx
add eax, 48
- mov word ptr [ecx+2*esi], ax
- mov eax, dword ptr [ebp-0x0C]
+ mov edx, bword ptr [ebp-0x0C]
+ ; byrRegs +[edx]
+ mov ecx, dword ptr [ebp-0x10]
+ mov word ptr [edx+2*ecx], ax
+ mov eax, dword ptr [ebp-0x04]
inc eax
cmp eax, dword ptr [ebp+0x0C]
jae SHORT G_M44368_IG04
- mov ecx, bword ptr [ebp+0x08]
- mov esi, dword ptr [ebp-0x0C]
- mov eax, dword ptr [ebp-0x10]
- mov edi, 10
+ mov eax, bword ptr [ebp+0x08]
+ ; byrRegs +[eax]
+ mov bword ptr [ebp-0x0C], eax
+ mov edx, dword ptr [ebp-0x04]
+ ; byrRegs -[edx]
+ mov dword ptr [ebp-0x10], edx
+ mov eax, dword ptr [ebp-0x08]
+ ; byrRegs -[eax]
+ mov ecx, 10
cdq
- idiv edx:eax, edi
+ idiv edx:eax, ecx
lea eax, [eax+4*eax]
add eax, eax
- mov edx, dword ptr [ebp-0x10]
+ mov edx, dword ptr [ebp-0x08]
sub edx, eax
- add edx, 48
- mov word ptr [ecx+2*esi+0x02], dx
- ;; size=76 bbWeight=1 PerfScore 70.25
+ lea eax, [edx+0x30]
+ mov edx, bword ptr [ebp-0x0C]
+ ; byrRegs +[edx]
+ mov ecx, dword ptr [ebp-0x10]
+ mov word ptr [edx+2*ecx+0x02], ax
+ ;; size=100 bbWeight=1 PerfScore 78.50
G_M44368_IG03: ; bbWeight=1, epilog, nogc, extend
- lea esp, [ebp-0x08]
- pop esi
- pop edi
+ mov esp, ebp
pop ebp
ret 8
- ;; size=9 bbWeight=1 PerfScore 4.00
+ ;; size=6 bbWeight=1 PerfScore 2.75
G_M44368_IG04: ; bbWeight=0, gcVars=00000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref
- ; byrRegs -[ecx]
+ ; byrRegs -[edx]
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 105, prolog size 8, PerfScore 79.75, instruction count 41, allocated bytes for code 105 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
+; Total bytes of code 129, prolog size 11, PerfScore 86.00, instruction count 47, allocated bytes for code 129 (MethodHash=68d552af) for method System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
; ============================================================
+11 (+26.83%) : 220033.dasm - Program:TestRet2():ubyte (Tier0)
@@ -5,33 +5,38 @@
; partially interruptible
; Final local variable assignments
;
+; TEMP_01 ref -> [ebp-0x04]
;
-; Lcl frame size = 0
+; Lcl frame size = 4
G_M6455_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push ebp
mov ebp, esp
- push esi
- ;; size=4 bbWeight=1 PerfScore 2.25
+ push eax
+ xor eax, eax
+ mov dword ptr [ebp-0x04], eax
+ ;; size=9 bbWeight=1 PerfScore 3.50
G_M6455_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
call [<unknown method>]
; gcrRegs +[eax]
- mov esi, eax
- ; gcrRegs +[esi]
+ mov gword ptr [ebp-0x04], eax
mov ecx, 0xD1FFAB1E
mov edx, 3
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
; gcrRegs -[eax]
- xor eax, eax
- cmp esi, gword ptr [D1FFAB1EH] ; static handle
+ mov eax, gword ptr [ebp-0x04]
+ ; gcrRegs +[eax]
+ cmp eax, gword ptr [D1FFAB1EH] ; static handle
sete al
- ;; size=34 bbWeight=1 PerfScore 9.00
+ ; gcrRegs -[eax]
+ movzx eax, al
+ ;; size=39 bbWeight=1 PerfScore 10.75
G_M6455_IG03: ; bbWeight=1, epilog, nogc, extend
- pop esi
+ mov esp, ebp
pop ebp
ret
- ;; size=3 bbWeight=1 PerfScore 2.00
+ ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 41, prolog size 4, PerfScore 13.25, instruction count 14, allocated bytes for code 41 (MethodHash=6df9e6c8) for method Program:TestRet2():ubyte (Tier0)
+; Total bytes of code 52, prolog size 9, PerfScore 16.00, instruction count 17, allocated bytes for code 52 (MethodHash=6df9e6c8) for method Program:TestRet2():ubyte (Tier0)
; ============================================================
libraries.crossgen2.windows.x86.checked.mch
-1 (-1.89%) : 20632.dasm - System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)
@@ -25,8 +25,8 @@ G_M56207_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
; gcrRegs -[ecx]
mov dword ptr [ebp-0x08], eax
mov ecx, dword ptr [ebp-0x08]
- mov edx, dword ptr [(reloc)] ; const ptr
- mov edx, gword ptr [edx]
+ mov eax, dword ptr [(reloc)] ; const ptr
+ mov edx, gword ptr [eax]
; gcrRegs +[edx]
call [<unknown method>]
; gcrRegs -[edx]
@@ -35,13 +35,13 @@ G_M56207_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
xor edx, edx
call [<unknown method>]
; gcrRegs -[ecx]
- ;; size=40 bbWeight=1 PerfScore 17.25
+ ;; size=39 bbWeight=1 PerfScore 17.25
G_M56207_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret
;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 53, prolog size 6, PerfScore 21.50, instruction count 17, allocated bytes for code 53 (MethodHash=94b92470) for method System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)
+; Total bytes of code 52, prolog size 6, PerfScore 21.50, instruction count 17, allocated bytes for code 52 (MethodHash=94b92470) for method System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)
; ============================================================
-1 (-1.67%) : 6629.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
@@ -22,8 +22,8 @@ G_M3757_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {},
mov gword ptr [ebp-0x04], ecx
;; size=14 bbWeight=1 PerfScore 3.75
G_M3757_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx
- mov gword ptr [ebp-0x0C], ecx
+ xor eax, eax
+ mov gword ptr [ebp-0x0C], eax
push gword ptr [ebp-0x0C]
mov ecx, gword ptr [ebp-0x04]
; gcrRegs +[ecx]
@@ -31,19 +31,19 @@ G_M3757_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {},
call [<unknown method>]
; gcrRegs -[ecx]
mov dword ptr [ebp-0x08], eax
- mov edx, dword ptr [(reloc)] ; const ptr
- mov edx, gword ptr [edx]
+ mov eax, dword ptr [(reloc)] ; const ptr
+ mov edx, gword ptr [eax]
; gcrRegs +[edx]
mov ecx, dword ptr [ebp-0x08]
call [<unknown method>]
; gcrRegs -[edx]
- ;; size=42 bbWeight=1 PerfScore 15.50
+ ;; size=41 bbWeight=1 PerfScore 15.50
G_M3757_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret
;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 60, prolog size 11, PerfScore 21.00, instruction count 20, allocated bytes for code 60 (MethodHash=ca52f152) for method System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
+; Total bytes of code 59, prolog size 11, PerfScore 21.00, instruction count 20, allocated bytes for code 59 (MethodHash=ca52f152) for method System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
; ============================================================
-1 (-1.08%) : 6634.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
@@ -23,8 +23,8 @@ G_M30483_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov gword ptr [ebp-0x04], ecx
;; size=14 bbWeight=1 PerfScore 3.75
G_M30483_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- xor ecx, ecx
- mov gword ptr [ebp-0x0C], ecx
+ xor eax, eax
+ mov gword ptr [ebp-0x0C], eax
push gword ptr [ebp-0x0C]
mov ecx, gword ptr [ebp-0x04]
; gcrRegs +[ecx]
@@ -32,35 +32,35 @@ G_M30483_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
call [<unknown method>]
; gcrRegs -[ecx]
mov dword ptr [ebp-0x08], eax
- mov edx, gword ptr [ebp-0x04]
- ; gcrRegs +[edx]
- cmp dword ptr [edx+0x04], 0
+ mov eax, gword ptr [ebp-0x04]
+ ; gcrRegs +[eax]
+ cmp dword ptr [eax+0x04], 0
je SHORT G_M30483_IG03
- xor edx, edx
- ; gcrRegs -[edx]
+ xor eax, eax
+ ; gcrRegs -[eax]
cmp dword ptr [ebp-0x08], -1
- setne dl
- mov dword ptr [ebp-0x10], edx
+ setne al
+ mov dword ptr [ebp-0x10], eax
jmp SHORT G_M30483_IG04
;; size=48 bbWeight=1 PerfScore 18.75
G_M30483_IG03: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
mov dword ptr [ebp-0x10], 1
;; size=7 bbWeight=1 PerfScore 1.00
G_M30483_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [(reloc)] ; const ptr
- mov edx, gword ptr [edx]
+ mov eax, dword ptr [(reloc)] ; const ptr
+ mov edx, gword ptr [eax]
; gcrRegs +[edx]
mov ecx, dword ptr [ebp-0x10]
call [<unknown method>]
; gcrRegs -[edx]
mov eax, dword ptr [ebp-0x08]
- ;; size=20 bbWeight=1 PerfScore 9.00
+ ;; size=19 bbWeight=1 PerfScore 9.00
G_M30483_IG05: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret
;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 93, prolog size 11, PerfScore 34.25, instruction count 30, allocated bytes for code 93 (MethodHash=1f4588ec) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
+; Total bytes of code 92, prolog size 11, PerfScore 34.25, instruction count 30, allocated bytes for code 92 (MethodHash=1f4588ec) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
; ============================================================
+2 (+1.45%) : 6630.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
@@ -35,29 +35,30 @@ G_M28342_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
call [CORINFO_HELP_DBL2LNG]
mov dword ptr [ebp-0x0C], eax
mov dword ptr [ebp-0x08], edx
- mov ecx, dword ptr [ebp-0x0C]
+ mov eax, dword ptr [ebp-0x0C]
mov dword ptr [ebp-0x14], -1
- mov eax, dword ptr [ebp-0x14]
- sar eax, 31
- cmp ecx, dword ptr [ebp-0x14]
- mov ecx, dword ptr [ebp-0x08]
- sbb ecx, eax
+ mov edx, dword ptr [ebp-0x14]
+ sar edx, 31
+ cmp eax, dword ptr [ebp-0x14]
+ mov eax, dword ptr [ebp-0x08]
+ sbb eax, edx
jl SHORT G_M28342_IG03
mov dword ptr [ebp-0x18], 0xD1FFAB1E
- mov ecx, dword ptr [ebp-0x18]
mov eax, dword ptr [ebp-0x18]
- sar eax, 31
- cmp ecx, dword ptr [ebp-0x0C]
+ mov edx, dword ptr [ebp-0x18]
+ sar edx, 31
+ cmp eax, dword ptr [ebp-0x0C]
+ mov eax, edx
sbb eax, dword ptr [ebp-0x08]
jge SHORT G_M28342_IG04
- ;; size=87 bbWeight=1 PerfScore 30.75
+ ;; size=89 bbWeight=1 PerfScore 31.00
G_M28342_IG03: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
mov ecx, 62
call [<unknown method>]
;; size=11 bbWeight=1 PerfScore 3.25
G_M28342_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx
- mov gword ptr [ebp-0x10], ecx
+ xor eax, eax
+ mov gword ptr [ebp-0x10], eax
push gword ptr [ebp-0x10]
mov ecx, gword ptr [ebp-0x04]
; gcrRegs +[ecx]
@@ -71,6 +72,6 @@ G_M28342_IG05: ; bbWeight=1, epilog, nogc, extend
ret 8
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 138, prolog size 11, PerfScore 47.75, instruction count 41, allocated bytes for code 138 (MethodHash=e8ec9149) for method System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
+; Total bytes of code 140, prolog size 11, PerfScore 48.00, instruction count 42, allocated bytes for code 140 (MethodHash=e8ec9149) for method System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
; ============================================================
+2 (+1.45%) : 6635.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
@@ -35,29 +35,30 @@ G_M50957_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
call [CORINFO_HELP_DBL2LNG]
mov dword ptr [ebp-0x0C], eax
mov dword ptr [ebp-0x08], edx
- mov ecx, dword ptr [ebp-0x0C]
+ mov eax, dword ptr [ebp-0x0C]
mov dword ptr [ebp-0x14], -1
- mov eax, dword ptr [ebp-0x14]
- sar eax, 31
- cmp ecx, dword ptr [ebp-0x14]
- mov ecx, dword ptr [ebp-0x08]
- sbb ecx, eax
+ mov edx, dword ptr [ebp-0x14]
+ sar edx, 31
+ cmp eax, dword ptr [ebp-0x14]
+ mov eax, dword ptr [ebp-0x08]
+ sbb eax, edx
jl SHORT G_M50957_IG03
mov dword ptr [ebp-0x18], 0xD1FFAB1E
- mov ecx, dword ptr [ebp-0x18]
mov eax, dword ptr [ebp-0x18]
- sar eax, 31
- cmp ecx, dword ptr [ebp-0x0C]
+ mov edx, dword ptr [ebp-0x18]
+ sar edx, 31
+ cmp eax, dword ptr [ebp-0x0C]
+ mov eax, edx
sbb eax, dword ptr [ebp-0x08]
jge SHORT G_M50957_IG04
- ;; size=87 bbWeight=1 PerfScore 30.75
+ ;; size=89 bbWeight=1 PerfScore 31.00
G_M50957_IG03: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
mov ecx, 62
call [<unknown method>]
;; size=11 bbWeight=1 PerfScore 3.25
G_M50957_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx
- mov gword ptr [ebp-0x10], ecx
+ xor eax, eax
+ mov gword ptr [ebp-0x10], eax
push gword ptr [ebp-0x10]
mov ecx, gword ptr [ebp-0x04]
; gcrRegs +[ecx]
@@ -71,6 +72,6 @@ G_M50957_IG05: ; bbWeight=1, epilog, nogc, extend
ret 8
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 138, prolog size 11, PerfScore 47.75, instruction count 41, allocated bytes for code 138 (MethodHash=74d838f2) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
+; Total bytes of code 140, prolog size 11, PerfScore 48.00, instruction count 42, allocated bytes for code 140 (MethodHash=74d838f2) for method System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
; ============================================================
+2 (+1.45%) : 108635.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -41,10 +41,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=00000000 {}, b
lea ecx, [ebp+0x10]
call [<unknown method>]
mov dword ptr [ebp-0x04], eax
- xor ecx, ecx
- mov dword ptr [ebp-0x08], ecx
- xor ecx, ecx
- mov dword ptr [ebp-0x0C], ecx
+ xor eax, eax
+ mov dword ptr [ebp-0x08], eax
+ xor eax, eax
+ mov dword ptr [ebp-0x0C], eax
jmp SHORT G_M16092_IG06
;; size=24 bbWeight=1 PerfScore 9.00
G_M16092_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
@@ -52,24 +52,27 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov edx, dword ptr [ebp-0x0C]
call [<unknown method>]
; byrRegs +[eax]
- movzx ecx, byte ptr [eax]
- mov dword ptr [ebp-0x14], ecx
+ movzx eax, byte ptr [eax]
+ ; byrRegs -[eax]
+ mov dword ptr [ebp-0x14], eax
lea ecx, [ebp+0x08]
mov edx, dword ptr [ebp-0x0C]
call [<unknown method>]
+ ; byrRegs +[eax]
movzx eax, byte ptr [eax]
; byrRegs -[eax]
mov edx, dword ptr [ebp-0x14]
sub edx, eax
- or edx, dword ptr [ebp-0x08]
- mov dword ptr [ebp-0x08], edx
+ mov eax, edx
+ or eax, dword ptr [ebp-0x08]
+ mov dword ptr [ebp-0x08], eax
mov eax, dword ptr [ebp-0x0C]
inc eax
mov dword ptr [ebp-0x0C], eax
- ;; size=51 bbWeight=1 PerfScore 20.50
+ ;; size=53 bbWeight=1 PerfScore 20.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x0C]
- cmp ecx, dword ptr [ebp-0x04]
+ mov eax, dword ptr [ebp-0x0C]
+ cmp eax, dword ptr [ebp-0x04]
jl SHORT G_M16092_IG05
xor eax, eax
cmp dword ptr [ebp-0x08], 0
@@ -81,6 +84,6 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend
ret 16
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 138, prolog size 6, PerfScore 55.00, instruction count 47, allocated bytes for code 138 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 140, prolog size 6, PerfScore 55.25, instruction count 48, allocated bytes for code 140 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================
libraries.pmi.windows.x86.checked.mch
+2 (+1.45%) : 282866.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan
1[ubyte],System.ReadOnlySpan
1[ubyte]):ubyte (MinOpts)@@ -39,10 +39,10 @@ G_M16092_IG04: ; bbWeight=1, gcVars=00000000 {}, gcrefRegs=00000000 {}, b
lea ecx, [ebp+0x10]
call [<unknown method>]
mov dword ptr [ebp-0x04], eax
- xor ecx, ecx
- mov dword ptr [ebp-0x08], ecx
- xor ecx, ecx
- mov dword ptr [ebp-0x0C], ecx
+ xor eax, eax
+ mov dword ptr [ebp-0x08], eax
+ xor eax, eax
+ mov dword ptr [ebp-0x0C], eax
jmp SHORT G_M16092_IG06
;; size=24 bbWeight=1 PerfScore 9.00
G_M16092_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
@@ -50,24 +50,27 @@ G_M16092_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov edx, dword ptr [ebp-0x0C]
call [<unknown method>]
; byrRegs +[eax]
- movzx ecx, byte ptr [eax]
- mov dword ptr [ebp-0x14], ecx
+ movzx eax, byte ptr [eax]
+ ; byrRegs -[eax]
+ mov dword ptr [ebp-0x14], eax
lea ecx, [ebp+0x08]
mov edx, dword ptr [ebp-0x0C]
call [<unknown method>]
+ ; byrRegs +[eax]
movzx eax, byte ptr [eax]
; byrRegs -[eax]
mov edx, dword ptr [ebp-0x14]
sub edx, eax
- or edx, dword ptr [ebp-0x08]
- mov dword ptr [ebp-0x08], edx
+ mov eax, edx
+ or eax, dword ptr [ebp-0x08]
+ mov dword ptr [ebp-0x08], eax
mov eax, dword ptr [ebp-0x0C]
inc eax
mov dword ptr [ebp-0x0C], eax
- ;; size=51 bbWeight=1 PerfScore 20.50
+ ;; size=53 bbWeight=1 PerfScore 20.75
G_M16092_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x0C]
- cmp ecx, dword ptr [ebp-0x04]
+ mov eax, dword ptr [ebp-0x0C]
+ cmp eax, dword ptr [ebp-0x04]
jl SHORT G_M16092_IG05
xor eax, eax
cmp dword ptr [ebp-0x08], 0
@@ -79,6 +82,6 @@ G_M16092_IG07: ; bbWeight=1, epilog, nogc, extend
ret 16
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 138, prolog size 6, PerfScore 55.00, instruction count 47, allocated bytes for code 138 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
+; Total bytes of code 140, prolog size 6, PerfScore 55.25, instruction count 48, allocated bytes for code 140 (MethodHash=2c6ec123) for method System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
; ============================================================
libraries_tests.run.windows.x86.Release.mch
-4 (-8.00%) : 322078.dasm - System.SpanHelpers:IndexOfAnyExceptValueTypeshort:int (Tier0)
@@ -21,26 +21,26 @@ G_M53704_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x08], edx
;; size=12 bbWeight=1 PerfScore 3.50
G_M53704_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x10]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x0C]
- movsx edx, dx
- push edx
+ mov eax, dword ptr [ebp+0x10]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x0C]
+ cwde
+ push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08]
- movsx edx, dx
+ mov eax, dword ptr [ebp-0x08]
+ movsx edx, ax
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
call [<unknown method>]
; byrRegs -[ecx]
- ;; size=32 bbWeight=1 PerfScore 10.75
+ ;; size=28 bbWeight=1 PerfScore 10.75
G_M53704_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret 12
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 50, prolog size 6, PerfScore 17.00, instruction count 19, allocated bytes for code 50 (MethodHash=c95d2e37) for method System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
+; Total bytes of code 46, prolog size 6, PerfScore 17.00, instruction count 19, allocated bytes for code 46 (MethodHash=c95d2e37) for method System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
; ============================================================
-4 (-8.00%) : 322094.dasm - System.SpanHelpers:LastIndexOfAnyExceptValueTypeshort:int (Tier0)
@@ -21,26 +21,26 @@ G_M34114_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x08], edx
;; size=12 bbWeight=1 PerfScore 3.50
G_M34114_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x10]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x0C]
- movsx edx, dx
- push edx
+ mov eax, dword ptr [ebp+0x10]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x0C]
+ cwde
+ push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08]
- movsx edx, dx
+ mov eax, dword ptr [ebp-0x08]
+ movsx edx, ax
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
call [<unknown method>]
; byrRegs -[ecx]
- ;; size=32 bbWeight=1 PerfScore 10.75
+ ;; size=28 bbWeight=1 PerfScore 10.75
G_M34114_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret 12
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 50, prolog size 6, PerfScore 17.00, instruction count 19, allocated bytes for code 50 (MethodHash=70db7abd) for method System.SpanHelpers:LastIndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
+; Total bytes of code 46, prolog size 6, PerfScore 17.00, instruction count 19, allocated bytes for code 46 (MethodHash=70db7abd) for method System.SpanHelpers:LastIndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
; ============================================================
-4 (-8.00%) : 584635.dasm - System.SpanHelpers:IndexOfAnyExceptValueTypeshort:int (Instrumented Tier0)
@@ -21,26 +21,26 @@ G_M53704_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x08], edx
;; size=12 bbWeight=1 PerfScore 3.50
G_M53704_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp+0x10]
- movsx edx, dx
- push edx
- mov edx, dword ptr [ebp+0x0C]
- movsx edx, dx
- push edx
+ mov eax, dword ptr [ebp+0x10]
+ cwde
+ push eax
+ mov eax, dword ptr [ebp+0x0C]
+ cwde
+ push eax
push dword ptr [ebp+0x08]
- mov edx, dword ptr [ebp-0x08]
- movsx edx, dx
+ mov eax, dword ptr [ebp-0x08]
+ movsx edx, ax
mov ecx, bword ptr [ebp-0x04]
; byrRegs +[ecx]
call [<unknown method>]
; byrRegs -[ecx]
- ;; size=32 bbWeight=1 PerfScore 10.75
+ ;; size=28 bbWeight=1 PerfScore 10.75
G_M53704_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret 12
;; size=6 bbWeight=1 PerfScore 2.75
-; Total bytes of code 50, prolog size 6, PerfScore 17.00, instruction count 19, allocated bytes for code 50 (MethodHash=c95d2e37) for method System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Instrumented Tier0)
+; Total bytes of code 46, prolog size 6, PerfScore 17.00, instruction count 19, allocated bytes for code 46 (MethodHash=c95d2e37) for method System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Instrumented Tier0)
; ============================================================
+8 (+24.24%) : 99908.dasm - System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Tier0)
@@ -8,30 +8,34 @@
; V00 arg0 [V00 ] ( 1, 1 ) int -> [ebp-0x04] do-not-enreg[]
; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x08] do-not-enreg[]
; V02 tmp0 [V02 ] ( 1, 1 ) int -> [ebp-0x0C] "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [ebp-0x10]
;
-; Lcl frame size = 12
+; Lcl frame size = 16
G_M43294_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push ebp
mov ebp, esp
- sub esp, 12
+ sub esp, 16
mov dword ptr [ebp-0x04], ecx
mov dword ptr [ebp-0x08], edx
;; size=12 bbWeight=1 PerfScore 3.50
G_M43294_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
mov eax, dword ptr [ebp-0x04]
mov dword ptr [ebp-0x0C], eax
- mov edx, dword ptr [ebp-0x0C]
- xor eax, eax
+ mov eax, dword ptr [ebp-0x0C]
+ mov dword ptr [ebp-0x10], eax
+ xor edx, edx
+ mov eax, edx
or eax, dword ptr [ebp-0x08]
+ mov edx, dword ptr [ebp-0x10]
or edx, 0
- ;; size=17 bbWeight=1 PerfScore 5.50
+ ;; size=25 bbWeight=1 PerfScore 7.75
G_M43294_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret
;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 33, prolog size 6, PerfScore 10.75, instruction count 14, allocated bytes for code 33 (MethodHash=cc6256e1) for method System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Tier0)
+; Total bytes of code 41, prolog size 6, PerfScore 13.00, instruction count 17, allocated bytes for code 41 (MethodHash=cc6256e1) for method System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Tier0)
; ============================================================
+8 (+24.24%) : 432568.dasm - System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Instrumented Tier0)
@@ -8,30 +8,34 @@
; V00 arg0 [V00 ] ( 1, 1 ) int -> [ebp-0x04] do-not-enreg[]
; V01 arg1 [V01 ] ( 1, 1 ) int -> [ebp-0x08] do-not-enreg[]
; V02 tmp0 [V02 ] ( 1, 1 ) int -> [ebp-0x0C] "ReplaceWithLclVar is creating a new local variable"
+; TEMP_01 int -> [ebp-0x10]
;
-; Lcl frame size = 12
+; Lcl frame size = 16
G_M43294_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push ebp
mov ebp, esp
- sub esp, 12
+ sub esp, 16
mov dword ptr [ebp-0x04], ecx
mov dword ptr [ebp-0x08], edx
;; size=12 bbWeight=1 PerfScore 3.50
G_M43294_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
mov eax, dword ptr [ebp-0x04]
mov dword ptr [ebp-0x0C], eax
- mov edx, dword ptr [ebp-0x0C]
- xor eax, eax
+ mov eax, dword ptr [ebp-0x0C]
+ mov dword ptr [ebp-0x10], eax
+ xor edx, edx
+ mov eax, edx
or eax, dword ptr [ebp-0x08]
+ mov edx, dword ptr [ebp-0x10]
or edx, 0
- ;; size=17 bbWeight=1 PerfScore 5.50
+ ;; size=25 bbWeight=1 PerfScore 7.75
G_M43294_IG03: ; bbWeight=1, epilog, nogc, extend
mov esp, ebp
pop ebp
ret
;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 33, prolog size 6, PerfScore 10.75, instruction count 14, allocated bytes for code 33 (MethodHash=cc6256e1) for method System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Instrumented Tier0)
+; Total bytes of code 41, prolog size 6, PerfScore 13.00, instruction count 17, allocated bytes for code 41 (MethodHash=cc6256e1) for method System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Instrumented Tier0)
; ============================================================
+13 (+31.71%) : 68507.dasm - Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
@@ -5,34 +5,40 @@
; partially interruptible
; Final local variable assignments
;
-; V00 this [V00 ] ( 1, 1 ) ref -> [ebp-0x08] do-not-enreg[] this class-hnd <Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions>
+; V00 this [V00 ] ( 1, 1 ) ref -> [ebp-0x04] do-not-enreg[] this class-hnd <Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions>
+; TEMP_01 ref -> [ebp-0x08]
;
-; Lcl frame size = 4
+; Lcl frame size = 8
G_M11670_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push ebp
mov ebp, esp
- push esi
- push eax
- mov gword ptr [ebp-0x08], ecx
- ;; size=8 bbWeight=1 PerfScore 4.25
+ sub esp, 8
+ xor eax, eax
+ mov dword ptr [ebp-0x08], eax
+ mov gword ptr [ebp-0x04], ecx
+ ;; size=14 bbWeight=1 PerfScore 3.75
G_M11670_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov esi, gword ptr [ebp-0x08]
- ; gcrRegs +[esi]
+ mov eax, gword ptr [ebp-0x04]
+ ; gcrRegs +[eax]
+ mov gword ptr [ebp-0x08], eax
mov ecx, 0xD1FFAB1E
mov edx, 38
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
- xor eax, eax
- cmp esi, gword ptr [D1FFAB1EH] ; static handle
+ ; gcrRegs -[eax]
+ mov eax, gword ptr [ebp-0x08]
+ ; gcrRegs +[eax]
+ cmp eax, gword ptr [D1FFAB1EH] ; static handle
sete al
- ;; size=29 bbWeight=1 PerfScore 6.75
+ ; gcrRegs -[eax]
+ movzx eax, al
+ ;; size=36 bbWeight=1 PerfScore 8.75
G_M11670_IG03: ; bbWeight=1, epilog, nogc, extend
- pop ecx
- pop esi
+ mov esp, ebp
pop ebp
ret
- ;; size=4 bbWeight=1 PerfScore 2.50
+ ;; size=4 bbWeight=1 PerfScore 1.75
-; Total bytes of code 41, prolog size 5, PerfScore 13.50, instruction count 16, allocated bytes for code 41 (MethodHash=a50fd269) for method Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
+; Total bytes of code 54, prolog size 11, PerfScore 14.25, instruction count 18, allocated bytes for code 54 (MethodHash=a50fd269) for method Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
; ============================================================
librariestestsnotieredcompilation.run.windows.x86.Release.mch
-20 (-2.14%) : 295752.dasm - System.Text.RegularExpressions.Generated.
@@ -66,13 +66,13 @@ G_M12287_IG03: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000
G_M12287_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
nop
nop
- mov ecx, gword ptr [ebp-0x0C]
- ; gcrRegs +[ecx]
- mov ecx, dword ptr [ecx+0x30]
- ; gcrRegs -[ecx]
- mov dword ptr [ebp-0x10], ecx
- mov ecx, dword ptr [ebp-0x10]
- mov dword ptr [ebp-0x14], ecx
+ mov eax, gword ptr [ebp-0x0C]
+ ; gcrRegs +[eax]
+ mov eax, dword ptr [eax+0x30]
+ ; gcrRegs -[eax]
+ mov dword ptr [ebp-0x10], eax
+ mov eax, dword ptr [ebp-0x10]
+ mov dword ptr [ebp-0x14], eax
push dword ptr [ebp-0x10]
lea ecx, [ebp+0x08]
lea edx, [ebp-0x2C]
@@ -94,252 +94,251 @@ G_M12287_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
call [<unknown method>]
; byrRegs +[eax]
mov bword ptr [ebp-0x38], eax
- mov ecx, bword ptr [ebp-0x38]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x38]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 1
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x3C], eax
- mov ecx, bword ptr [ebp-0x3C]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x3C]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 2
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x40], eax
- mov ecx, bword ptr [ebp-0x40]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x40]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 3
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x44], eax
- mov ecx, bword ptr [ebp-0x44]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x44]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 4
call [<unknown method>]
- ;; size=219 bbWeight=1 PerfScore 62.25
+ ; byrRegs +[eax]
+ ;; size=215 bbWeight=1 PerfScore 62.25
G_M12287_IG05: ; bbWeight=1, extend
mov bword ptr [ebp-0x48], eax
- mov ecx, bword ptr [ebp-0x48]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x48]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 5
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x4C], eax
- mov ecx, bword ptr [ebp-0x4C]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x4C]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 6
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x50], eax
- mov ecx, bword ptr [ebp-0x50]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x50]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 7
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x54], eax
- mov ecx, bword ptr [ebp-0x54]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x54]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 8
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x58], eax
- mov ecx, bword ptr [ebp-0x58]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x58]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 9
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x5C], eax
- mov ecx, bword ptr [ebp-0x5C]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x5C]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 10
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x60], eax
- mov ecx, bword ptr [ebp-0x60]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
- ;; size=237 bbWeight=1 PerfScore 59.25
+ mov eax, bword ptr [ebp-0x60]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
+ ;; size=230 bbWeight=1 PerfScore 59.25
G_M12287_IG06: ; bbWeight=1, isz, extend
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 11
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x64], eax
- mov ecx, bword ptr [ebp-0x64]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x64]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 12
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x68], eax
- mov ecx, bword ptr [ebp-0x68]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x68]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 13
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x6C], eax
- mov ecx, bword ptr [ebp-0x6C]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x6C]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
jne G_M12287_IG08
...
-20 (-2.03%) : 295755.dasm - System.Text.RegularExpressions.Generated.
@@ -68,13 +68,13 @@ G_M12287_IG03: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000
G_M12287_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
nop
nop
- mov ecx, gword ptr [ebp-0x0C]
- ; gcrRegs +[ecx]
- mov ecx, dword ptr [ecx+0x30]
- ; gcrRegs -[ecx]
- mov dword ptr [ebp-0x10], ecx
- mov ecx, dword ptr [ebp-0x10]
- mov dword ptr [ebp-0x14], ecx
+ mov eax, gword ptr [ebp-0x0C]
+ ; gcrRegs +[eax]
+ mov eax, dword ptr [eax+0x30]
+ ; gcrRegs -[eax]
+ mov dword ptr [ebp-0x10], eax
+ mov eax, dword ptr [ebp-0x10]
+ mov dword ptr [ebp-0x14], eax
push dword ptr [ebp-0x10]
lea ecx, [ebp+0x08]
lea edx, [ebp-0x2C]
@@ -96,264 +96,263 @@ G_M12287_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
call [<unknown method>]
; byrRegs +[eax]
mov bword ptr [ebp-0x38], eax
- mov ecx, bword ptr [ebp-0x38]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- add ecx, -97
- cmp ecx, 2
+ mov eax, bword ptr [ebp-0x38]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ add eax, -97
+ cmp eax, 2
ja G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 1
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x3C], eax
- mov ecx, bword ptr [ebp-0x3C]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x3C]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 2
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x40], eax
- mov ecx, bword ptr [ebp-0x40]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x40]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 3
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x44], eax
- mov ecx, bword ptr [ebp-0x44]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x44]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 4
- ;; size=216 bbWeight=1 PerfScore 59.75
+ ;; size=213 bbWeight=1 PerfScore 59.75
G_M12287_IG05: ; bbWeight=1, extend
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x48], eax
- mov ecx, bword ptr [ebp-0x48]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x48]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 5
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x4C], eax
- mov ecx, bword ptr [ebp-0x4C]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x4C]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 6
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x50], eax
- mov ecx, bword ptr [ebp-0x50]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x50]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 7
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x54], eax
- mov ecx, bword ptr [ebp-0x54]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x54]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 8
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x58], eax
- mov ecx, bword ptr [ebp-0x58]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x58]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 9
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x5C], eax
- mov ecx, bword ptr [ebp-0x5C]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x5C]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 10
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x60], eax
- mov ecx, bword ptr [ebp-0x60]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
- ;; size=240 bbWeight=1 PerfScore 62.00
+ mov eax, bword ptr [ebp-0x60]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
+ ;; size=233 bbWeight=1 PerfScore 62.00
G_M12287_IG06: ; bbWeight=1, extend
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 11
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x64], eax
- mov ecx, bword ptr [ebp-0x64]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x64]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ or eax, 32
+ cmp eax, 246
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 12
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x68], eax
- mov ecx, bword ptr [ebp-0x68]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- cmp ecx, 0x200D
+ mov eax, bword ptr [ebp-0x68]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ cmp eax, 0x200D
jne G_M12287_IG08
lea ecx, [ebp-0x1C]
mov edx, 13
call [<unknown method>]
+ ; byrRegs +[eax]
mov bword ptr [ebp-0x6C], eax
- mov ecx, bword ptr [ebp-0x6C]
- ; byrRegs +[ecx]
- movzx ecx, word ptr [ecx]
- ; byrRegs -[ecx]
- or ecx, 32
- cmp ecx, 246
+ mov eax, bword ptr [ebp-0x6C]
+ movzx eax, word ptr [eax]
...
-1 (-1.47%) : 12185.dasm - Microsoft.CodeAnalysis.Testing.Extensions.DiagnosticExtensions:IsSuppressed(Microsoft.CodeAnalysis.Diagnostic):ubyte (MinOpts)
@@ -30,21 +30,21 @@ G_M55000_IG03: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000
call CORINFO_HELP_DBG_IS_JUST_MY_CODE
;; size=5 bbWeight=0.50 PerfScore 0.50
G_M55000_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, gword ptr [D1FFAB1EH] ; static handle
- ; gcrRegs +[edx]
- mov gword ptr [ebp-0x10], edx
- mov ecx, gword ptr [ebp-0x10]
- ; gcrRegs +[ecx]
- mov edx, gword ptr [ebp-0x08]
- mov ecx, gword ptr [ecx+0x04]
- mov eax, gword ptr [ebp-0x10]
+ mov eax, gword ptr [D1FFAB1EH] ; static handle
; gcrRegs +[eax]
+ mov gword ptr [ebp-0x10], eax
+ mov eax, gword ptr [ebp-0x10]
+ mov edx, gword ptr [ebp-0x08]
+ ; gcrRegs +[edx]
+ mov ecx, gword ptr [eax+0x04]
+ ; gcrRegs +[ecx]
+ mov eax, gword ptr [ebp-0x10]
call [eax+0x0C]<unknown method>
; gcrRegs -[eax ecx edx]
mov dword ptr [ebp-0x0C], eax
mov eax, dword ptr [ebp-0x0C]
movzx eax, al
- ;; size=33 bbWeight=1 PerfScore 13.25
+ ;; size=32 bbWeight=1 PerfScore 13.25
G_M55000_IG05: ; bbWeight=1, epilog, nogc, extend
lea esp, [ebp-0x04]
pop edi
@@ -52,6 +52,6 @@ G_M55000_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=6 bbWeight=1 PerfScore 2.50
-; Total bytes of code 68, prolog size 15, PerfScore 25.00, instruction count 24, allocated bytes for code 68 (MethodHash=74502927) for method Microsoft.CodeAnalysis.Testing.Extensions.DiagnosticExtensions:IsSuppressed(Microsoft.CodeAnalysis.Diagnostic):ubyte (MinOpts)
+; Total bytes of code 67, prolog size 15, PerfScore 25.00, instruction count 24, allocated bytes for code 67 (MethodHash=74502927) for method Microsoft.CodeAnalysis.Testing.Extensions.DiagnosticExtensions:IsSuppressed(Microsoft.CodeAnalysis.Diagnostic):ubyte (MinOpts)
; ============================================================
+14 (+2.54%) : 301165.dasm - System.Text.RegularExpressions.Generated.
@@ -63,13 +63,13 @@ G_M38206_IG03: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000
G_M38206_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
nop
nop
- mov ecx, gword ptr [ebp-0x0C]
- ; gcrRegs +[ecx]
- mov ecx, dword ptr [ecx+0x30]
- ; gcrRegs -[ecx]
- mov dword ptr [ebp-0x10], ecx
- mov ecx, dword ptr [ebp-0x10]
- mov dword ptr [ebp-0x14], ecx
+ mov eax, gword ptr [ebp-0x0C]
+ ; gcrRegs +[eax]
+ mov eax, dword ptr [eax+0x30]
+ ; gcrRegs -[eax]
+ mov dword ptr [ebp-0x10], eax
+ mov eax, dword ptr [ebp-0x10]
+ mov dword ptr [ebp-0x14], eax
push dword ptr [ebp-0x10]
lea ecx, [ebp+0x08]
lea edx, [ebp-0x38]
@@ -91,14 +91,13 @@ G_M38206_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
call [<unknown method>]
; byrRegs +[eax]
mov bword ptr [ebp-0x6C], eax
- mov edx, bword ptr [ebp-0x6C]
- ; byrRegs +[edx]
- movzx edx, word ptr [edx]
- ; byrRegs -[edx]
- mov dword ptr [ebp-0x70], edx
- mov edx, dword ptr [ebp-0x70]
- movzx edx, dx
- mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x6C]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ mov dword ptr [ebp-0x70], eax
+ mov eax, dword ptr [ebp-0x70]
+ movzx eax, ax
+ mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x70], 128
jl SHORT G_M38206_IG05
mov edx, gword ptr [D1FFAB1EH] ; string handle
@@ -106,49 +105,50 @@ G_M38206_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov ecx, dword ptr [ebp-0x18]
call [<unknown method>]
; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x7C], eax
- xor edx, edx
+ xor eax, eax
cmp dword ptr [ebp-0x7C], 0
- sete dl
- mov dword ptr [ebp-0x78], edx
+ sete al
+ mov dword ptr [ebp-0x78], eax
jmp SHORT G_M38206_IG06
;; size=135 bbWeight=1 PerfScore 49.25
G_M38206_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov edx, eax
sar edx, 4
mov ecx, gword ptr [D1FFAB1EH] ; string handle
; gcrRegs +[ecx]
call [<unknown method>]
; gcrRegs -[ecx]
mov dword ptr [ebp-0x74], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov ecx, eax
and ecx, 15
mov eax, 1
shl eax, cl
and eax, dword ptr [ebp-0x74]
- xor ecx, ecx
test eax, eax
- sete cl
- mov dword ptr [ebp-0x78], ecx
- ;; size=47 bbWeight=1 PerfScore 15.50
+ sete al
+ movzx eax, al
+ mov dword ptr [ebp-0x78], eax
+ ;; size=52 bbWeight=1 PerfScore 16.00
G_M38206_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x78]
- mov dword ptr [ebp-0x40], ecx
+ mov eax, dword ptr [ebp-0x78]
+ mov dword ptr [ebp-0x40], eax
jmp SHORT G_M38206_IG08
;; size=8 bbWeight=1 PerfScore 4.00
G_M38206_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
mov dword ptr [ebp-0x40], 1
;; size=7 bbWeight=1 PerfScore 1.00
G_M38206_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x40]
- movzx ecx, cl
- mov dword ptr [ebp-0x24], ecx
+ mov eax, dword ptr [ebp-0x40]
+ movzx eax, al
+ mov dword ptr [ebp-0x24], eax
cmp dword ptr [ebp-0x24], 0
je SHORT G_M38206_IG09
nop
- xor ecx, ecx
- mov dword ptr [ebp-0x28], ecx
+ xor eax, eax
+ mov dword ptr [ebp-0x28], eax
nop
jmp G_M38206_IG16
;; size=27 bbWeight=1 PerfScore 9.00
@@ -160,33 +160,32 @@ G_M38206_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
;; size=11 bbWeight=1 PerfScore 3.50
G_M38206_IG10: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
nop
- mov ecx, dword ptr [ebp-0x2C]
- inc ecx
- mov dword ptr [ebp-0x2C], ecx
+ mov eax, dword ptr [ebp-0x2C]
+ inc eax
+ mov dword ptr [ebp-0x2C], eax
nop
;; size=9 bbWeight=1 PerfScore 2.75
G_M38206_IG11: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x2C]
- mov dword ptr [ebp-0x44], ecx
+ mov eax, dword ptr [ebp-0x2C]
+ mov dword ptr [ebp-0x44], eax
lea ecx, [ebp-0x20]
call [<unknown method>]
mov dword ptr [ebp-0x48], eax
- mov ecx, dword ptr [ebp-0x44]
- cmp ecx, dword ptr [ebp-0x48]
- jae SHORT G_M38206_IG14
+ mov eax, dword ptr [ebp-0x44]
+ cmp eax, dword ptr [ebp-0x48]
+ jae G_M38206_IG14
lea ecx, [ebp-0x20]
mov edx, dword ptr [ebp-0x2C]
call [<unknown method>]
; byrRegs +[eax]
mov bword ptr [ebp-0x58], eax
- mov edx, bword ptr [ebp-0x58]
- ; byrRegs +[edx]
- movzx edx, word ptr [edx]
- ; byrRegs -[edx]
- mov dword ptr [ebp-0x5C], edx
- mov edx, dword ptr [ebp-0x5C]
- movzx edx, dx
- mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x58]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ mov dword ptr [ebp-0x5C], eax
+ mov eax, dword ptr [ebp-0x5C]
+ movzx eax, ax
+ mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x5C], 128
jl SHORT G_M38206_IG12
mov edx, gword ptr [D1FFAB1EH] ; string handle
@@ -194,43 +193,44 @@ G_M38206_IG11: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov ecx, dword ptr [ebp-0x18]
call [<unknown method>]
; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x68], eax
- mov edx, dword ptr [ebp-0x68]
- mov dword ptr [ebp-0x64], edx
+ mov eax, dword ptr [ebp-0x68]
+ mov dword ptr [ebp-0x64], eax
jmp SHORT G_M38206_IG13
- ;; size=94 bbWeight=1 PerfScore 36.25
+ ;; size=98 bbWeight=1 PerfScore 36.25
G_M38206_IG12: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov edx, eax
sar edx, 4
mov ecx, gword ptr [D1FFAB1EH] ; string handle
; gcrRegs +[ecx]
call [<unknown method>]
; gcrRegs -[ecx]
mov dword ptr [ebp-0x60], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov ecx, eax
and ecx, 15
- mov edx, 1
- shl edx, cl
- and edx, dword ptr [ebp-0x60]
- xor ecx, ecx
- test edx, edx
- setne cl
- mov dword ptr [ebp-0x64], ecx
- ;; size=47 bbWeight=1 PerfScore 15.50
+ mov eax, 1
+ shl eax, cl
+ and eax, dword ptr [ebp-0x60]
+ test eax, eax
+ setne al
+ movzx eax, al
+ mov dword ptr [ebp-0x64], eax
+ ;; size=52 bbWeight=1 PerfScore 16.00
G_M38206_IG13: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x64]
- mov dword ptr [ebp-0x4C], ecx
+ mov eax, dword ptr [ebp-0x64]
+ mov dword ptr [ebp-0x4C], eax
jmp SHORT G_M38206_IG15
;; size=8 bbWeight=1 PerfScore 4.00
G_M38206_IG14: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx
- mov dword ptr [ebp-0x4C], ecx
+ xor eax, eax
+ mov dword ptr [ebp-0x4C], eax
;; size=5 bbWeight=1 PerfScore 1.25
G_M38206_IG15: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov ecx, dword ptr [ebp-0x4C]
- movzx ecx, cl
- mov dword ptr [ebp-0x30], ecx
+ mov eax, dword ptr [ebp-0x4C]
+ movzx eax, al
+ mov dword ptr [ebp-0x30], eax
cmp dword ptr [ebp-0x30], 0
jne G_M38206_IG10
push dword ptr [ebp-0x2C]
@@ -243,20 +243,21 @@ G_M38206_IG15: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
; byrRegs +[esi]
movsd
movsd
- mov ecx, dword ptr [ebp-0x10]
- add ecx, dword ptr [ebp-0x2C]
- mov dword ptr [ebp-0x10], ecx
+ mov eax, dword ptr [ebp-0x10]
+ add eax, dword ptr [ebp-0x2C]
+ mov dword ptr [ebp-0x10], eax
nop
- mov ecx, gword ptr [ebp-0x0C]
- ; gcrRegs +[ecx]
+ mov eax, gword ptr [ebp-0x0C]
+ ; gcrRegs +[eax]
mov edx, dword ptr [ebp-0x10]
- mov dword ptr [ecx+0x30], edx
+ mov dword ptr [eax+0x30], edx
push dword ptr [ebp-0x14]
push dword ptr [ebp-0x10]
mov ecx, gword ptr [ebp-0x0C]
+ ; gcrRegs +[ecx]
xor edx, edx
call [<unknown method>]
...
+14 (+2.54%) : 281690.dasm - System.Text.RegularExpressions.Generated.
@@ -63,13 +63,13 @@ G_M36535_IG03: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000
G_M36535_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
nop
nop
- mov ecx, gword ptr [ebp-0x0C]
- ; gcrRegs +[ecx]
- mov ecx, dword ptr [ecx+0x30]
- ; gcrRegs -[ecx]
- mov dword ptr [ebp-0x10], ecx
- mov ecx, dword ptr [ebp-0x10]
- mov dword ptr [ebp-0x14], ecx
+ mov eax, gword ptr [ebp-0x0C]
+ ; gcrRegs +[eax]
+ mov eax, dword ptr [eax+0x30]
+ ; gcrRegs -[eax]
+ mov dword ptr [ebp-0x10], eax
+ mov eax, dword ptr [ebp-0x10]
+ mov dword ptr [ebp-0x14], eax
push dword ptr [ebp-0x10]
lea ecx, [ebp+0x08]
lea edx, [ebp-0x38]
@@ -91,14 +91,13 @@ G_M36535_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
call [<unknown method>]
; byrRegs +[eax]
mov bword ptr [ebp-0x6C], eax
- mov edx, bword ptr [ebp-0x6C]
- ; byrRegs +[edx]
- movzx edx, word ptr [edx]
- ; byrRegs -[edx]
- mov dword ptr [ebp-0x70], edx
- mov edx, dword ptr [ebp-0x70]
- movzx edx, dx
- mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x6C]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ mov dword ptr [ebp-0x70], eax
+ mov eax, dword ptr [ebp-0x70]
+ movzx eax, ax
+ mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x70], 128
jl SHORT G_M36535_IG05
mov edx, gword ptr [D1FFAB1EH] ; string handle
@@ -106,49 +105,50 @@ G_M36535_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov ecx, dword ptr [ebp-0x18]
call [<unknown method>]
; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x7C], eax
- xor edx, edx
+ xor eax, eax
cmp dword ptr [ebp-0x7C], 0
- sete dl
- mov dword ptr [ebp-0x78], edx
+ sete al
+ mov dword ptr [ebp-0x78], eax
jmp SHORT G_M36535_IG06
;; size=135 bbWeight=1 PerfScore 49.25
G_M36535_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov edx, eax
sar edx, 4
mov ecx, gword ptr [D1FFAB1EH] ; string handle
; gcrRegs +[ecx]
call [<unknown method>]
; gcrRegs -[ecx]
mov dword ptr [ebp-0x74], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov ecx, eax
and ecx, 15
mov eax, 1
shl eax, cl
and eax, dword ptr [ebp-0x74]
- xor ecx, ecx
test eax, eax
- sete cl
- mov dword ptr [ebp-0x78], ecx
- ;; size=47 bbWeight=1 PerfScore 15.50
+ sete al
+ movzx eax, al
+ mov dword ptr [ebp-0x78], eax
+ ;; size=52 bbWeight=1 PerfScore 16.00
G_M36535_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x78]
- mov dword ptr [ebp-0x40], ecx
+ mov eax, dword ptr [ebp-0x78]
+ mov dword ptr [ebp-0x40], eax
jmp SHORT G_M36535_IG08
;; size=8 bbWeight=1 PerfScore 4.00
G_M36535_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
mov dword ptr [ebp-0x40], 1
;; size=7 bbWeight=1 PerfScore 1.00
G_M36535_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x40]
- movzx ecx, cl
- mov dword ptr [ebp-0x24], ecx
+ mov eax, dword ptr [ebp-0x40]
+ movzx eax, al
+ mov dword ptr [ebp-0x24], eax
cmp dword ptr [ebp-0x24], 0
je SHORT G_M36535_IG09
nop
- xor ecx, ecx
- mov dword ptr [ebp-0x28], ecx
+ xor eax, eax
+ mov dword ptr [ebp-0x28], eax
nop
jmp G_M36535_IG16
;; size=27 bbWeight=1 PerfScore 9.00
@@ -160,33 +160,32 @@ G_M36535_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
;; size=11 bbWeight=1 PerfScore 3.50
G_M36535_IG10: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
nop
- mov ecx, dword ptr [ebp-0x2C]
- inc ecx
- mov dword ptr [ebp-0x2C], ecx
+ mov eax, dword ptr [ebp-0x2C]
+ inc eax
+ mov dword ptr [ebp-0x2C], eax
nop
;; size=9 bbWeight=1 PerfScore 2.75
G_M36535_IG11: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x2C]
- mov dword ptr [ebp-0x44], ecx
+ mov eax, dword ptr [ebp-0x2C]
+ mov dword ptr [ebp-0x44], eax
lea ecx, [ebp-0x20]
call [<unknown method>]
mov dword ptr [ebp-0x48], eax
- mov ecx, dword ptr [ebp-0x44]
- cmp ecx, dword ptr [ebp-0x48]
- jae SHORT G_M36535_IG14
+ mov eax, dword ptr [ebp-0x44]
+ cmp eax, dword ptr [ebp-0x48]
+ jae G_M36535_IG14
lea ecx, [ebp-0x20]
mov edx, dword ptr [ebp-0x2C]
call [<unknown method>]
; byrRegs +[eax]
mov bword ptr [ebp-0x58], eax
- mov edx, bword ptr [ebp-0x58]
- ; byrRegs +[edx]
- movzx edx, word ptr [edx]
- ; byrRegs -[edx]
- mov dword ptr [ebp-0x5C], edx
- mov edx, dword ptr [ebp-0x5C]
- movzx edx, dx
- mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x58]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ mov dword ptr [ebp-0x5C], eax
+ mov eax, dword ptr [ebp-0x5C]
+ movzx eax, ax
+ mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x5C], 128
jl SHORT G_M36535_IG12
mov edx, gword ptr [D1FFAB1EH] ; string handle
@@ -194,43 +193,44 @@ G_M36535_IG11: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov ecx, dword ptr [ebp-0x18]
call [<unknown method>]
; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x68], eax
- mov edx, dword ptr [ebp-0x68]
- mov dword ptr [ebp-0x64], edx
+ mov eax, dword ptr [ebp-0x68]
+ mov dword ptr [ebp-0x64], eax
jmp SHORT G_M36535_IG13
- ;; size=94 bbWeight=1 PerfScore 36.25
+ ;; size=98 bbWeight=1 PerfScore 36.25
G_M36535_IG12: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov edx, eax
sar edx, 4
mov ecx, gword ptr [D1FFAB1EH] ; string handle
; gcrRegs +[ecx]
call [<unknown method>]
; gcrRegs -[ecx]
mov dword ptr [ebp-0x60], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov ecx, eax
and ecx, 15
- mov edx, 1
- shl edx, cl
- and edx, dword ptr [ebp-0x60]
- xor ecx, ecx
- test edx, edx
- setne cl
- mov dword ptr [ebp-0x64], ecx
- ;; size=47 bbWeight=1 PerfScore 15.50
+ mov eax, 1
+ shl eax, cl
+ and eax, dword ptr [ebp-0x60]
+ test eax, eax
+ setne al
+ movzx eax, al
+ mov dword ptr [ebp-0x64], eax
+ ;; size=52 bbWeight=1 PerfScore 16.00
G_M36535_IG13: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x64]
- mov dword ptr [ebp-0x4C], ecx
+ mov eax, dword ptr [ebp-0x64]
+ mov dword ptr [ebp-0x4C], eax
jmp SHORT G_M36535_IG15
;; size=8 bbWeight=1 PerfScore 4.00
G_M36535_IG14: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx
- mov dword ptr [ebp-0x4C], ecx
+ xor eax, eax
+ mov dword ptr [ebp-0x4C], eax
;; size=5 bbWeight=1 PerfScore 1.25
G_M36535_IG15: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov ecx, dword ptr [ebp-0x4C]
- movzx ecx, cl
- mov dword ptr [ebp-0x30], ecx
+ mov eax, dword ptr [ebp-0x4C]
+ movzx eax, al
+ mov dword ptr [ebp-0x30], eax
cmp dword ptr [ebp-0x30], 0
jne G_M36535_IG10
push dword ptr [ebp-0x2C]
@@ -243,20 +243,21 @@ G_M36535_IG15: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
; byrRegs +[esi]
movsd
movsd
- mov ecx, dword ptr [ebp-0x10]
- add ecx, dword ptr [ebp-0x2C]
- mov dword ptr [ebp-0x10], ecx
+ mov eax, dword ptr [ebp-0x10]
+ add eax, dword ptr [ebp-0x2C]
+ mov dword ptr [ebp-0x10], eax
nop
- mov ecx, gword ptr [ebp-0x0C]
- ; gcrRegs +[ecx]
+ mov eax, gword ptr [ebp-0x0C]
+ ; gcrRegs +[eax]
mov edx, dword ptr [ebp-0x10]
- mov dword ptr [ecx+0x30], edx
+ mov dword ptr [eax+0x30], edx
push dword ptr [ebp-0x14]
push dword ptr [ebp-0x10]
mov ecx, gword ptr [ebp-0x0C]
+ ; gcrRegs +[ecx]
xor edx, edx
call [<unknown method>]
...
+20 (+2.57%) : 300110.dasm - System.Text.RegularExpressions.Generated.
@@ -65,13 +65,13 @@ G_M7149_IG03: ; bbWeight=0.50, gcrefRegs=00000000 {}, byrefRegs=00000000
G_M7149_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
nop
nop
- mov ecx, gword ptr [ebp-0x0C]
- ; gcrRegs +[ecx]
- mov ecx, dword ptr [ecx+0x30]
- ; gcrRegs -[ecx]
- mov dword ptr [ebp-0x10], ecx
- mov ecx, dword ptr [ebp-0x10]
- mov dword ptr [ebp-0x14], ecx
+ mov eax, gword ptr [ebp-0x0C]
+ ; gcrRegs +[eax]
+ mov eax, dword ptr [eax+0x30]
+ ; gcrRegs -[eax]
+ mov dword ptr [ebp-0x10], eax
+ mov eax, dword ptr [ebp-0x10]
+ mov dword ptr [ebp-0x14], eax
push dword ptr [ebp-0x10]
lea ecx, [ebp+0x08]
lea edx, [ebp-0x34]
@@ -82,15 +82,15 @@ G_M7149_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {},
; byrRegs +[esi]
movsd
movsd
- xor ecx, ecx
+ xor eax, eax
cmp dword ptr [ebp-0x10], 0
- setne cl
- mov dword ptr [ebp-0x24], ecx
+ setne al
+ mov dword ptr [ebp-0x24], eax
cmp dword ptr [ebp-0x24], 0
je SHORT G_M7149_IG05
nop
- xor ecx, ecx
- mov dword ptr [ebp-0x28], ecx
+ xor eax, eax
+ mov dword ptr [ebp-0x28], eax
nop
jmp G_M7149_IG17
;; size=70 bbWeight=1 PerfScore 25.50
@@ -107,14 +107,13 @@ G_M7149_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {},
call [<unknown method>]
; byrRegs +[eax]
mov bword ptr [ebp-0x40], eax
- mov edx, bword ptr [ebp-0x40]
- ; byrRegs +[edx]
- movzx edx, word ptr [edx]
- ; byrRegs -[edx]
- mov dword ptr [ebp-0x44], edx
- mov edx, dword ptr [ebp-0x44]
- movzx edx, dx
- mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x40]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ mov dword ptr [ebp-0x44], eax
+ mov eax, dword ptr [ebp-0x44]
+ movzx eax, ax
+ mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x44], 128
jl SHORT G_M7149_IG06
mov edx, gword ptr [D1FFAB1EH] ; string handle
@@ -122,32 +121,33 @@ G_M7149_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {},
mov ecx, dword ptr [ebp-0x18]
call [<unknown method>]
; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x8C], eax
- xor edx, edx
+ xor eax, eax
cmp dword ptr [ebp-0x8C], 0
- sete dl
- mov dword ptr [ebp-0x4C], edx
+ sete al
+ mov dword ptr [ebp-0x4C], eax
jmp SHORT G_M7149_IG07
;; size=102 bbWeight=1 PerfScore 35.00
G_M7149_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov edx, eax
sar edx, 4
mov ecx, gword ptr [D1FFAB1EH] ; string handle
; gcrRegs +[ecx]
call [<unknown method>]
; gcrRegs -[ecx]
mov dword ptr [ebp-0x48], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov ecx, eax
and ecx, 15
- mov edx, 1
- shl edx, cl
- and edx, dword ptr [ebp-0x48]
- xor ecx, ecx
- test edx, edx
- sete cl
- mov dword ptr [ebp-0x4C], ecx
- ;; size=47 bbWeight=1 PerfScore 15.50
+ mov eax, 1
+ shl eax, cl
+ and eax, dword ptr [ebp-0x48]
+ test eax, eax
+ sete al
+ movzx eax, al
+ mov dword ptr [ebp-0x4C], eax
+ ;; size=52 bbWeight=1 PerfScore 16.00
G_M7149_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
cmp dword ptr [ebp-0x4C], 0
jne G_M7149_IG14
@@ -156,14 +156,13 @@ G_M7149_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {},
call [<unknown method>]
; byrRegs +[eax]
mov bword ptr [ebp-0x50], eax
- mov edx, bword ptr [ebp-0x50]
- ; byrRegs +[edx]
- movzx edx, word ptr [edx]
- ; byrRegs -[edx]
- mov dword ptr [ebp-0x54], edx
- mov edx, dword ptr [ebp-0x54]
- movzx edx, dx
- mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x50]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ mov dword ptr [ebp-0x54], eax
+ mov eax, dword ptr [ebp-0x54]
+ movzx eax, ax
+ mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x54], 128
jl SHORT G_M7149_IG08
mov edx, gword ptr [D1FFAB1EH] ; string handle
@@ -171,32 +170,33 @@ G_M7149_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {},
mov ecx, dword ptr [ebp-0x18]
call [<unknown method>]
; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x88], eax
- xor edx, edx
+ xor eax, eax
cmp dword ptr [ebp-0x88], 0
- sete dl
- mov dword ptr [ebp-0x5C], edx
+ sete al
+ mov dword ptr [ebp-0x5C], eax
jmp SHORT G_M7149_IG09
;; size=92 bbWeight=1 PerfScore 30.25
G_M7149_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov edx, eax
sar edx, 4
mov ecx, gword ptr [D1FFAB1EH] ; string handle
; gcrRegs +[ecx]
call [<unknown method>]
; gcrRegs -[ecx]
mov dword ptr [ebp-0x58], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov ecx, eax
and ecx, 15
- mov edx, 1
- shl edx, cl
- and edx, dword ptr [ebp-0x58]
- xor ecx, ecx
- test edx, edx
- sete cl
- mov dword ptr [ebp-0x5C], ecx
- ;; size=47 bbWeight=1 PerfScore 15.50
+ mov eax, 1
+ shl eax, cl
+ and eax, dword ptr [ebp-0x58]
+ test eax, eax
+ sete al
+ movzx eax, al
+ mov dword ptr [ebp-0x5C], eax
+ ;; size=52 bbWeight=1 PerfScore 16.00
G_M7149_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
cmp dword ptr [ebp-0x5C], 0
jne G_M7149_IG14
@@ -205,14 +205,13 @@ G_M7149_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {},
call [<unknown method>]
; byrRegs +[eax]
mov bword ptr [ebp-0x60], eax
- mov edx, bword ptr [ebp-0x60]
- ; byrRegs +[edx]
- movzx edx, word ptr [edx]
- ; byrRegs -[edx]
- mov dword ptr [ebp-0x64], edx
- mov edx, dword ptr [ebp-0x64]
- movzx edx, dx
- mov dword ptr [ebp-0x18], edx
+ mov eax, bword ptr [ebp-0x60]
+ movzx eax, word ptr [eax]
+ ; byrRegs -[eax]
+ mov dword ptr [ebp-0x64], eax
+ mov eax, dword ptr [ebp-0x64]
+ movzx eax, ax
+ mov dword ptr [ebp-0x18], eax
cmp dword ptr [ebp-0x64], 128
jl SHORT G_M7149_IG10
mov edx, gword ptr [D1FFAB1EH] ; string handle
@@ -220,32 +219,33 @@ G_M7149_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {},
mov ecx, dword ptr [ebp-0x18]
call [<unknown method>]
; gcrRegs -[edx]
- ; byrRegs -[eax]
mov dword ptr [ebp-0x84], eax
- xor edx, edx
+ xor eax, eax
cmp dword ptr [ebp-0x84], 0
- sete dl
- mov dword ptr [ebp-0x6C], edx
+ sete al
+ mov dword ptr [ebp-0x6C], eax
jmp SHORT G_M7149_IG11
;; size=92 bbWeight=1 PerfScore 30.25
G_M7149_IG10: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov edx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov edx, eax
sar edx, 4
mov ecx, gword ptr [D1FFAB1EH] ; string handle
; gcrRegs +[ecx]
call [<unknown method>]
; gcrRegs -[ecx]
mov dword ptr [ebp-0x68], eax
- mov ecx, dword ptr [ebp-0x18]
+ mov eax, dword ptr [ebp-0x18]
+ mov ecx, eax
and ecx, 15
- mov edx, 1
- shl edx, cl
- and edx, dword ptr [ebp-0x68]
- xor ecx, ecx
- test edx, edx
- sete cl
- mov dword ptr [ebp-0x6C], ecx
- ;; size=47 bbWeight=1 PerfScore 15.50
+ mov eax, 1
+ shl eax, cl
+ and eax, dword ptr [ebp-0x68]
+ test eax, eax
+ sete al
+ movzx eax, al
+ mov dword ptr [ebp-0x6C], eax
+ ;; size=52 bbWeight=1 PerfScore 16.00
G_M7149_IG11: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
...
realworld.run.windows.x86.checked.mch
+0 (0.00%) : 15498.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
@@ -20,8 +20,8 @@ G_M3757_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {},
mov gword ptr [ebp-0x04], ecx
;; size=14 bbWeight=1 PerfScore 3.75
G_M3757_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx
- mov gword ptr [ebp-0x0C], ecx
+ xor eax, eax
+ mov gword ptr [ebp-0x0C], eax
push gword ptr [ebp-0x0C]
mov ecx, gword ptr [ebp-0x04]
; gcrRegs +[ecx]
+0 (0.00%) : 34768.dasm - System.Management.Automation.PowerShellAssemblyLoadContext:InitializeTypeCatalog():System.Collections.Generic.Dictionary`2System.String,System.String
@@ -31,16 +31,17 @@ G_M20070_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov edx, 0x1B6B
call [<unknown method>]
; gcrRegs -[eax ecx]
- mov ecx, gword ptr [ebp-0x08]
- ; gcrRegs +[ecx]
- mov gword ptr [ebp-0x04], ecx
+ mov eax, gword ptr [ebp-0x08]
+ ; gcrRegs +[eax]
+ mov gword ptr [ebp-0x04], eax
push 0xD1FFAB1E
mov ecx, gword ptr [ebp-0x04]
+ ; gcrRegs +[ecx]
mov edx, 0xD1FFAB1E
; gcrRegs +[edx]
cmp dword ptr [ecx], ecx
call [<unknown method>]
- ; gcrRegs -[ecx edx]
+ ; gcrRegs -[eax ecx edx]
push 0xD1FFAB1E
mov ecx, gword ptr [ebp-0x04]
; gcrRegs +[ecx]
+14 (+0.01%) : 4500.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
@@ -2231,12 +2231,12 @@ G_M23076_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x08], edx
;; size=77 bbWeight=1 PerfScore 18.83
G_M23076_IG02: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- mov ecx, gword ptr [ebp-0x04]
- ; gcrRegs +[ecx]
- mov gword ptr [ebp-0x1AC], ecx
+ mov eax, gword ptr [ebp-0x04]
+ ; gcrRegs +[eax]
+ mov gword ptr [ebp-0x1AC], eax
;; size=9 bbWeight=1 PerfScore 2.00
G_M23076_IG03: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- ; gcrRegs -[ecx]
+ ; gcrRegs -[eax]
mov ecx, gword ptr [ebp-0x1AC]
; gcrRegs +[ecx]
cmp dword ptr [ecx], ecx
@@ -2262,38 +2262,39 @@ G_M23076_IG04: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
cmp dword ptr [ecx], ecx
call [<unknown method>]
; gcrRegs -[ecx]
- mov ecx, gword ptr [ebp-0x0C]
- ; gcrRegs +[ecx]
- mov ecx, gword ptr [ecx+0x04]
- mov gword ptr [ebp-0x24], ecx
- mov ecx, gword ptr [ebp-0x0C]
- vmovdqu ymm0, ymmword ptr [ecx+0x08]
+ mov eax, gword ptr [ebp-0x0C]
+ ; gcrRegs +[eax]
+ mov eax, gword ptr [eax+0x04]
+ mov gword ptr [ebp-0x24], eax
+ mov eax, gword ptr [ebp-0x0C]
+ vmovdqu ymm0, ymmword ptr [eax+0x08]
vmovdqu ymmword ptr [ebp-0x50], ymm0
- vmovdqu xmm0, xmmword ptr [ecx+0x24]
+ vmovdqu xmm0, xmmword ptr [eax+0x24]
vmovdqu xmmword ptr [ebp-0x34], xmm0
- mov ecx, dword ptr [ebp-0x14]
- ; gcrRegs -[ecx]
- sub ecx, dword ptr [ebp-0x10]
- mov dword ptr [ebp-0x54], ecx
- mov ecx, gword ptr [ebp-0x1AC]
- ; gcrRegs +[ecx]
- mov gword ptr [ebp-0x58], ecx
+ mov eax, dword ptr [ebp-0x14]
+ ; gcrRegs -[eax]
+ sub eax, dword ptr [ebp-0x10]
+ mov dword ptr [ebp-0x54], eax
+ mov eax, gword ptr [ebp-0x1AC]
+ ; gcrRegs +[eax]
+ mov gword ptr [ebp-0x58], eax
mov ecx, gword ptr [ebp-0x24]
+ ; gcrRegs +[ecx]
call [<unknown method>]
- ; gcrRegs -[ecx]
+ ; gcrRegs -[eax ecx]
cmp eax, 67
jne SHORT G_M23076_IG05
mov dword ptr [ebp-0x1B0], 1
jmp SHORT G_M23076_IG06
;; size=96 bbWeight=1 PerfScore 38.75
G_M23076_IG05: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- xor ecx, ecx
- mov dword ptr [ebp-0x1B0], ecx
+ xor eax, eax
+ mov dword ptr [ebp-0x1B0], eax
;; size=8 bbWeight=1 PerfScore 1.25
G_M23076_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x1B0]
- movzx ecx, cl
- mov dword ptr [ebp-0x5C], ecx
+ mov eax, dword ptr [ebp-0x1B0]
+ movzx eax, al
+ mov dword ptr [ebp-0x5C], eax
mov ecx, gword ptr [ebp-0x24]
; gcrRegs +[ecx]
call [<unknown method>]
@@ -2306,44 +2307,43 @@ G_M23076_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
call [CORINFO_HELP_CHKCASTCLASS]
; gcrRegs -[edx] +[eax]
mov gword ptr [ebp-0x64], eax
- mov ecx, gword ptr [ebp-0x64]
+ mov eax, gword ptr [ebp-0x64]
+ mov ecx, gword ptr [eax+0x08]
; gcrRegs +[ecx]
- mov ecx, gword ptr [ecx+0x08]
call [<unknown method>]
; gcrRegs -[ecx]
mov gword ptr [ebp-0x68], eax
cmp gword ptr [ebp-0x68], 0
je SHORT G_M23076_IG07
- mov ecx, gword ptr [ebp-0x1AC]
- ; gcrRegs +[ecx]
- movzx ecx, byte ptr [ecx+0x24]
- ; gcrRegs -[ecx]
- mov dword ptr [ebp-0x1B4], ecx
+ mov eax, gword ptr [ebp-0x1AC]
+ movzx eax, byte ptr [eax+0x24]
+ ; gcrRegs -[eax]
+ mov dword ptr [ebp-0x1B4], eax
jmp SHORT G_M23076_IG08
;; size=82 bbWeight=1 PerfScore 28.75
G_M23076_IG07: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- ; gcrRegs -[eax]
- xor ecx, ecx
- mov dword ptr [ebp-0x1B4], ecx
+ xor eax, eax
+ mov dword ptr [ebp-0x1B4], eax
;; size=8 bbWeight=1 PerfScore 1.25
G_M23076_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, isz
- mov ecx, dword ptr [ebp-0x1B4]
- movzx ecx, cl
- mov dword ptr [ebp-0x60], ecx
+ mov eax, dword ptr [ebp-0x1B4]
+ movzx eax, al
+ mov dword ptr [ebp-0x60], eax
+ mov eax, gword ptr [ebp-0x1AC]
+ ; gcrRegs +[eax]
+ mov eax, gword ptr [eax+0x18]
+ mov gword ptr [ebp-0x6C], eax
+ mov eax, gword ptr [ebp-0x1AC]
+ cmp dword ptr [eax+0x1C], 0
+ jg G_M23076_IG25
+ mov eax, gword ptr [ebp-0x1AC]
+ push gword ptr [eax+0x18]
mov ecx, gword ptr [ebp-0x1AC]
; gcrRegs +[ecx]
- mov ecx, gword ptr [ecx+0x18]
- mov gword ptr [ebp-0x6C], ecx
- mov ecx, gword ptr [ebp-0x1AC]
- cmp dword ptr [ecx+0x1C], 0
- jg G_M23076_IG25
- mov ecx, gword ptr [ebp-0x1AC]
- push gword ptr [ecx+0x18]
- mov ecx, gword ptr [ebp-0x1AC]
mov edx, gword ptr [ebp-0x24]
; gcrRegs +[edx]
call [<unknown method>]
- ; gcrRegs -[ecx edx]
+ ; gcrRegs -[eax ecx edx]
test eax, eax
jne G_M23076_IG26
mov ecx, gword ptr [ebp-0x24]
@@ -2353,12 +2353,12 @@ G_M23076_IG08: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov dword ptr [ebp-0x27F4], eax
cmp dword ptr [ebp-0x27F4], 201
ja SHORT G_M23076_IG09
- mov ecx, dword ptr [ebp-0x27F4]
- lea eax, [@RWD00]
- mov eax, dword ptr [eax+4*ecx]
- lea edx, G_M23076_IG02
- add eax, edx
- jmp eax
+ mov eax, dword ptr [ebp-0x27F4]
+ lea edx, [@RWD00]
+ mov edx, dword ptr [edx+4*eax]
+ lea ecx, G_M23076_IG02
+ add edx, ecx
+ jmp edx
;; size=124 bbWeight=1 PerfScore 35.25
G_M23076_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
mov ecx, gword ptr [ebp-0x24]
@@ -2374,10 +2374,10 @@ G_M23076_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
; gcrRegs -[ecx]
test eax, eax
je G_M23076_IG40
- mov ecx, gword ptr [ebp-0x6C]
- ; gcrRegs +[ecx]
- mov gword ptr [ebp-0x70], ecx
+ mov eax, gword ptr [ebp-0x6C]
+ mov gword ptr [ebp-0x70], eax
mov ecx, gword ptr [ebp-0x70]
+ ; gcrRegs +[ecx]
call [<unknown method>]
; gcrRegs -[ecx]
mov ecx, eax
@@ -2397,9 +2397,9 @@ G_M23076_IG09: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
call [CORINFO_HELP_CHKCASTCLASS]
; gcrRegs -[edx]
mov gword ptr [ebp-0x74], eax
- mov ecx, gword ptr [ebp-0x74]
+ mov eax, gword ptr [ebp-0x74]
+ mov ecx, gword ptr [eax+0x08]
; gcrRegs +[ecx]
- mov ecx, gword ptr [ecx+0x08]
mov edx, gword ptr [ebp-0x24]
; gcrRegs +[edx]
call [<unknown method>]
@@ -2415,10 +2415,10 @@ G_M23076_IG10: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
; gcrRegs -[ecx] +[eax]
test eax, eax
je G_M23076_IG28
- mov ecx, gword ptr [ebp-0x6C]
- ; gcrRegs +[ecx]
- mov gword ptr [ebp-0x70], ecx
+ mov eax, gword ptr [ebp-0x6C]
+ mov gword ptr [ebp-0x70], eax
mov ecx, gword ptr [ebp-0x70]
+ ; gcrRegs +[ecx]
call [<unknown method>]
; gcrRegs -[ecx]
mov ecx, eax
@@ -2445,35 +2445,35 @@ G_M23076_IG10: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
mov gword ptr [ebp-0x68], eax
cmp gword ptr [ebp-0x68], 0
je G_M23076_IG40
- mov ecx, gword ptr [ebp-0x74]
+ mov eax, gword ptr [ebp-0x74]
+ mov ecx, gword ptr [eax+0x08]
; gcrRegs +[ecx]
- mov ecx, gword ptr [ecx+0x08]
mov edx, gword ptr [ebp-0x24]
; gcrRegs +[edx]
call [<unknown method>]
; gcrRegs -[eax ecx edx]
test eax, eax
je G_M23076_IG40
- mov ecx, gword ptr [ebp-0x74]
- ; gcrRegs +[ecx]
- mov ecx, gword ptr [ecx+0x08]
- mov gword ptr [ebp-0x7C], ecx
- mov ecx, gword ptr [ebp-0x24]
- mov gword ptr [ebp-0x78], ecx
+ mov eax, gword ptr [ebp-0x74]
+ ; gcrRegs +[eax]
+ mov eax, gword ptr [eax+0x08]
+ mov gword ptr [ebp-0x7C], eax
+ mov eax, gword ptr [ebp-0x24]
+ mov gword ptr [ebp-0x78], eax
jmp G_M23076_IG37
;; size=149 bbWeight=1 PerfScore 50.25
G_M23076_IG11: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
- ; gcrRegs -[ecx]
+ ; gcrRegs -[eax]
mov ecx, gword ptr [ebp-0x6C]
; gcrRegs +[ecx]
call [<unknown method>]
; gcrRegs -[ecx] +[eax]
test eax, eax
je G_M23076_IG29
- mov ecx, gword ptr [ebp-0x6C]
- ; gcrRegs +[ecx]
- mov gword ptr [ebp-0x70], ecx
+ mov eax, gword ptr [ebp-0x6C]
+ mov gword ptr [ebp-0x70], eax
mov ecx, gword ptr [ebp-0x70]
+ ; gcrRegs +[ecx]
call [<unknown method>]
; gcrRegs -[ecx]
mov ecx, eax
...
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
To reproduce these diffs on Windows x86:
Details
Improvements/regressions per collection
Collection
Contexts with diffs
Improvements
Regressions
Same size
Improvements (bytes)
Regressions (bytes)
benchmarks.run.windows.x86.checked.mch
3
0
1
2
-0
+2
benchmarks.run_pgo.windows.x86.checked.mch
22,962
2,067
1,502
19,393
-4,335
+6,149
benchmarks.run_tiered.windows.x86.checked.mch
14,908
1,427
936
12,545
-2,963
+3,210
coreclr_tests.run.windows.x86.checked.mch
221,805
16,324
13,039
192,442
-47,576
+248,797
libraries.crossgen2.windows.x86.checked.mch
8
3
3
2
-3
+6
libraries.pmi.windows.x86.checked.mch
2
1
1
0
-83
+2
libraries_tests.run.windows.x86.Release.mch
226,500
21,328
8,786
196,386
-53,514
+46,374
librariestestsnotieredcompilation.run.windows.x86.Release.mch
13,208
3,828
817
8,563
-4,382
+7,567
realworld.run.windows.x86.checked.mch
3
0
1
2
-0
+14
499,399
44,978
25,086
429,335
-112,856
+312,121
Context information
Collection
Diffed contexts
MinOpts
FullOpts
Missed, base
Missed, diff
benchmarks.run.windows.x86.checked.mch
24,442
4
24,438
4 (0.02%)
4 (0.02%)
benchmarks.run_pgo.windows.x86.checked.mch
117,029
40,333
76,696
1,308 (1.09%)
3,051 (2.54%)
benchmarks.run_tiered.windows.x86.checked.mch
47,028
27,648
19,380
6 (0.01%)
1,061 (2.21%)
coreclr_tests.run.windows.x86.checked.mch
568,663
313,651
255,012
275 (0.05%)
6,367 (1.11%)
libraries.crossgen2.windows.x86.checked.mch
241,815
15
241,800
21 (0.01%)
21 (0.01%)
libraries.pmi.windows.x86.checked.mch
304,108
6
304,102
49 (0.02%)
49 (0.02%)
libraries_tests.run.windows.x86.Release.mch
585,999
386,086
199,913
2,090 (0.33%)
38,327 (6.14%)
librariestestsnotieredcompilation.run.windows.x86.Release.mch
315,324
21,643
293,681
79 (0.03%)
263 (0.08%)
realworld.run.windows.x86.checked.mch
35,972
3
35,969
15 (0.04%)
15 (0.04%)
2,240,380
789,389
1,450,991
3,847 (0.17%)
49,158 (2.15%)
jit-analyze output
benchmarks.run.windows.x86.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 7037944 (overridden on cmd)
Total bytes of diff: 7037946 (overridden on cmd)
Total bytes of delta: 2 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
2 : 14740.dasm (1.45 % of base)
1 total files with Code Size differences (0 improved, 1 regressed), 2 unchanged.
Top method regressions (bytes):
2 (1.45 % of base) : 14740.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method regressions (percentages):
2 (1.45 % of base) : 14740.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
1 total methods with Code Size differences (0 improved, 1 regressed).
benchmarks.run_pgo.windows.x86.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 43076375 (overridden on cmd)
Total bytes of diff: 43078189 (overridden on cmd)
Total bytes of delta: 1814 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
939 : 81116.dasm (4.53 % of base)
160 : 81121.dasm (4.91 % of base)
75 : 68648.dasm (6.81 % of base)
74 : 81119.dasm (3.01 % of base)
59 : 85269.dasm (3.89 % of base)
52 : 4722.dasm (18.51 % of base)
46 : 70653.dasm (2.58 % of base)
30 : 32777.dasm (2.27 % of base)
24 : 4752.dasm (22.86 % of base)
22 : 35322.dasm (3.33 % of base)
20 : 105620.dasm (2.37 % of base)
20 : 6663.dasm (6.13 % of base)
20 : 6720.dasm (6.13 % of base)
19 : 95544.dasm (2.96 % of base)
19 : 97841.dasm (2.79 % of base)
19 : 105150.dasm (3.18 % of base)
18 : 35350.dasm (2.39 % of base)
18 : 9445.dasm (1.33 % of base)
16 : 5479.dasm (3.70 % of base)
16 : 3464.dasm (3.33 % of base)
Top file improvements (bytes):
-101 : 73263.dasm (-0.59 % of base)
-94 : 21677.dasm (-2.35 % of base)
-93 : 21546.dasm (-2.29 % of base)
-61 : 23250.dasm (-2.28 % of base)
-49 : 21556.dasm (-0.33 % of base)
-41 : 85174.dasm (-0.84 % of base)
-40 : 25458.dasm (-1.15 % of base)
-34 : 8770.dasm (-1.95 % of base)
-34 : 17417.dasm (-1.58 % of base)
-30 : 32774.dasm (-1.26 % of base)
-25 : 12425.dasm (-0.97 % of base)
-23 : 79787.dasm (-1.54 % of base)
-23 : 77887.dasm (-1.73 % of base)
-20 : 11357.dasm (-0.92 % of base)
-17 : 65939.dasm (-1.95 % of base)
-16 : 73832.dasm (-0.98 % of base)
-16 : 56680.dasm (-0.81 % of base)
-15 : 40804.dasm (-0.69 % of base)
-14 : 76765.dasm (-0.12 % of base)
-14 : 12363.dasm (-0.91 % of base)
86 total files with Code Size differences (43 improved, 43 regressed), 20 unchanged.
Top method regressions (bytes):
939 (4.53 % of base) : 81116.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
160 (4.91 % of base) : 81121.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldCheckedIntegralBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
75 (6.81 % of base) : 68648.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
74 (3.01 % of base) : 81119.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNativeIntegerOverflowingBinaryOperator(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
59 (3.89 % of base) : 85269.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:GetTypeOrReturnType(Microsoft.CodeAnalysis.CSharp.Symbol,byref,byref,byref) (Instrumented Tier0)
52 (18.51 % of base) : 4722.dasm - System.TimeSpan:.ctor(int,int,int,int,int,int):this (Tier0)
46 (2.58 % of base) : 70653.dasm - System.Security.Cryptography.X509Certificates.ChainPal:.cctor() (Tier0)
30 (2.27 % of base) : 32777.dasm - System.Xml.XmlDocument:.cctor() (Tier0)
24 (22.86 % of base) : 4752.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
22 (3.33 % of base) : 35322.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.__Canon]:WaitToReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte]:this (Tier0)
20 (6.13 % of base) : 6663.dasm - Interop+Winsock:<EnsureInitialized>g__Initialize|57_0() (Tier0)
20 (6.13 % of base) : 6720.dasm - Interop+Winsock:<EnsureInitialized>g__Initialize|8_0() (Tier0)
20 (2.37 % of base) : 105620.dasm - System.IO.Strategies.AsyncWindowsFileStreamStrategy+<AsyncModeCopyToAsync>d__5:MoveNext():this (Instrumented Tier0)
19 (2.79 % of base) : 97841.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Instrumented Tier0)
19 (2.96 % of base) : 95544.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Tier0)
19 (3.18 % of base) : 105150.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Tier0)
18 (1.33 % of base) : 9445.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Tier0)
18 (2.39 % of base) : 35350.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.__Canon]:WaitToReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte]:this (Instrumented Tier0)
16 (3.33 % of base) : 3464.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Tier0)
16 (3.70 % of base) : 5479.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Tier0)
Top method improvements (bytes):
-101 (-0.59 % of base) : 73263.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
-94 (-2.35 % of base) : 21677.dasm - System.Net.Http.Headers.KnownHeaders:GetCandidate[System.Net.Http.Headers.KnownHeaders+StringAccessor](System.Net.Http.Headers.KnownHeaders+StringAccessor):System.Net.Http.Headers.KnownHeader (Instrumented Tier0)
-93 (-2.29 % of base) : 21546.dasm - System.Net.Http.Headers.KnownHeaders:GetCandidate[System.Net.Http.Headers.KnownHeaders+StringAccessor](System.Net.Http.Headers.KnownHeaders+StringAccessor):System.Net.Http.Headers.KnownHeader (Tier0)
-61 (-2.28 % of base) : 23250.dasm - System.Runtime.Serialization.DictionaryGlobals:.cctor() (Tier0)
-49 (-0.33 % of base) : 21556.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (Tier0)
-41 (-0.84 % of base) : 85174.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:IsWarning(int):ubyte (Instrumented Tier0)
-40 (-1.15 % of base) : 25458.dasm - System.Diagnostics.Tracing.PropertyValue:GetFactory(System.Type):System.Func`2[System.Object,System.Diagnostics.Tracing.PropertyValue] (Tier0)
-34 (-1.58 % of base) : 17417.dasm - System.Text.RegularExpressions.RegexCompiler+<>c__DisplayClass158_0:<EmitTryMatchAtCurrentPosition>g__EmitIndexOf|30(System.Text.RegularExpressions.RegexNode,ubyte,ubyte):this (Instrumented Tier0)
-34 (-1.95 % of base) : 8770.dasm - System.Text.RegularExpressions.RegexCompiler+<>c__DisplayClass158_0:<EmitTryMatchAtCurrentPosition>g__EmitIndexOf|30(System.Text.RegularExpressions.RegexNode,ubyte,ubyte):this (Tier0)
-30 (-1.26 % of base) : 32774.dasm - System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this (Tier0)
-25 (-0.97 % of base) : 12425.dasm - ProtoBuf.Serializers.RepeatedSerializers:.cctor() (Tier0)
-23 (-1.54 % of base) : 79787.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Instrumented Tier0)
-23 (-1.73 % of base) : 77887.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier0)
-20 (-0.92 % of base) : 11357.dasm - System.IO.Tests.Perf_RandomAccess_NoBuffering:Setup(long[]):this (Tier0)
-17 (-1.95 % of base) : 65939.dasm - Neural:.cctor() (Tier0)
-16 (-0.98 % of base) : 73832.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier0)
-16 (-0.81 % of base) : 56680.dasm - System.Collections.Tests.DictionarySequentialKeys:Initialize():this (Tier0)
-15 (-0.69 % of base) : 40804.dasm - System.Xml.Serialization.FieldModel:.ctor(System.Reflection.MemberInfo,System.Type,System.Xml.Serialization.TypeDesc):this (Instrumented Tier0)
-14 (-0.12 % of base) : 76765.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Tier0)
-14 (-0.91 % of base) : 12363.dasm - ProtoBuf.Meta.ValueMember:TryGetCoreSerializer(ProtoBuf.Meta.RuntimeTypeModel,int,int,System.Type,byref,ubyte,ubyte,ubyte,ubyte):ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode (Tier0)
Top method regressions (percentages):
10 (29.41 % of base) : 39350.dasm - System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
8 (22.86 % of base) : 45979.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Instrumented Tier0)
8 (22.86 % of base) : 45887.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Tier0)
24 (22.86 % of base) : 4752.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
52 (18.51 % of base) : 4722.dasm - System.TimeSpan:.ctor(int,int,int,int,int,int):this (Tier0)
8 (18.18 % of base) : 75105.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
8 (18.18 % of base) : 74664.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
10 (16.39 % of base) : 69600.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
8 (14.55 % of base) : 10616.dasm - System.Math:BigMul(uint,uint):ulong (Instrumented Tier0)
8 (14.55 % of base) : 10347.dasm - System.Math:BigMul(uint,uint):ulong (Tier0)
6 (13.04 % of base) : 738.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
2 (9.52 % of base) : 22800.dasm - System.Diagnostics.Tracing.SessionMask:ToEventKeywords():ulong:this (Tier0)
11 (9.09 % of base) : 2494.dasm - System.Threading.PortableThreadPool:get_HasForcedMaxThreads():ubyte (Tier0)
11 (9.09 % of base) : 2493.dasm - System.Threading.PortableThreadPool:get_HasForcedMinThreads():ubyte (Tier0)
14 (8.86 % of base) : 7338.dasm - System.TimeSpan:TimeToTicks(int,int,int):long (Tier0)
6 (8.33 % of base) : 81216.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.ControlFlowPass+LocalState,System.__Canon]:SetUnreachable():this (Instrumented Tier0)
6 (7.89 % of base) : 17880.dasm - System.Linq.CachingComparer`2[System.__Canon,int]:SetElement(System.__Canon):this (Instrumented Tier0)
4 (7.84 % of base) : 3588.dasm - System.Number+BigInteger:Clear(uint):this (Instrumented Tier0)
4 (7.84 % of base) : 1805.dasm - System.Number+BigInteger:Clear(uint):this (Tier0)
2 (7.41 % of base) : 57976.dasm - System.Runtime.Serialization.BitFlagsGenerator:GetBitValue(int):ubyte (Instrumented Tier0)
Top method improvements (percentages):
-8 (-12.50 % of base) : 60903.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
-6 (-10.53 % of base) : 52282.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
-4 (-8.16 % of base) : 8572.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Instrumented Tier0)
-4 (-8.16 % of base) : 8446.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
-4 (-8.00 % of base) : 1342.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,int):int (Instrumented Tier0)
-4 (-8.00 % of base) : 1017.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,int):int (Tier0)
-4 (-6.78 % of base) : 1344.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,ushort,int):int (Instrumented Tier0)
-4 (-6.78 % of base) : 1019.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,ushort,int):int (Tier0)
-3 (-5.08 % of base) : 265.dasm - System.Globalization.NumberFormatInfo:ValidateParseStyleInteger(int) (Tier0)
-4 (-4.76 % of base) : 5586.dasm - System.Text.RegularExpressions.Regex:ValidateOptions(int) (Tier0)
-2 (-4.65 % of base) : 45836.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (Tier0)
-2 (-4.65 % of base) : 63393.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (Instrumented Tier0)
-2 (-4.65 % of base) : 39381.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (Tier0)
-2 (-4.65 % of base) : 33932.dasm - System.SpanHelpers:LastIndexOfAnyValueType[short](byref,short,short,int):int (Tier0)
-3 (-4.62 % of base) : 22354.dasm - System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Instrumented Tier0)
-3 (-4.62 % of base) : 14435.dasm - System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Tier0)
-3 (-4.62 % of base) : 21958.dasm - System.Net.Sockets.SocketAsyncEventArgs+MultiConnectSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Tier0)
-3 (-4.29 % of base) : 2495.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumThreadsGoal(short):this (Tier0)
-6 (-4.17 % of base) : 3712.dasm - System.HashCode:Initialize(byref,byref,byref,byref) (Tier0)
-2 (-4.08 % of base) : 45837.dasm - System.PackedSpanHelpers:IndexOfAnyExcept(byref,ushort,ushort,int):int (Tier0)
benchmarks.run_tiered.windows.x86.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 8947008 (overridden on cmd)
Total bytes of diff: 8947255 (overridden on cmd)
Total bytes of delta: 247 (0.00 % of base)
diff is an improvement.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
75 : 32959.dasm (6.81 % of base)
52 : 4646.dasm (18.51 % of base)
46 : 32818.dasm (2.58 % of base)
30 : 20271.dasm (2.27 % of base)
24 : 14840.dasm (22.86 % of base)
22 : 19976.dasm (3.33 % of base)
20 : 13255.dasm (6.13 % of base)
20 : 16997.dasm (6.13 % of base)
19 : 44474.dasm (2.96 % of base)
19 : 45848.dasm (3.18 % of base)
18 : 8998.dasm (1.33 % of base)
16 : 10218.dasm (3.33 % of base)
16 : 4303.dasm (3.70 % of base)
16 : 3672.dasm (4.49 % of base)
14 : 18488.dasm (3.84 % of base)
14 : 44916.dasm (2.55 % of base)
14 : 43515.dasm (2.33 % of base)
14 : 5934.dasm (8.86 % of base)
13 : 45375.dasm (1.71 % of base)
12 : 25412.dasm (2.19 % of base)
Top file improvements (bytes):
-101 : 34568.dasm (-0.59 % of base)
-93 : 15900.dasm (-2.29 % of base)
-61 : 15138.dasm (-2.28 % of base)
-49 : 15906.dasm (-0.33 % of base)
-40 : 17511.dasm (-1.15 % of base)
-34 : 4998.dasm (-1.95 % of base)
-30 : 20268.dasm (-1.26 % of base)
-25 : 11292.dasm (-0.97 % of base)
-23 : 38599.dasm (-1.73 % of base)
-20 : 13016.dasm (-0.92 % of base)
-17 : 32230.dasm (-1.95 % of base)
-16 : 30627.dasm (-0.81 % of base)
-16 : 35068.dasm (-0.98 % of base)
-14 : 37462.dasm (-0.12 % of base)
-14 : 11235.dasm (-0.91 % of base)
-13 : 22024.dasm (-2.03 % of base)
-12 : 16865.dasm (-0.85 % of base)
-12 : 3309.dasm (-1.39 % of base)
-11 : 4509.dasm (-2.93 % of base)
-11 : 39665.dasm (-1.81 % of base)
81 total files with Code Size differences (42 improved, 39 regressed), 20 unchanged.
Top method regressions (bytes):
75 (6.81 % of base) : 32959.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
52 (18.51 % of base) : 4646.dasm - System.TimeSpan:.ctor(int,int,int,int,int,int):this (Tier0)
46 (2.58 % of base) : 32818.dasm - System.Security.Cryptography.X509Certificates.ChainPal:.cctor() (Tier0)
30 (2.27 % of base) : 20271.dasm - System.Xml.XmlDocument:.cctor() (Tier0)
24 (22.86 % of base) : 14840.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
22 (3.33 % of base) : 19976.dasm - System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[System.__Canon]:WaitToReadAsync(System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[ubyte]:this (Tier0)
20 (6.13 % of base) : 13255.dasm - Interop+Winsock:<EnsureInitialized>g__Initialize|57_0() (Tier0)
20 (6.13 % of base) : 16997.dasm - Interop+Winsock:<EnsureInitialized>g__Initialize|8_0() (Tier0)
19 (2.96 % of base) : 44474.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Tier0)
19 (3.18 % of base) : 45848.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndented(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Tier0)
18 (1.33 % of base) : 8998.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Tier0)
16 (4.49 % of base) : 3672.dasm - System.Reflection.RuntimeParameterInfo:TryGetDefaultValueInternal(ubyte,byref):ubyte:this (Tier0)
16 (3.33 % of base) : 10218.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ushort]):this (Tier0)
16 (3.70 % of base) : 4303.dasm - System.Text.Json.Utf8JsonWriter:WriteStringMinimized(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):this (Tier0)
14 (3.84 % of base) : 18488.dasm - System.Text.Json.JsonHelpers:TryCreateDateTimeOffset(System.DateTime,byref,byref):ubyte (Tier0)
14 (2.33 % of base) : 43515.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyNameIndented(System.ReadOnlySpan`1[ubyte],ubyte):this (Tier0)
14 (2.55 % of base) : 44916.dasm - System.Text.Json.Utf8JsonWriter:WritePropertyNameIndented(System.ReadOnlySpan`1[ushort],ubyte):this (Tier0)
14 (8.86 % of base) : 5934.dasm - System.TimeSpan:TimeToTicks(int,int,int):long (Tier0)
13 (1.71 % of base) : 45375.dasm - System.Array:Sort(System.Array,System.Array,int,int,System.Collections.IComparer) (Tier0)
12 (2.19 % of base) : 25412.dasm - System.Text.Json.Utf8JsonWriter:WriteStringIndentedPropertyName(System.ReadOnlySpan`1[ubyte]):this (Tier0)
Top method improvements (bytes):
-101 (-0.59 % of base) : 34568.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
-93 (-2.29 % of base) : 15900.dasm - System.Net.Http.Headers.KnownHeaders:GetCandidate[System.Net.Http.Headers.KnownHeaders+StringAccessor](System.Net.Http.Headers.KnownHeaders+StringAccessor):System.Net.Http.Headers.KnownHeader (Tier0)
-61 (-2.28 % of base) : 15138.dasm - System.Runtime.Serialization.DictionaryGlobals:.cctor() (Tier0)
-49 (-0.33 % of base) : 15906.dasm - System.Net.Http.Headers.KnownHeaders:.cctor() (Tier0)
-40 (-1.15 % of base) : 17511.dasm - System.Diagnostics.Tracing.PropertyValue:GetFactory(System.Type):System.Func`2[System.Object,System.Diagnostics.Tracing.PropertyValue] (Tier0)
-34 (-1.95 % of base) : 4998.dasm - System.Text.RegularExpressions.RegexCompiler+<>c__DisplayClass158_0:<EmitTryMatchAtCurrentPosition>g__EmitIndexOf|30(System.Text.RegularExpressions.RegexNode,ubyte,ubyte):this (Tier0)
-30 (-1.26 % of base) : 20268.dasm - System.Xml.XmlDocument:.ctor(System.Xml.XmlImplementation):this (Tier0)
-25 (-0.97 % of base) : 11292.dasm - ProtoBuf.Serializers.RepeatedSerializers:.cctor() (Tier0)
-23 (-1.73 % of base) : 38599.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier0)
-20 (-0.92 % of base) : 13016.dasm - System.IO.Tests.Perf_RandomAccess_NoBuffering:Setup(long[]):this (Tier0)
-17 (-1.95 % of base) : 32230.dasm - Neural:.cctor() (Tier0)
-16 (-0.98 % of base) : 35068.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier0)
-16 (-0.81 % of base) : 30627.dasm - System.Collections.Tests.DictionarySequentialKeys:Initialize():this (Tier0)
-14 (-0.12 % of base) : 37462.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Tier0)
-14 (-0.91 % of base) : 11235.dasm - ProtoBuf.Meta.ValueMember:TryGetCoreSerializer(ProtoBuf.Meta.RuntimeTypeModel,int,int,System.Type,byref,ubyte,ubyte,ubyte,ubyte):ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode (Tier0)
-13 (-2.03 % of base) : 22024.dasm - System.Uri:TryFormat(System.Span`1[ushort],byref):ubyte:this (Tier0)
-12 (-1.39 % of base) : 3309.dasm - System.Globalization.CalendarData:.ctor(System.String,ushort,ubyte):this (Tier0)
-12 (-0.85 % of base) : 16865.dasm - System.IO.Tests.Perf_RandomAccess:Setup(long[]):this (Tier0)
-11 (-1.81 % of base) : 39665.dasm - Microsoft.Cci.MetadataWriter:GetTypeAttributes(Microsoft.Cci.ITypeDefinition,Microsoft.CodeAnalysis.Emit.EmitContext):int (Tier0)
-11 (-2.93 % of base) : 4509.dasm - Utf8Json.Resolvers.DynamicObjectResolver:.cctor() (Tier0)
Top method regressions (percentages):
10 (29.41 % of base) : 22274.dasm - System.Buffers.Binary.BinaryPrimitives:ReverseEndianness(ulong):ulong (Tier0)
8 (22.86 % of base) : 27541.dasm - Interop+Kernel32+FILE_TIME:ToTicks():long:this (Tier0)
24 (22.86 % of base) : 14840.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
52 (18.51 % of base) : 4646.dasm - System.TimeSpan:.ctor(int,int,int,int,int,int):this (Tier0)
8 (18.18 % of base) : 35803.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
10 (16.39 % of base) : 32875.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
8 (14.55 % of base) : 4459.dasm - System.Math:BigMul(uint,uint):ulong (Tier0)
6 (13.04 % of base) : 697.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
2 (9.52 % of base) : 4013.dasm - System.Diagnostics.Tracing.SessionMask:ToEventKeywords():ulong:this (Tier0)
11 (9.09 % of base) : 2183.dasm - System.Threading.PortableThreadPool:get_HasForcedMaxThreads():ubyte (Tier0)
11 (9.09 % of base) : 2182.dasm - System.Threading.PortableThreadPool:get_HasForcedMinThreads():ubyte (Tier0)
14 (8.86 % of base) : 5934.dasm - System.TimeSpan:TimeToTicks(int,int,int):long (Tier0)
4 (7.84 % of base) : 1669.dasm - System.Number+BigInteger:Clear(uint):this (Tier0)
2 (7.41 % of base) : 601.dasm - System.Buffers.Utilities:SelectBucketIndex(int):int (Tier0)
2 (7.41 % of base) : 29397.dasm - System.Runtime.Serialization.BitFlagsGenerator:GetBitValue(int):ubyte (Tier0)
6 (7.14 % of base) : 32741.dasm - Benchstone.BenchI.Ackermann:Acker(int,int):int (Tier0)
75 (6.81 % of base) : 32959.dasm - System.Numerics.BigIntegerCalculator:ExtractDigits(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint],byref,byref) (Tier0)
4 (6.67 % of base) : 7480.dasm - Jil.Common.ExtensionMethods+<>c__17`1[System.__Canon]:<GetCustomAttribute>b__17_0(System.Reflection.CustomAttributeData):ubyte:this (Tier0)
6 (6.59 % of base) : 34630.dasm - System.Reflection.Metadata.Ecma335.TypeDefOrRefTag:ConvertToHandle(uint):System.Reflection.Metadata.EntityHandle (Tier0)
7 (6.54 % of base) : 45816.dasm - System.Collections.Frozen.OrdinalStringFrozenSet_Full:CheckLengthQuick(System.String):ubyte:this (Tier0)
Top method improvements (percentages):
-8 (-12.50 % of base) : 31699.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,short,int):int (Tier0)
-6 (-10.53 % of base) : 28705.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,short,int):int (Tier0)
-4 (-8.16 % of base) : 7560.dasm - System.Buffers.Binary.BinaryPrimitives:WriteInt16BigEndian(System.Span`1[ubyte],short) (Tier0)
-4 (-8.00 % of base) : 963.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,short,int):int (Tier0)
-4 (-6.78 % of base) : 965.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,ushort,int):int (Tier0)
-3 (-5.08 % of base) : 259.dasm - System.Globalization.NumberFormatInfo:ValidateParseStyleInteger(int) (Tier0)
-4 (-4.76 % of base) : 4650.dasm - System.Text.RegularExpressions.Regex:ValidateOptions(int) (Tier0)
-2 (-4.65 % of base) : 27490.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,int):int (Tier0)
-2 (-4.65 % of base) : 20045.dasm - System.SpanHelpers:IndexOfAnyValueType[short](byref,short,short,int):int (Tier0)
-2 (-4.65 % of base) : 21030.dasm - System.SpanHelpers:LastIndexOfAnyValueType[short](byref,short,short,int):int (Tier0)
-3 (-4.62 % of base) : 13659.dasm - System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Tier0)
-3 (-4.62 % of base) : 16281.dasm - System.Net.Sockets.SocketAsyncEventArgs+MultiConnectSocketAsyncEventArgs:OnCompleted(System.Action`1[System.Object],System.Object,short,int):this (Tier0)
-3 (-4.29 % of base) : 2184.dasm - System.Threading.PortableThreadPool+ThreadCounts:set_NumThreadsGoal(short):this (Tier0)
-6 (-4.17 % of base) : 6267.dasm - System.HashCode:Initialize(byref,byref,byref,byref) (Tier0)
-2 (-4.08 % of base) : 20047.dasm - System.PackedSpanHelpers:IndexOfAny(byref,ushort,ushort,int):int (Tier0)
-2 (-4.08 % of base) : 27491.dasm - System.PackedSpanHelpers:IndexOfAnyExcept(byref,ushort,ushort,int):int (Tier0)
-2 (-4.08 % of base) : 21655.dasm - System.PackedSpanHelpers:IndexOfAnyExceptInRange(byref,ushort,ushort,int):int (Tier0)
-2 (-3.92 % of base) : 42103.dasm - Microsoft.CodeAnalysis.CSharp.CSDiagnosticInfo:.ctor(int,System.Object[]):this (Tier0)
-3 (-3.53 % of base) : 16218.dasm - System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[System.__Canon,System.Threading.Tasks.TaskCompletionSourceWithCancellation`1+<WaitWithCancellationAsync>d__1[System.__Canon]]:.ctor():this (Tier0)
-3 (-3.53 % of base) : 4651.dasm - System.Text.RegularExpressions.Regex:ValidateMatchTimeout(System.TimeSpan) (Tier0)
coreclr_tests.run.windows.x86.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 305219044 (overridden on cmd)
Total bytes of diff: 305420265 (overridden on cmd)
Total bytes of delta: 201221 (0.07 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
3527 : 219688.dasm (11.63 % of base)
3526 : 219655.dasm (11.63 % of base)
1904 : 5790.dasm (4.33 % of base)
1890 : 5794.dasm (4.62 % of base)
1784 : 5801.dasm (4.43 % of base)
1748 : 254696.dasm (1.18 % of base)
1748 : 256587.dasm (1.18 % of base)
1748 : 254734.dasm (1.13 % of base)
1748 : 256593.dasm (1.13 % of base)
1746 : 267412.dasm (1.33 % of base)
1746 : 266417.dasm (1.33 % of base)
1746 : 267407.dasm (1.40 % of base)
1746 : 266405.dasm (1.40 % of base)
1698 : 5684.dasm (3.94 % of base)
1694 : 5692.dasm (4.27 % of base)
1588 : 5740.dasm (4.07 % of base)
1463 : 254529.dasm (1.23 % of base)
1395 : 254539.dasm (1.11 % of base)
1395 : 266273.dasm (1.45 % of base)
1395 : 266284.dasm (1.36 % of base)
Top file improvements (bytes):
-810 : 288806.dasm (-0.05 % of base)
-258 : 272265.dasm (-0.44 % of base)
-258 : 262782.dasm (-0.44 % of base)
-173 : 265522.dasm (-0.22 % of base)
-173 : 272031.dasm (-0.22 % of base)
-160 : 266835.dasm (-0.17 % of base)
-160 : 274999.dasm (-0.17 % of base)
-160 : 275005.dasm (-0.17 % of base)
-160 : 266859.dasm (-0.17 % of base)
-158 : 255177.dasm (-0.13 % of base)
-158 : 255233.dasm (-0.13 % of base)
-112 : 266758.dasm (-0.35 % of base)
-112 : 266586.dasm (-0.45 % of base)
-110 : 259578.dasm (-0.12 % of base)
-108 : 265949.dasm (-0.44 % of base)
-108 : 267791.dasm (-0.44 % of base)
-108 : 267419.dasm (-0.34 % of base)
-108 : 267115.dasm (-0.44 % of base)
-108 : 267109.dasm (-0.44 % of base)
-102 : 266098.dasm (-0.39 % of base)
80 total files with Code Size differences (40 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
3527 (11.63 % of base) : 219688.dasm - <Module>:f():int (MinOpts)
3526 (11.63 % of base) : 219655.dasm - <Module>:f():int (MinOpts)
1904 (4.33 % of base) : 5790.dasm - lclfldsub:TestEntryPoint():int (MinOpts)
1890 (4.62 % of base) : 5794.dasm - lclfldsub:TestEntryPoint():int (Tier0)
1784 (4.43 % of base) : 5801.dasm - lclfldsub:TestEntryPoint():int (Tier0)
1748 (1.18 % of base) : 254696.dasm - i8div:TestEntryPoint():int (MinOpts)
1748 (1.13 % of base) : 254734.dasm - i8rem:TestEntryPoint():int (MinOpts)
1748 (1.18 % of base) : 256587.dasm - u8div:TestEntryPoint():int (MinOpts)
1748 (1.13 % of base) : 256593.dasm - u8rem:TestEntryPoint():int (MinOpts)
1746 (1.40 % of base) : 266405.dasm - i8div:TestEntryPoint():int (Tier0)
1746 (1.33 % of base) : 266417.dasm - i8rem:TestEntryPoint():int (Tier0)
1746 (1.40 % of base) : 267407.dasm - u8div:TestEntryPoint():int (Tier0)
1746 (1.33 % of base) : 267412.dasm - u8rem:TestEntryPoint():int (Tier0)
1698 (3.94 % of base) : 5684.dasm - lclfldadd:TestEntryPoint():int (MinOpts)
1694 (4.27 % of base) : 5692.dasm - lclfldadd:TestEntryPoint():int (Tier0)
1588 (4.07 % of base) : 5740.dasm - lclfldadd:TestEntryPoint():int (Tier0)
1463 (1.23 % of base) : 254529.dasm - i4div:TestEntryPoint():int (MinOpts)
1395 (1.45 % of base) : 266273.dasm - i4div:TestEntryPoint():int (Tier0)
1395 (1.11 % of base) : 254539.dasm - i4rem:TestEntryPoint():int (MinOpts)
1395 (1.36 % of base) : 266284.dasm - i4rem:TestEntryPoint():int (Tier0)
Top method improvements (bytes):
-810 (-0.05 % of base) : 288806.dasm - NullableTest:And() (MinOpts)
-258 (-0.44 % of base) : 272265.dasm - Test_10w5d.testout1:.cctor() (Tier0)
-258 (-0.44 % of base) : 262782.dasm - Test_10w5d.testout1:.cctor() (Tier0)
-173 (-0.22 % of base) : 265522.dasm - Test_1000w1d.testout1:Func_0():int (Tier0)
-173 (-0.22 % of base) : 272031.dasm - Test_1000w1d.testout1:Func_0():int (Tier0)
-160 (-0.17 % of base) : 266835.dasm - overlddiv:TestEntryPoint():int (Tier0)
-160 (-0.17 % of base) : 274999.dasm - overlddiv:TestEntryPoint():int (Tier0)
-160 (-0.17 % of base) : 275005.dasm - overldrem:TestEntryPoint():int (Tier0)
-160 (-0.17 % of base) : 266859.dasm - overldrem:TestEntryPoint():int (Tier0)
-158 (-0.13 % of base) : 255177.dasm - overlddiv:TestEntryPoint():int (MinOpts)
-158 (-0.13 % of base) : 255233.dasm - overldrem:TestEntryPoint():int (MinOpts)
-112 (-0.45 % of base) : 266586.dasm - intMDArrTest:TestEntryPoint():int (Tier0)
-112 (-0.35 % of base) : 266758.dasm - longMDArrTest:TestEntryPoint():int (Tier0)
-110 (-0.12 % of base) : 259578.dasm - Test_1000w1d.testout1:Func_0():int (MinOpts)
-108 (-0.44 % of base) : 265949.dasm - byteMDArrTest:TestEntryPoint():int (Tier0)
-108 (-0.44 % of base) : 267109.dasm - sbyteMDArrTest:TestEntryPoint():int (Tier0)
-108 (-0.44 % of base) : 267115.dasm - shortMDArrTest:TestEntryPoint():int (Tier0)
-108 (-0.34 % of base) : 267419.dasm - ulongMDArrTest:TestEntryPoint():int (Tier0)
-108 (-0.44 % of base) : 267791.dasm - ushortMDArrTest:TestEntryPoint():int (Tier0)
-102 (-0.39 % of base) : 266098.dasm - doubleMDArrTest:TestEntryPoint():int (Tier0)
Top method regressions (percentages):
11 (26.83 % of base) : 220033.dasm - Program:TestRet2():ubyte (Tier0)
24 (22.86 % of base) : 235147.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
10 (22.73 % of base) : 220023.dasm - Program:TestCond3() (Tier0)
64 (20.19 % of base) : 4880.dasm - CSE1:DoDiv(byref):int (Tier0)
8 (18.18 % of base) : 226204.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
8 (18.18 % of base) : 225665.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
5 (17.86 % of base) : 203527.dasm - ModConst:I4_Mod_0(int):int (Tier0)
9 (17.65 % of base) : 284140.dasm - Runtime_75832:Test(int) (Tier0)
4 (16.67 % of base) : 281777.dasm - X:G(S):int (Tier0)
6 (14.63 % of base) : 276837.dasm - System.Collections.Concurrent.ConcurrentDictionaryTypeProps`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:.cctor() (Tier0)
13 (14.61 % of base) : 365200.dasm - Microsoft.Build.Shared.FileUtilities:IsSlash(ushort):ubyte (Tier0)
60 (14.49 % of base) : 4871.dasm - CSE1:DoDiv(byref):int (MinOpts)
18 (14.06 % of base) : 202685.dasm - DivConst:I8_DivPow2Embedded_4(long,long):long (Tier0)
18 (14.06 % of base) : 203553.dasm - ModConst:I8_ModPow2Embedded_4(long,long):long (Tier0)
14 (13.86 % of base) : 280328.dasm - AA:Static2(System.String[]):int[] (Tier0)
7 (13.73 % of base) : 287408.dasm - GitHub_10714:Test():int (Tier0)
191 (13.67 % of base) : 375645.dasm - Value0:CheckValues():ubyte:this (Tier0)
4 (13.33 % of base) : 137313.dasm - JIT.HardwareIntrinsics.X86.Avx512Verify:GetTokenResponse(int,int):int (Instrumented Tier0)
4 (13.33 % of base) : 137273.dasm - JIT.HardwareIntrinsics.X86.Avx512Verify:GetTokenResponse(int,int):int (Tier0)
6 (13.04 % of base) : 362324.dasm - System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller`2+ManagedToUnmanagedIn[System.__Canon,int]:.cctor() (Tier0)
Top method improvements (percentages):
-4 (-7.27 % of base) : 371675.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Instrumented Tier0)
-4 (-7.27 % of base) : 338635.dasm - ILCompiler.DependencyAnalysis.ObjectDataBuilder:EmitShort(short):this (Tier0)
-4 (-6.25 % of base) : 253879.dasm - TestApp:test_4_13(short):short (Tier0)
-4 (-6.25 % of base) : 255843.dasm - TestApp:test_4_13(short):short (Tier0)
-8 (-6.06 % of base) : 282169.dasm - Runtime_55143:M47(short):int (Tier0)
-15 (-5.88 % of base) : 179727.dasm - IntelHardwareIntrinsicTest.General.Program:F2_v128i(short):System.Runtime.Intrinsics.Vector128`1[short] (Tier0)
-4 (-5.56 % of base) : 282623.dasm - NormalizeTest.Program:ShortTest1(short,int):int (Tier0)
-2 (-5.41 % of base) : 360137.dasm - OVFTest:Test_uint(uint):uint (Tier0)
-8 (-5.23 % of base) : 189281.dasm - add_ovf:i2():int (Tier0)
-21 (-4.83 % of base) : 26522.dasm - TestNon2PowerStructs:TestComposite() (Tier0)
-6 (-4.80 % of base) : 284623.dasm - Runtime_92784:Problem(uint):int (Tier0)
-2 (-4.76 % of base) : 24760.dasm - Program:I2_BT_reg_reg(short,int):ubyte (Tier0)
-4 (-4.76 % of base) : 224990.dasm - System.Text.RegularExpressions.Regex:ValidateOptions(int) (Tier0)
-3 (-4.62 % of base) : 275513.dasm - DefaultNamespace.BNode:.cctor() (Tier0)
-4 (-4.44 % of base) : 208064.dasm - VectorTest+VectorUnusedTest`1[short]:VectorUnused(short,short):int (Tier0)
-3 (-4.41 % of base) : 287973.dasm - Program+Test3:Run():int (Tier0)
-6 (-4.38 % of base) : 189280.dasm - add_ovf:u1():int (Tier0)
-6 (-4.38 % of base) : 189282.dasm - add_ovf:u2():int (Tier0)
-2 (-4.35 % of base) : 271402.dasm - Test_r4NaNconv.ConvTest:test2():short (Tier0)
-2 (-4.35 % of base) : 271459.dasm - Test_r8NaNconv.ConvTest:test2():short (Tier0)
libraries.crossgen2.windows.x86.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 31623120 (overridden on cmd)
Total bytes of diff: 31623123 (overridden on cmd)
Total bytes of delta: 3 (0.00 % of base)
diff is a regression.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
2 : 6635.dasm (1.45 % of base)
2 : 6630.dasm (1.45 % of base)
2 : 108635.dasm (1.45 % of base)
Top file improvements (bytes):
-1 : 20632.dasm (-1.89 % of base)
-1 : 6629.dasm (-1.67 % of base)
-1 : 6634.dasm (-1.08 % of base)
6 total files with Code Size differences (3 improved, 3 regressed), 2 unchanged.
Top method regressions (bytes):
2 (1.45 % of base) : 108635.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
2 (1.45 % of base) : 6630.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
2 (1.45 % of base) : 6635.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
Top method improvements (bytes):
-1 (-1.89 % of base) : 20632.dasm - System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)
-1 (-1.67 % of base) : 6629.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
-1 (-1.08 % of base) : 6634.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
Top method regressions (percentages):
2 (1.45 % of base) : 108635.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
2 (1.45 % of base) : 6630.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[],System.TimeSpan):ubyte (MinOpts)
2 (1.45 % of base) : 6635.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[],System.TimeSpan):int (MinOpts)
Top method improvements (percentages):
-1 (-1.89 % of base) : 20632.dasm - System.Threading.Tasks.Task:NotifyDebuggerOfWaitCompletion():this (MinOpts)
-1 (-1.67 % of base) : 6629.dasm - System.Threading.Tasks.Task:WaitAll(System.Threading.Tasks.Task[]) (MinOpts)
-1 (-1.08 % of base) : 6634.dasm - System.Threading.Tasks.Task:WaitAny(System.Threading.Tasks.Task[]):int (MinOpts)
6 total methods with Code Size differences (3 improved, 3 regressed).
libraries.pmi.windows.x86.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 48807890 (overridden on cmd)
Total bytes of diff: 48807809 (overridden on cmd)
Total bytes of delta: -81 (-0.00 % of base)
diff is an improvement.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
2 : 282866.dasm (1.45 % of base)
Top file improvements (bytes):
-83 : 18768.dasm (-0.09 % of base)
2 total files with Code Size differences (1 improved, 1 regressed), 0 unchanged.
Top method regressions (bytes):
2 (1.45 % of base) : 282866.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method improvements (bytes):
-83 (-0.09 % of base) : 18768.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)
Top method regressions (percentages):
2 (1.45 % of base) : 282866.dasm - System.Security.Cryptography.CryptographicOperations:FixedTimeEquals(System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte]):ubyte (MinOpts)
Top method improvements (percentages):
-83 (-0.09 % of base) : 18768.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:ConvExprToLinqInContext(Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,Microsoft.FSharp.Quotations.FSharpExpr):System.Linq.Expressions.Expression (Tier0-MinOpts)
2 total methods with Code Size differences (1 improved, 1 regressed).
libraries_tests.run.windows.x86.Release.mch
superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 162974883 (overridden on cmd)
Total bytes of diff: 162967743 (overridden on cmd)
Total bytes of delta: -7140 (-0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
2320 : 435791.dasm (1.28 % of base)
2314 : 435115.dasm (1.32 % of base)
939 : 152661.dasm (4.53 % of base)
645 : 589757.dasm (0.22 % of base)
471 : 583518.dasm (0.39 % of base)
465 : 589703.dasm (0.25 % of base)
443 : 583342.dasm (0.43 % of base)
371 : 67900.dasm (0.88 % of base)
198 : 330519.dasm (3.28 % of base)
184 : 104018.dasm (1.61 % of base)
184 : 103774.dasm (1.61 % of base)
184 : 102216.dasm (1.61 % of base)
184 : 104309.dasm (1.61 % of base)
184 : 102397.dasm (1.61 % of base)
184 : 104685.dasm (1.61 % of base)
171 : 402891.dasm (2.97 % of base)
167 : 402900.dasm (2.88 % of base)
160 : 232548.dasm (5.06 % of base)
160 : 232528.dasm (5.06 % of base)
160 : 232544.dasm (5.06 % of base)
Top file improvements (bytes):
-1000 : 530834.dasm (-1.59 % of base)
-379 : 73519.dasm (-1.69 % of base)
-230 : 250767.dasm (-0.85 % of base)
-204 : 454595.dasm (-1.22 % of base)
-201 : 571452.dasm (-2.34 % of base)
-201 : 571490.dasm (-2.32 % of base)
-163 : 454108.dasm (-1.20 % of base)
-162 : 422635.dasm (-1.44 % of base)
-150 : 247768.dasm (-0.69 % of base)
-145 : 257062.dasm (-0.57 % of base)
-140 : 252789.dasm (-0.69 % of base)
-140 : 256785.dasm (-0.68 % of base)
-140 : 250297.dasm (-0.69 % of base)
-138 : 454727.dasm (-1.02 % of base)
-133 : 93646.dasm (-0.83 % of base)
-130 : 254993.dasm (-0.70 % of base)
-128 : 422144.dasm (-0.53 % of base)
-104 : 9801.dasm (-0.60 % of base)
-102 : 256662.dasm (-0.85 % of base)
-101 : 258377.dasm (-0.57 % of base)
84 total files with Code Size differences (41 improved, 43 regressed), 20 unchanged.
Top method regressions (bytes):
2320 (1.28 % of base) : 435791.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Instrumented Tier0)
2314 (1.32 % of base) : 435115.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Tier0)
939 (4.53 % of base) : 152661.dasm - Microsoft.CodeAnalysis.CSharp.Binder:FoldNeverOverflowBinaryOperators(int,Microsoft.CodeAnalysis.ConstantValue,Microsoft.CodeAnalysis.ConstantValue):System.Object (Instrumented Tier0)
645 (0.22 % of base) : 589757.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2217_921+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
471 (0.39 % of base) : 583518.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3759_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
465 (0.25 % of base) : 589703.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2209_920+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
443 (0.43 % of base) : 583342.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex3751_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
371 (0.88 % of base) : 67900.dasm - LibraryImportGenerator.UnitTests.CompileFails+<CodeSnippetsToCompile>d__1:MoveNext():ubyte:this (Tier0)
198 (3.28 % of base) : 330519.dasm - System.Net.Http.QPack.H3StaticTable:.cctor() (Tier0)
184 (1.61 % of base) : 104018.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
184 (1.61 % of base) : 103774.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
184 (1.61 % of base) : 102216.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
184 (1.61 % of base) : 104309.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
184 (1.61 % of base) : 102397.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
184 (1.61 % of base) : 104685.dasm - Microsoft.Extensions.Configuration.Test.ConfigurationProviderTestBase+TestSection:.cctor() (Tier0)
171 (2.97 % of base) : 402891.dasm - System.Xml.Tests.TCErrorCondition:V8():int:this (Instrumented Tier0)
167 (2.88 % of base) : 402900.dasm - System.Xml.Tests.TCErrorCondition:V9a():int:this (Instrumented Tier0)
160 (5.06 % of base) : 232548.dasm - System.Diagnostics.Metrics.Tests.MetricsTests:PublishHistogramMeasurement[long](System.Diagnostics.Metrics.Histogram`1[long],long,System.Collections.Generic.KeyValuePair`2[System.String,System.Object][]):this (Tier0)
160 (5.06 % of base) : 232544.dasm - System.Diagnostics.Metrics.Tests.MetricsTests:PublishHistogramMeasurement[short](System.Diagnostics.Metrics.Histogram`1[short],short,System.Collections.Generic.KeyValuePair`2[System.String,System.Object][]):this (Tier0)
160 (5.06 % of base) : 232528.dasm - System.Diagnostics.Metrics.Tests.MetricsTests:PublishUpDownCounterMeasurement[ubyte](System.Diagnostics.Metrics.UpDownCounter`1[ubyte],ubyte,System.Collections.Generic.KeyValuePair`2[System.String,System.Object][]):this (Tier0)
Top method improvements (bytes):
-1000 (-1.59 % of base) : 530834.dasm - System.Text.Json.SourceGeneration.Tests.ConstructorTests_Default+ConstructorTestsContext_Default:ClassWithManyConstructorParametersSerializeHandler(System.Text.Json.Utf8JsonWriter,System.Text.Json.Serialization.Tests.ClassWithManyConstructorParameters):this (Tier0)
-379 (-1.69 % of base) : 73519.dasm - Microsoft.CodeAnalysis.DesktopAssemblyIdentityComparer:.cctor() (Tier0)
-230 (-0.85 % of base) : 250767.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Methods.Oneclass2methods.literals01.literals01.A:MainMethod():int (Tier0)
-204 (-1.22 % of base) : 454595.dasm - System.Tests.TimeZoneInfoTests:GetAmbiguousTimeOffsets_Amsterdam() (Tier0)
-201 (-2.34 % of base) : 571452.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-201 (-2.32 % of base) : 571490.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-163 (-1.20 % of base) : 454108.dasm - System.Tests.TimeZoneInfoTests:IsInvalidTime() (Tier0)
-162 (-1.44 % of base) : 422635.dasm - System.IO.Tests.PathTests_Join:.cctor() (Tier0)
-150 (-0.69 % of base) : 247768.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.conversions.cnst001.cnst001.Test:MainMethod():int (Tier0)
-145 (-0.57 % of base) : 257062.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum005b.enum005b.Test:MainMethod():int (Tier0)
-140 (-0.68 % of base) : 256785.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum004.enum004.Test:MainMethod():int (Tier0)
-140 (-0.69 % of base) : 250297.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum004c.enum004c.Test:MainMethod():int (Tier0)
-140 (-0.69 % of base) : 252789.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum004e.enum004e.Test:MainMethod():int (Tier0)
-138 (-1.02 % of base) : 454727.dasm - System.Tests.TimeZoneInfoTests:IsDaylightSavingTime() (Tier0)
-133 (-0.83 % of base) : 93646.dasm - Microsoft.CSharp.RuntimeBinder.Tests.DefaultParameterTests:MarshalAsOptionalsCorrectDefault():this (Tier0)
-130 (-0.70 % of base) : 254993.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.conversions.cnst002.cnst002.Test:MainMethod():int (Tier0)
-128 (-0.53 % of base) : 422144.dasm - System.Tests.ConvertToBase64StringTests+<ConvertToBase64StringTests_TestData>d__5:MoveNext():ubyte:this (Tier0)
-104 (-0.60 % of base) : 9801.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor() (Tier0)
-102 (-0.85 % of base) : 256662.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.dynamicType.generics.derived.ovr003.ovr003.Program:MainMethod():int (Tier0)
-101 (-0.57 % of base) : 258377.dasm - ManagedTests.DynamicCSharp.Conformance.dynamic.overloadResolution.Operators.basic.enum005.enum005.Test:MainMethod():int (Tier0)
Top method regressions (percentages):
13 (31.71 % of base) : 68507.dasm - Analyzer.Utilities.SyntaxTreeCategorizedAnalyzerConfigOptions:get_IsEmpty():ubyte:this (Tier0)
8 (24.24 % of base) : 432568.dasm - System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Instrumented Tier0)
8 (24.24 % of base) : 99908.dasm - System.Numerics.NumericsHelpers:MakeUInt64(uint,uint):ulong (Tier0)
24 (22.86 % of base) : 377878.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Instrumented Tier0)
24 (22.86 % of base) : 172762.dasm - System.Xml.Schema.XsdDateTime:Write2Digits(System.Span`1[ushort],int,int) (Tier0)
8 (18.18 % of base) : 143227.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
8 (18.18 % of base) : 18918.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Instrumented Tier0)
8 (18.18 % of base) : 127566.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
8 (18.18 % of base) : 137594.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
8 (18.18 % of base) : 14052.dasm - Microsoft.CodeAnalysis.CachedUseSiteInfo`1[System.__Canon]:get_IsInitialized():ubyte:this (Tier0)
10 (16.39 % of base) : 532951.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Instrumented Tier0)
10 (16.39 % of base) : 192471.dasm - System.Collections.Queue:GetElement(int):System.Object:this (Tier0)
6 (15.79 % of base) : 182815.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Instrumented Tier0)
6 (15.79 % of base) : 181961.dasm - System.Collections.Concurrent.Partitioner+DynamicPartitionEnumerator_Abstract`2[int,System.__Canon]:.cctor() (Tier0)
10 (15.62 % of base) : 41025.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol:NumberOfValueTuples(int,byref):int (Instrumented Tier0)
10 (15.62 % of base) : 23790.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol:NumberOfValueTuples(int,byref):int (Tier0)
6 (14.63 % of base) : 21767.dasm - System.Collections.Concurrent.ConcurrentDictionaryTypeProps`1[System.Collections.Immutable.ImmutableArray`1[System.__Canon]]:.cctor() (Tier0)
4 (13.79 % of base) : 2653.dasm - ComInterfaceGenerator.Tests.NativeExportsNE+ImplicitThis+INativeObject:.cctor() (Tier0)
4 (13.79 % of base) : 3345.dasm - ComInterfaceGenerator.Tests.NativeExportsNE+UnmanagedToManagedCustomMarshalling+INativeObject:.cctor() (Tier0)
4 (13.79 % of base) : 3359.dasm - ComInterfaceGenerator.Tests.NativeExportsNE+UnmanagedToManagedCustomMarshalling+INativeObjectStateful:.cctor() (Tier0)
Top method improvements (percentages):
-4 (-8.00 % of base) : 584635.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Instrumented Tier0)
-4 (-8.00 % of base) : 322078.dasm - System.SpanHelpers:IndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
-4 (-8.00 % of base) : 322094.dasm - System.SpanHelpers:LastIndexOfAnyExceptValueType[short](byref,short,short,short,int):int (Tier0)
-8 (-7.55 % of base) : 234723.dasm - System.Diagnostics.Tests.Helpers+<>c__DisplayClass13_0`1[float]:<RetryOnAllPlatformsWithClosingResources>b__0():this (Instrumented Tier0)
-4 (-6.78 % of base) : 322080.dasm - System.PackedSpanHelpers:IndexOfAnyExcept(byref,ushort,ushort,ushort,int):int (Tier0)
-9 (-6.47 % of base) : 491052.dasm - System.Security.Cryptography.Tests.HashAlgorithmTestDriver`1+<>c__DisplayClass47_0[System.__Canon]:<HashData_NotSupported>b__5():System.Object:this (Instrumented Tier0)
-4 (-6.25 % of base) : 229735.dasm - System.Data.Odbc.OdbcConnection:HandleError(System.Data.Odbc.OdbcHandle,short):this (Tier0)
-32 (-6.14 % of base) : 73834.dasm - Microsoft.CodeAnalysis.DllImportData:MakeFlags(ubyte,int,ubyte,int,System.Nullable`1[ubyte],System.Nullable`1[ubyte]):short (Instrumented Tier0)
-2 (-5.88 % of base) : 410020.dasm - System.Reflection.Metadata.BlobBuilder:WriteInt16(short):this (Instrumented Tier0)
-2 (-5.88 % of base) : 159558.dasm - System.Reflection.Metadata.BlobBuilder:WriteInt16(short):this (Tier0)
-18 (-5.81 % of base) : 496996.dasm - System.ServiceModel.Syndication.Tests.XmlDiffDocument:set_Option(int):this (Tier0)
-2 (-5.41 % of base) : 188594.dasm - System.Collections.Immutable.Tests.ImmutableArrayExtensionsTest+<>c:<SequenceEqualEmptyDefault>b__23_0():this (Tier0)
-2 (-5.41 % of base) : 188595.dasm - System.Collections.Immutable.Tests.ImmutableArrayExtensionsTest+<>c:<SequenceEqualEmptyDefault>b__23_1():this (Tier0)
-2 (-5.41 % of base) : 188596.dasm - System.Collections.Immutable.Tests.ImmutableArrayExtensionsTest+<>c:<SequenceEqualEmptyDefault>b__23_2():this (Tier0)
-12 (-5.17 % of base) : 383945.dasm - System.Xml.XmlDiff.XmlDiffDocument:set_Option(int):this (Instrumented Tier0)
-12 (-5.17 % of base) : 382312.dasm - System.Xml.XmlDiff.XmlDiffDocument:set_Option(int):this (Tier0)
-3 (-5.08 % of base) : 339302.dasm - System.Net.Http.WinHttpHandlerUnitTests.APICallHistory:set_RequestProxySettings(System.Net.Http.WinHttpHandlerUnitTests.APICallHistory+ProxyInfo) (Tier0)
-3 (-5.08 % of base) : 331299.dasm - System.Net.Http.WinHttpHandlerUnitTests.APICallHistory:set_SessionProxySettings(System.Net.Http.WinHttpHandlerUnitTests.APICallHistory+ProxyInfo) (Tier0)
-3 (-5.08 % of base) : 338987.dasm - System.Net.Http.WinHttpHandlerUnitTests.APICallHistory:set_SessionProxySettings(System.Net.Http.WinHttpHandlerUnitTests.APICallHistory+ProxyInfo) (Tier0)
-4 (-4.76 % of base) : 4922.dasm - System.Text.RegularExpressions.Regex:ValidateOptions(int) (Tier0)
librariestestsnotieredcompilation.run.windows.x86.Release.mch
superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 100565179 (overridden on cmd)
Total bytes of diff: 100568364 (overridden on cmd)
Total bytes of delta: 3185 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
2314 : 201844.dasm (1.32 % of base)
645 : 302896.dasm (0.22 % of base)
471 : 299686.dasm (0.39 % of base)
465 : 302893.dasm (0.25 % of base)
443 : 299666.dasm (0.43 % of base)
30 : 12191.dasm (0.99 % of base)
25 : 291211.dasm (0.66 % of base)
20 : 282880.dasm (0.81 % of base)
20 : 300110.dasm (2.57 % of base)
19 : 294017.dasm (0.22 % of base)
18 : 300056.dasm (0.34 % of base)
16 : 282877.dasm (0.71 % of base)
15 : 291175.dasm (2.24 % of base)
14 : 281690.dasm (2.54 % of base)
14 : 301165.dasm (2.54 % of base)
12 : 290630.dasm (1.06 % of base)
11 : 290205.dasm (1.52 % of base)
11 : 282873.dasm (1.47 % of base)
11 : 290209.dasm (1.52 % of base)
10 : 300052.dasm (0.48 % of base)
Top file improvements (bytes):
-201 : 295758.dasm (-2.34 % of base)
-201 : 295761.dasm (-2.32 % of base)
-31 : 3530.dasm (-0.18 % of base)
-20 : 295752.dasm (-2.14 % of base)
-20 : 295755.dasm (-2.03 % of base)
-14 : 12600.dasm (-0.11 % of base)
-14 : 299053.dasm (-0.99 % of base)
-13 : 2521.dasm (-0.16 % of base)
-7 : 5709.dasm (-0.88 % of base)
-7 : 12529.dasm (-0.09 % of base)
-4 : 2126.dasm (-0.95 % of base)
-4 : 290556.dasm (-0.50 % of base)
-4 : 295757.dasm (-0.91 % of base)
-4 : 290536.dasm (-0.50 % of base)
-4 : 64494.dasm (-0.89 % of base)
-4 : 2080.dasm (-1.11 % of base)
-4 : 295760.dasm (-0.80 % of base)
-3 : 290554.dasm (-0.37 % of base)
-3 : 2124.dasm (-0.70 % of base)
-3 : 290532.dasm (-0.37 % of base)
69 total files with Code Size differences (32 improved, 37 regressed), 20 unchanged.
Top method regressions (bytes):
2314 (1.32 % of base) : 201844.dasm - System.Runtime.Serialization.Formatters.Tests.BinaryFormatterTests+<SerializableObjects>d__3:MoveNext():ubyte:this (Tier0-MinOpts)
645 (0.22 % of base) : 302896.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2217_921+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
471 (0.39 % of base) : 299686.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32506_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
465 (0.25 % of base) : 302893.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2209_920+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
443 (0.43 % of base) : 299666.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex32498_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (Tier0-MinOpts)
30 (0.99 % of base) : 12191.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1[System.__Canon]:FormatDiagnostics(System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.String,Microsoft.CodeAnalysis.Testing.DiagnosticResult[]):System.String (MinOpts)
25 (0.66 % of base) : 291211.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get72_67+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
20 (2.57 % of base) : 300110.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get235_42+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
20 (0.81 % of base) : 282880.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get930_542+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
19 (0.22 % of base) : 294017.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
18 (0.34 % of base) : 300056.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get169_25+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
16 (0.71 % of base) : 282877.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get929_541+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
15 (2.24 % of base) : 291175.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get64_59+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
14 (2.54 % of base) : 281690.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get251_178+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
14 (2.54 % of base) : 301165.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get851_368+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
12 (1.06 % of base) : 290630.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get715_510+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
11 (1.52 % of base) : 290205.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get530_386+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
11 (1.52 % of base) : 290209.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get531_387+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
11 (1.47 % of base) : 282873.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get928_540+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
10 (0.48 % of base) : 300052.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get162_24+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
Top method improvements (bytes):
-201 (-2.34 % of base) : 295758.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-201 (-2.32 % of base) : 295761.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-31 (-0.18 % of base) : 3530.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+<ResolveCoreAsync>d__50:MoveNext():this (MinOpts)
-20 (-2.14 % of base) : 295752.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-20 (-2.03 % of base) : 295755.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-14 (-0.11 % of base) : 12600.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<FixAllAnalyerDiagnosticsInScopeAsync>d__54[System.__Canon]:MoveNext():this (MinOpts)
-14 (-0.99 % of base) : 299053.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+Net:.cctor() (MinOpts)
-13 (-0.16 % of base) : 2521.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerTest`1+<CreateProjectImplAsync>d__95[System.__Canon]:MoveNext():this (MinOpts)
-7 (-0.09 % of base) : 12529.dasm - Microsoft.CodeAnalysis.Testing.CodeFixTest`1+<FixEachAnalyzerDiagnosticAsync>d__50[System.__Canon]:MoveNext():this (MinOpts)
-7 (-0.88 % of base) : 5709.dasm - Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper:.cctor() (MinOpts)
-4 (-1.11 % of base) : 2080.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String):this (MinOpts)
-4 (-0.95 % of base) : 2126.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String,Microsoft.CodeAnalysis.Testing.PackageIdentity,System.String):this (MinOpts)
-4 (-0.89 % of base) : 64494.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1:Write44_SimpleType(System.String,System.String,SerializationTypes.SimpleType,ubyte,ubyte):this (MinOpts)
-4 (-0.91 % of base) : 295757.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-4 (-0.80 % of base) : 295760.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-4 (-0.50 % of base) : 290536.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get655_479+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-4 (-0.50 % of base) : 290556.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get663_485+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-3 (-0.70 % of base) : 2124.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String,Microsoft.CodeAnalysis.AssemblyIdentityComparer,Microsoft.CodeAnalysis.Testing.PackageIdentity,System.String,System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableDictionary`2[System.String,System.Collections.Immutable.ImmutableArray`1[System.String]],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Testing.PackageIdentity],System.String):this (MinOpts)
-3 (-0.37 % of base) : 290532.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get654_478+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-3 (-0.37 % of base) : 290554.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get662_484+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
Top method regressions (percentages):
20 (2.57 % of base) : 300110.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get235_42+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
14 (2.54 % of base) : 281690.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get251_178+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
14 (2.54 % of base) : 301165.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get851_368+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 291352.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get115_101+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 291364.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get118_104+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 291371.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get120_106+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 290972.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get16_13+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 302379.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get1633_754+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 290976.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get17_14+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 302760.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get2029_876+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 291008.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get24_21+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 300220.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get307_77+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 291060.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get35_32+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 291064.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get36_33+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 290916.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get4_2+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 291119.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get49_45+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 291124.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get50_46+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 290928.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get6_4+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 292524.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get616_514+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
9 (2.36 % of base) : 291188.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get67_62+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
Top method improvements (percentages):
-201 (-2.34 % of base) : 295758.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-201 (-2.32 % of base) : 295761.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-20 (-2.14 % of base) : 295752.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-20 (-2.03 % of base) : 295755.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryMatchAtCurrentPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
-1 (-1.47 % of base) : 12185.dasm - Microsoft.CodeAnalysis.Testing.Extensions.DiagnosticExtensions:IsSuppressed(Microsoft.CodeAnalysis.Diagnostic):ubyte (MinOpts)
-1 (-1.43 % of base) : 9311.dasm - Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper:get_CompilationDiagnostics():System.Collections.Immutable.ImmutableDictionary`2[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]]:this (MinOpts)
-1 (-1.43 % of base) : 9333.dasm - Microsoft.CodeAnalysis.Testing.Lightup.AnalysisResultWrapper:GetAllDiagnostics():System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostic]:this (MinOpts)
-1 (-1.43 % of base) : 19596.dasm - Microsoft.CodeAnalysis.Testing.Lightup.SuppressionDescriptorWrapper:get_SuppressedDiagnosticId():System.String:this (MinOpts)
-2 (-1.41 % of base) : 295741.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:Scan(System.ReadOnlySpan`1[ushort]):this (MinOpts)
-2 (-1.41 % of base) : 300308.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get359_103+RunnerFactory+Runner:Scan(System.ReadOnlySpan`1[ushort]):this (MinOpts)
-1 (-1.20 % of base) : 5669.dasm - Microsoft.CodeAnalysis.Testing.AnalyzerOptionsExtensions:AnalyzerConfigOptionsProvider(Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions):System.Object (MinOpts)
-1 (-1.20 % of base) : 12676.dasm - Microsoft.CodeAnalysis.Testing.CodeActionExtensions:NestedCodeActions(Microsoft.CodeAnalysis.CodeActions.CodeAction):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CodeActions.CodeAction] (MinOpts)
-1 (-1.20 % of base) : 9636.dasm - Microsoft.CodeAnalysis.Testing.Extensions.DiagnosticExtensions:Arguments(Microsoft.CodeAnalysis.Diagnostic):System.Collections.Generic.IReadOnlyList`1[System.Object] (MinOpts)
-1 (-1.20 % of base) : 13765.dasm - Microsoft.CodeAnalysis.Testing.ProjectExtensions:AnalyzerConfigDocuments(Microsoft.CodeAnalysis.Project):System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.TextDocument] (MinOpts)
-4 (-1.11 % of base) : 2080.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String):this (MinOpts)
-1 (-1.03 % of base) : 17652.dasm - Microsoft.CodeAnalysis.Testing.Extensions.CompilationWithAnalyzersExtensions:Create(Microsoft.CodeAnalysis.Compilation,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],Microsoft.CodeAnalysis.Diagnostics.AnalyzerOptions,System.Threading.CancellationToken):Microsoft.CodeAnalysis.Diagnostics.CompilationWithAnalyzers (MinOpts)
-14 (-0.99 % of base) : 299053.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies+Net:.cctor() (MinOpts)
-4 (-0.95 % of base) : 2126.dasm - Microsoft.CodeAnalysis.Testing.ReferenceAssemblies:.ctor(System.String,Microsoft.CodeAnalysis.Testing.PackageIdentity,System.String):this (MinOpts)
-1 (-0.93 % of base) : 12677.dasm - Microsoft.CodeAnalysis.Testing.CodeActionExtensions:.cctor() (MinOpts)
-4 (-0.91 % of base) : 295757.dasm - System.Text.RegularExpressions.Generated.<RegexGenerator_g>F74B1AE921BCEFE4BA601AA541C7A23B1CA9711EA81E8FE504B5B6446748E035A__Get0_0+RunnerFactory+Runner:TryFindNextPossibleStartingPosition(System.ReadOnlySpan`1[ushort]):ubyte:this (MinOpts)
realworld.run.windows.x86.checked.mch
superpmi.py asmdiffs -target_os windows -target_arch x86 -arch x86
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 11349106 (overridden on cmd)
Total bytes of diff: 11349120 (overridden on cmd)
Total bytes of delta: 14 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
14 : 4500.dasm (0.01 % of base)
1 total files with Code Size differences (0 improved, 1 regressed), 2 unchanged.
Top method regressions (bytes):
14 (0.01 % of base) : 4500.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
Top method regressions (percentages):
14 (0.01 % of base) : 4500.dasm - FSharp.Compiler.LexFilter+LexFilterImpl:hwTokenFetch(ubyte):FSharp.Compiler.Parser+token:this (Tier0-MinOpts)
1 total methods with Code Size differences (0 improved, 1 regressed).