Assembly Diffs
linux arm64
Diffs are based on 2,544,344 contexts (1,012,496 MinOpts, 1,531,848 FullOpts).
MISSED contexts: base: 0 (0.00%), diff: 6 (0.00%)
Overall (-209,660 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
benchmarks.run.linux.arm64.checked.mch |
17,218,812 |
-816 |
benchmarks.run_pgo.linux.arm64.checked.mch |
77,518,372 |
-7,776 |
benchmarks.run_tiered.linux.arm64.checked.mch |
25,054,876 |
-144 |
coreclr_tests.run.linux.arm64.checked.mch |
518,928,388 |
-162,924 |
libraries.pmi.linux.arm64.checked.mch |
76,557,636 |
-7,608 |
libraries_tests.run.linux.arm64.Release.mch |
383,432,472 |
-17,332 |
librariestestsnotieredcompilation.run.linux.arm64.Release.mch |
165,120,196 |
-9,556 |
realworld.run.linux.arm64.checked.mch |
15,876,964 |
-3,504 |
smoke_tests.nativeaot.linux.arm64.checked.mch |
2,980,396 |
+0 |
FullOpts (-209,660 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
benchmarks.run.linux.arm64.checked.mch |
16,814,432 |
-816 |
benchmarks.run_pgo.linux.arm64.checked.mch |
55,144,000 |
-7,776 |
benchmarks.run_tiered.linux.arm64.checked.mch |
4,868,776 |
-144 |
coreclr_tests.run.linux.arm64.checked.mch |
167,326,844 |
-162,924 |
libraries.pmi.linux.arm64.checked.mch |
76,437,652 |
-7,608 |
libraries_tests.run.linux.arm64.Release.mch |
167,615,256 |
-17,332 |
librariestestsnotieredcompilation.run.linux.arm64.Release.mch |
151,717,392 |
-9,556 |
realworld.run.linux.arm64.checked.mch |
15,303,512 |
-3,504 |
smoke_tests.nativeaot.linux.arm64.checked.mch |
2,979,408 |
+0 |
Example diffs
benchmarks.run.linux.arm64.checked.mch
-12 (-21.43%) : 21876.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
@@ -41,20 +41,17 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0021 {x0 x5}, byrefRegs=0000 {}, b
cset x4, ne
ldp x1, x2, [fp, #0x10] // [V01 arg1], [V01 arg1+0x08]
; gcrRegs +[x1]
- ldr xzr, [x0]
- movz x6, #0xD1FFAB1E
- movk x6, #0xD1FFAB1E LSL #16
- movk x6, #0xD1FFAB1E LSL #32
+ ldr x6, [x0]
+ ldr x6, [x6, #0x58]
ldr x6, [x6]
- ldr x6, [x6]
- ;; size=36 bbWeight=1 PerfScore 14.50
+ ;; size=24 bbWeight=1 PerfScore 13.00
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
br x6
; gcr arg pop 0
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 56, prolog size 12, PerfScore 19.00, instruction count 14, allocated bytes for code 56 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
+; Total bytes of code 44, prolog size 12, PerfScore 17.50, instruction count 11, allocated bytes for code 44 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
; ============================================================
Unwind Info:
@@ -65,7 +62,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-12 (-16.67%) : 9078.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
@@ -12,8 +12,8 @@
;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
;* V02 tmp2 [V02,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP
;* V03 tmp3 [V03,T03] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> x0 "CSE - aggressive"
-; V05 cse1 [V05,T01] ( 2, 1 ) long -> x0 "CSE - moderate"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> x0 "CSE - aggressive"
+; V05 cse1 [V05,T01] ( 2, 1 ) long -> x1 "CSE - moderate"
;
; Lcl frame size = 0
@@ -25,28 +25,27 @@ G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0]
- cbnz w0, G_M5950_IG04
+ ldrb w1, [x0]
+ cbnz w1, G_M5950_IG04
;; size=20 bbWeight=1 PerfScore 5.50
-G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- mov w1, #0xD1FFAB1E
- strh w1, [x0]
+G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+ ; byrRegs +[x0]
+ movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
+ mov w2, #0xD1FFAB1E
+ strh w2, [x1]
;; size=20 bbWeight=0.50 PerfScore 1.50
-G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0]
- ;; size=16 bbWeight=1 PerfScore 4.50
+G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+ ldrb w0, [x0, #0x01]
+ ; byrRegs -[x0]
+ ;; size=4 bbWeight=1 PerfScore 3.00
G_M5950_IG05: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 72, prolog size 8, PerfScore 15.00, instruction count 18, allocated bytes for code 72 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
+; Total bytes of code 60, prolog size 8, PerfScore 13.50, instruction count 15, allocated bytes for code 60 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
; ============================================================
Unwind Info:
@@ -57,7 +56,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 18 (0x00012) Actual length = 72 (0x000048)
+ Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-8 (-8.33%) : 31685.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (FullOpts)
@@ -11,7 +11,7 @@
; V00 this [V00,T01] ( 3, 3 ) ref -> x0 this class-hnd single-def <System.Threading.WaitHandle>
;* V01 arg1 [V01 ] ( 0, 0 ) ubyte -> zero-ref single-def
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T00] ( 4, 6 ) ref -> x19 class-hnd exact single-def "dup spill" <<unknown class>>
+; V03 tmp1 [V03,T00] ( 5, 7 ) ref -> x19 class-hnd exact single-def "dup spill" <<unknown class>>
;* V04 tmp2 [V04 ] ( 0, 0 ) ref -> zero-ref single-def
;
; Lcl frame size = 8
@@ -38,10 +38,8 @@ G_M46591_IG04: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=800
mov x0, x19
; gcrRegs +[x0]
mov w1, #1
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x19]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30]
blr x2
; gcrRegs -[x0]
@@ -51,14 +49,14 @@ G_M46591_IG04: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=800
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
- ;; size=52 bbWeight=0.50 PerfScore 7.25
+ ;; size=44 bbWeight=0.50 PerfScore 8.00
G_M46591_IG05: ; bbWeight=0.50, epilog, nogc, extend
ldr x19, [sp, #0x18]
ldp fp, lr, [sp], #0x20
br x1
;; size=12 bbWeight=0.50 PerfScore 2.00
-; Total bytes of code 96, prolog size 12, PerfScore 17.75, instruction count 24, allocated bytes for code 96 (MethodHash=d1cf4a00) for method System.Threading.WaitHandle:Dispose(ubyte):this (FullOpts)
+; Total bytes of code 88, prolog size 12, PerfScore 18.50, instruction count 22, allocated bytes for code 88 (MethodHash=d1cf4a00) for method System.Threading.WaitHandle:Dispose(ubyte):this (FullOpts)
; ============================================================
Unwind Info:
@@ -69,7 +67,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 24 (0x00018) Actual length = 96 (0x000060)
+ Function Length : 22 (0x00016) Actual length = 88 (0x000058)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+36 (+1.10%) : 3638.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
@@ -158,12 +158,13 @@ G_M7842_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
- ldr x21, [x1]
+ ldr x1, [x1]
+ ldr x21, [x1, #0x60]
ldr x1, [x21, #0x18]
blr x1
sxtw w22, w0
cbz w22, G_M7842_IG04
- ;; size=88 bbWeight=1 PerfScore 20.00
+ ;; size=92 bbWeight=1 PerfScore 23.00
G_M7842_IG03: ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
; gcrRegs -[x20]
movz x0, #0xD1FFAB1E
@@ -173,12 +174,13 @@ G_M7842_IG03: ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x20, x0
; gcrRegs +[x20]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG04: ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x20
@@ -337,12 +339,13 @@ G_M7842_IG05: ; bbWeight=0.50, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x27, x0
; gcrRegs +[x27]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG06: ; bbWeight=1, gcrefRegs=C180000 {x19 x20 x26 x27}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x27
@@ -482,12 +485,13 @@ G_M7842_IG07: ; bbWeight=0.50, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x27, x0
; gcrRegs +[x27]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG08: ; bbWeight=1, gcrefRegs=C180000 {x19 x20 x26 x27}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x27
@@ -535,13 +539,14 @@ G_M7842_IG09: ; bbWeight=0.50, gcrefRegs=C180000 {x19 x20 x26 x27}, byref
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
+ ldr x2, [x2, #0x70]
ldr x2, [x2, #0x08]
blr x2
; gcrRegs +[x0]
mov x28, x0
; gcrRegs +[x28]
ldr w1, [fp, #0x4C] // [V45 tmp43]
- ;; size=44 bbWeight=0.50 PerfScore 6.25
+ ;; size=48 bbWeight=0.50 PerfScore 7.75
G_M7842_IG10: ; bbWeight=1, gcrefRegs=1C180000 {x19 x20 x26 x27 x28}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x28
@@ -709,12 +714,13 @@ G_M7842_IG11: ; bbWeight=0.50, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x27, x0
; gcrRegs +[x27]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG12: ; bbWeight=1, gcrefRegs=C180000 {x19 x20 x26 x27}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x27
@@ -854,12 +860,13 @@ G_M7842_IG13: ; bbWeight=0.50, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x27, x0
; gcrRegs +[x27]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG14: ; bbWeight=1, gcrefRegs=C180000 {x19 x20 x26 x27}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x27
@@ -999,12 +1006,13 @@ G_M7842_IG15: ; bbWeight=0.50, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x27, x0
; gcrRegs +[x27]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG16: ; bbWeight=1, gcrefRegs=C180000 {x19 x20 x26 x27}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x27
@@ -1144,12 +1152,13 @@ G_M7842_IG17: ; bbWeight=0.50, gcrefRegs=4100000 {x20 x26}, byrefRegs=000
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x27, x0
; gcrRegs +[x27]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG18: ; bbWeight=1, gcrefRegs=C100000 {x20 x26 x27}, byrefRegs=0000 {}, byref
; gcrRegs -[x0]
mov x0, x27
@@ -1277,7 +1286,7 @@ G_M7842_IG20: ; bbWeight=0.50, gcVars=00000000000000000000000000000000 {}
b G_M7842_IG10
;; size=8 bbWeight=0.50 PerfScore 1.50
-; Total bytes of code 3276, prolog size 44, PerfScore 662.00, instruction count 819, allocated bytes for code 3276 (MethodHash=e29ee15d) for method Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
+; Total bytes of code 3312, prolog size 44, PerfScore 677.00, instruction count 828, allocated bytes for code 3312 (MethodHash=e29ee15d) for method Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
; ============================================================
Unwind Info:
@@ -1288,7 +1297,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 819 (0x00333) Actual length = 3276 (0x000ccc)
+ Function Length : 828 (0x0033c) Actual length = 3312 (0x000cf0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+24 (+1.67%) : 8423.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
@@ -141,12 +141,13 @@ G_M25385_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
- ldr x21, [x1]
+ ldr x1, [x1]
+ ldr x21, [x1, #0x60]
ldr x1, [x21, #0x18]
blr x1
sxtw w22, w0
cbz w22, G_M25385_IG04
- ;; size=240 bbWeight=1 PerfScore 48.00
+ ;; size=244 bbWeight=1 PerfScore 51.00
G_M25385_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
movz x0, #0xD1FFAB1E
@@ -156,12 +157,13 @@ G_M25385_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x19, x0
; gcrRegs +[x19]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M25385_IG04: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x19
@@ -208,12 +210,13 @@ G_M25385_IG05: ; bbWeight=0.50, gcrefRegs=480000 {x19 x22}, byrefRegs=000
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x23, x0
; gcrRegs +[x23]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M25385_IG06: ; bbWeight=1, gcrefRegs=C80000 {x19 x22 x23}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x23
@@ -257,12 +260,13 @@ G_M25385_IG07: ; bbWeight=0.50, gcrefRegs=880000 {x19 x23}, byrefRegs=000
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x24, x0
; gcrRegs +[x24]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M25385_IG08: ; bbWeight=1, gcrefRegs=1880000 {x19 x23 x24}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x24
@@ -308,12 +312,13 @@ G_M25385_IG09: ; bbWeight=0.50, gcrefRegs=C80000 {x19 x22 x23}, byrefRegs
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x24, x0
; gcrRegs +[x24]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M25385_IG10: ; bbWeight=1, gcrefRegs=1C80000 {x19 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x24
@@ -359,12 +364,13 @@ G_M25385_IG11: ; bbWeight=0.50, gcrefRegs=1C80000 {x19 x22 x23 x24}, byre
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x25, x0
; gcrRegs +[x25]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M25385_IG12: ; bbWeight=1, gcrefRegs=3C80000 {x19 x22 x23 x24 x25}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x25
@@ -585,7 +591,7 @@ G_M25385_IG16: ; bbWeight=1, epilog, nogc, extend
ret lr
;; size=24 bbWeight=1 PerfScore 7.00
-; Total bytes of code 1436, prolog size 28, PerfScore 276.12, instruction count 359, allocated bytes for code 1436 (MethodHash=c8319cd6) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
+; Total bytes of code 1460, prolog size 28, PerfScore 286.62, instruction count 365, allocated bytes for code 1460 (MethodHash=c8319cd6) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
; ============================================================
Unwind Info:
@@ -596,7 +602,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 359 (0x00167) Actual length = 1436 (0x00059c)
+ Function Length : 365 (0x0016d) Actual length = 1460 (0x0005b4)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+12 (+2.59%) : 8411.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
@@ -71,12 +71,13 @@ G_M61493_IG02: ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=380000 {x1
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
- ldr x23, [x1]
+ ldr x1, [x1]
+ ldr x23, [x1, #0x60]
ldr x1, [x23, #0x18]
blr x1
sxtw w24, w0
cbz w24, G_M61493_IG04
- ;; size=112 bbWeight=1 PerfScore 26.00
+ ;; size=116 bbWeight=1 PerfScore 29.00
G_M61493_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=380000 {x19 x20 x21}, byref
; gcrRegs -[x22]
movz x0, #0xD1FFAB1E
@@ -86,12 +87,13 @@ G_M61493_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=380000 {x19
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x22, x0
; gcrRegs +[x22]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M61493_IG04: ; bbWeight=1, gcrefRegs=400000 {x22}, byrefRegs=380000 {x19 x20 x21}, byref, isz
; gcrRegs -[x0]
mov x0, x22
@@ -141,12 +143,13 @@ G_M61493_IG05: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=380000 {x19
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
mov x22, x0
; gcrRegs +[x22]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M61493_IG06: ; bbWeight=1, gcrefRegs=400000 {x22}, byrefRegs=380000 {x19 x20 x21}, byref
; gcrRegs -[x0]
mov x0, x22
@@ -197,7 +200,7 @@ G_M61493_IG07: ; bbWeight=1, epilog, nogc, extend
ret lr
;; size=20 bbWeight=1 PerfScore 5.00
-; Total bytes of code 464, prolog size 24, PerfScore 100.00, instruction count 116, allocated bytes for code 464 (MethodHash=8df50fca) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
+; Total bytes of code 476, prolog size 24, PerfScore 106.00, instruction count 119, allocated bytes for code 476 (MethodHash=8df50fca) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
; ============================================================
Unwind Info:
@@ -208,7 +211,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 116 (0x00074) Actual length = 464 (0x0001d0)
+ Function Length : 119 (0x00077) Actual length = 476 (0x0001dc)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
benchmarks.run_pgo.linux.arm64.checked.mch
-16 (-1.64%) : 97701.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)
@@ -9,7 +9,7 @@
; 6 inlinees with PGO data; 9 single block inlinees; 4 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T00] ( 13, 7.86) ref -> x19 this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.LocalBinderFactory>
+; V00 this [V00,T00] ( 14, 8.14) ref -> x19 this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.LocalBinderFactory>
; V01 arg1 [V01,T01] ( 15, 4.65) ref -> x20 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode>
; V02 arg2 [V02,T02] ( 4, 3.86) ref -> x2 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Binder>
; V03 loc0 [V03,T04] ( 2, 1.71) ref -> x21 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Binder>
@@ -33,7 +33,7 @@
;* V21 tmp17 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax>
;* V22 tmp18 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
; V23 tmp19 [V23,T08] ( 5, 1.13) byref -> x25 single-def "Inlining Arg"
-; V24 tmp20 [V24,T06] ( 8, 1.14) ref -> x26 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
+; V24 tmp20 [V24,T06] ( 9, 1.14) ref -> x26 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
; V25 tmp21 [V25,T14] ( 5, 0.05) ref -> x0 class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode>
;* V26 tmp22 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
;* V27 tmp23 [V27 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
@@ -288,15 +288,13 @@ G_M2997_IG24: ; bbWeight=0.28, gcrefRegs=280002 {x1 x19 x21}, byrefRegs=0
; gcrRegs -[x25]
mov x0, x19
; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x19]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20]
blr x2
; gcrRegs -[x0-x1]
b G_M2997_IG19
- ;; size=32 bbWeight=0.28 PerfScore 2.83
+ ;; size=24 bbWeight=0.28 PerfScore 3.25
G_M2997_IG25: ; bbWeight=0.01, gcrefRegs=6280000 {x19 x21 x25 x26}, byrefRegs=10000000 {x28}, byref, isz
; gcrRegs +[x25-x26]
; byrRegs +[x28]
@@ -452,10 +450,8 @@ G_M2997_IG34: ; bbWeight=0, gcrefRegs=C280000 {x19 x21 x26 x27}, byrefReg
mov x0, x26
; gcrRegs +[x0]
mov w1, #1
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x26]
+ ldr x2, [x2, #0x50]
ldr x2, [x2]
blr x2
; gcrRegs -[x0]
@@ -480,7 +476,7 @@ G_M2997_IG34: ; bbWeight=0, gcrefRegs=C280000 {x19 x21 x26 x27}, byrefReg
mov x1, x0
; gcrRegs +[x1]
cbnz x28, G_M2997_IG31
- ;; size=88 bbWeight=0 PerfScore 0.00
+ ;; size=80 bbWeight=0 PerfScore 0.00
G_M2997_IG35: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x0-x1 x19 x21]
; byrRegs -[x28]
@@ -492,7 +488,7 @@ G_M2997_IG35: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 976, prolog size 28, PerfScore 45.84, instruction count 244, allocated bytes for code 976 (MethodHash=4a46f44a) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)
+; Total bytes of code 960, prolog size 28, PerfScore 46.27, instruction count 240, allocated bytes for code 960 (MethodHash=4a46f44a) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)
; ============================================================
Unwind Info:
@@ -503,7 +499,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 244 (0x000f4) Actual length = 976 (0x0003d0)
+ Function Length : 240 (0x000f0) Actual length = 960 (0x0003c0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-16 (-0.83%) : 47822.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
@@ -8,8 +8,8 @@
; 21 inlinees with PGO data; 58 single block inlinees; 12 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T50] ( 6, 5 ) ref -> x19 class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.String]>
-; V01 loc0 [V01,T51] ( 5, 7 ) ref -> x20 class-hnd <System.IO.MemoryStream>
+; V00 arg0 [V00,T51] ( 6, 5 ) ref -> x19 class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.String]>
+; V01 loc0 [V01,T30] ( 7, 11.50) ref -> x20 class-hnd <System.IO.MemoryStream>
; V02 loc1 [V02,T29] ( 9, 14.50) ref -> x21 class-hnd <ubyte[]>
;* V03 loc2 [V03 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]>
;* V04 loc3 [V04 ] ( 0, 0 ) struct (16) zero-ref <System.Span`1[ubyte]>
@@ -44,7 +44,7 @@
; V33 tmp16 [V33,T16] ( 3, 24 ) int -> x1 "impAppendStmt"
;* V34 tmp17 [V34 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V35 tmp18 [V35 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-; V36 tmp19 [V36,T35] ( 2, 8 ) ref -> x21 class-hnd "dup spill" <ubyte[]>
+; V36 tmp19 [V36,T36] ( 2, 8 ) ref -> x21 class-hnd "dup spill" <ubyte[]>
; V37 tmp20 [V37,T64] ( 2, 4 ) long -> x22 "Inlining Arg"
; V38 tmp21 [V38,T70] ( 2, 2 ) struct (40) [fp-0xA8] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.String]>
;* V39 tmp22 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
@@ -59,7 +59,7 @@
;* V48 tmp31 [V48 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V49 tmp32 [V49 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V50 tmp33 [V50 ] ( 0, 0 ) int -> zero-ref
-; V51 tmp34 [V51,T30] ( 4, 8 ) int -> x4 "Inline stloc first use temp"
+; V51 tmp34 [V51,T31] ( 4, 8 ) int -> x4 "Inline stloc first use temp"
;* V52 tmp35 [V52 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
; V53 tmp36 [V53 ] ( 3, 6 ) byref -> [fp-0xB0] must-init pinned "Inline stloc first use temp"
; V54 tmp37 [V54,T54] ( 3, 6 ) long -> x28 "Inline stloc first use temp"
@@ -79,7 +79,7 @@
;* V68 tmp51 [V68 ] ( 0, 0 ) int -> zero-ref
; V69 tmp52 [V69,T00] ( 11,156 ) int -> [fp-0xB4] "Inlining Arg"
; V70 tmp53 [V70,T02] ( 11,128 ) long -> [fp-0xC0] "Inlining Arg"
-; V71 tmp54 [V71,T43] ( 2, 8 ) long -> x5 "dup spill"
+; V71 tmp54 [V71,T44] ( 2, 8 ) long -> x5 "dup spill"
;* V72 tmp55 [V72 ] ( 0, 0 ) struct ( 8) zero-ref "dup spill" <System.ValueTuple`2[uint,uint]>
; V73 tmp56 [V73,T05] ( 3, 48 ) int -> x27 "Inline stloc first use temp"
;* V74 tmp57 [V74 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
@@ -113,8 +113,8 @@
;* V102 tmp85 [V102 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V103 tmp86 [V103 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V104 tmp87 [V104 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V105 tmp88 [V105,T44] ( 2, 8 ) int -> x3 "Inlining Arg"
-; V106 tmp89 [V106,T36] ( 2, 8 ) byref -> x6 "Inlining Arg"
+; V105 tmp88 [V105,T45] ( 2, 8 ) int -> x3 "Inlining Arg"
+; V106 tmp89 [V106,T37] ( 2, 8 ) byref -> x6 "Inlining Arg"
;* V107 tmp90 [V107 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V108 tmp91 [V108 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
; V109 tmp92 [V109,T09] ( 4, 32 ) int -> x3 "Inlining Arg"
@@ -125,8 +125,8 @@
;* V114 tmp97 [V114 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V115 tmp98 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V116 tmp99 [V116 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V117 tmp100 [V117,T45] ( 2, 8 ) int -> x26 "Inlining Arg"
-; V118 tmp101 [V118,T37] ( 2, 8 ) byref -> x28 "Inlining Arg"
+; V117 tmp100 [V117,T46] ( 2, 8 ) int -> x26 "Inlining Arg"
+; V118 tmp101 [V118,T38] ( 2, 8 ) byref -> x28 "Inlining Arg"
;* V119 tmp102 [V119 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V120 tmp103 [V120 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
; V121 tmp104 [V121,T10] ( 4, 32 ) int -> x3 "Inlining Arg"
@@ -150,20 +150,20 @@
; V139 tmp122 [V139,T07] ( 13, 45 ) int -> x23 "field V03._length (fldOffset=0x8)" P-INDEP
;* V140 tmp123 [V140 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP
;* V141 tmp124 [V141 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
-; V142 tmp125 [V142,T38] ( 2, 8 ) ref -> x25 "field V08.key (fldOffset=0x0)" P-INDEP
-; V143 tmp126 [V143,T39] ( 2, 8 ) ref -> x26 "field V08.value (fldOffset=0x8)" P-INDEP
+; V142 tmp125 [V142,T39] ( 2, 8 ) ref -> x25 "field V08.key (fldOffset=0x0)" P-INDEP
+; V143 tmp126 [V143,T40] ( 2, 8 ) ref -> x26 "field V08.value (fldOffset=0x8)" P-INDEP
;* V144 tmp127 [V144 ] ( 0, 0 ) ubyte -> zero-ref "field V16._format (fldOffset=0x0)" P-INDEP
;* V145 tmp128 [V145 ] ( 0, 0 ) ubyte -> zero-ref "field V16._precision (fldOffset=0x1)" P-INDEP
; V146 tmp129 [V146,T69] ( 2, 2 ) byref -> x22 single-def "field V18._reference (fldOffset=0x0)" P-INDEP
;* V147 tmp130 [V147,T73] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP
; V148 tmp131 [V148,T56] ( 2, 6 ) byref -> x4 "field V22._reference (fldOffset=0x0)" P-INDEP
; V149 tmp132 [V149,T57] ( 2, 6 ) int -> x5 "field V22._length (fldOffset=0x8)" P-INDEP
-; V150 tmp133 [V150,T31] ( 3, 8 ) byref -> x25 "field V26._reference (fldOffset=0x0)" P-INDEP
-; V151 tmp134 [V151,T33] ( 3, 8 ) int -> [fp-0xCC] "field V26._length (fldOffset=0x8)" P-INDEP
+; V150 tmp133 [V150,T32] ( 3, 8 ) byref -> x25 "field V26._reference (fldOffset=0x0)" P-INDEP
+; V151 tmp134 [V151,T34] ( 3, 8 ) int -> [fp-0xCC] "field V26._length (fldOffset=0x8)" P-INDEP
;* V152 tmp135 [V152 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP
;* V153 tmp136 [V153 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
-; V154 tmp137 [V154,T32] ( 3, 8 ) byref -> x28 "field V31._reference (fldOffset=0x0)" P-INDEP
-; V155 tmp138 [V155,T34] ( 3, 8 ) int -> x26 "field V31._length (fldOffset=0x8)" P-INDEP
+; V154 tmp137 [V154,T33] ( 3, 8 ) byref -> x28 "field V31._reference (fldOffset=0x0)" P-INDEP
+; V155 tmp138 [V155,T35] ( 3, 8 ) int -> x26 "field V31._length (fldOffset=0x8)" P-INDEP
;* V156 tmp139 [V156 ] ( 0, 0 ) byref -> zero-ref "field V32._reference (fldOffset=0x0)" P-INDEP
;* V157 tmp140 [V157 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
;* V158 tmp141 [V158 ] ( 0, 0 ) byref -> zero-ref "field V34._reference (fldOffset=0x0)" P-INDEP
@@ -198,26 +198,26 @@
; V187 tmp170 [V187,T66] ( 2, 4 ) int -> x6 "field V103._length (fldOffset=0x8)" P-INDEP
;* V188 tmp171 [V188 ] ( 0, 0 ) byref -> zero-ref "field V104._reference (fldOffset=0x0)" P-INDEP
;* V189 tmp172 [V189 ] ( 0, 0 ) int -> zero-ref "field V104._length (fldOffset=0x8)" P-INDEP
-; V190 tmp173 [V190,T40] ( 2, 8 ) byref -> x3 "field V110._reference (fldOffset=0x0)" P-INDEP
-; V191 tmp174 [V191,T46] ( 2, 8 ) int -> x4 "field V110._length (fldOffset=0x8)" P-INDEP
+; V190 tmp173 [V190,T41] ( 2, 8 ) byref -> x3 "field V110._reference (fldOffset=0x0)" P-INDEP
+; V191 tmp174 [V191,T47] ( 2, 8 ) int -> x4 "field V110._length (fldOffset=0x8)" P-INDEP
; V192 tmp175 [V192,T63] ( 2, 4 ) byref -> x28 "field V115._reference (fldOffset=0x0)" P-INDEP
; V193 tmp176 [V193,T67] ( 2, 4 ) int -> x26 "field V115._length (fldOffset=0x8)" P-INDEP
;* V194 tmp177 [V194 ] ( 0, 0 ) byref -> zero-ref "field V116._reference (fldOffset=0x0)" P-INDEP
;* V195 tmp178 [V195 ] ( 0, 0 ) int -> zero-ref "field V116._length (fldOffset=0x8)" P-INDEP
-; V196 tmp179 [V196,T41] ( 2, 8 ) byref -> x3 "field V122._reference (fldOffset=0x0)" P-INDEP
-; V197 tmp180 [V197,T47] ( 2, 8 ) int -> x4 "field V122._length (fldOffset=0x8)" P-INDEP
+; V196 tmp179 [V196,T42] ( 2, 8 ) byref -> x3 "field V122._reference (fldOffset=0x0)" P-INDEP
+; V197 tmp180 [V197,T48] ( 2, 8 ) int -> x4 "field V122._length (fldOffset=0x8)" P-INDEP
;* V198 tmp181 [V198 ] ( 0, 0 ) byref -> zero-ref "field V128._reference (fldOffset=0x0)" P-INDEP
;* V199 tmp182 [V199 ] ( 0, 0 ) int -> zero-ref "field V128._length (fldOffset=0x8)" P-INDEP
;* V200 tmp183 [V200 ] ( 0, 0 ) byref -> zero-ref "field V132._reference (fldOffset=0x0)" P-INDEP
;* V201 tmp184 [V201 ] ( 0, 0 ) int -> zero-ref "field V132._length (fldOffset=0x8)" P-INDEP
-; V202 tmp185 [V202,T42] ( 2, 8 ) byref -> x1 "field V133._reference (fldOffset=0x0)" P-INDEP
-; V203 tmp186 [V203,T48] ( 2, 8 ) int -> x2 "field V133._length (fldOffset=0x8)" P-INDEP
+; V202 tmp185 [V202,T43] ( 2, 8 ) byref -> x1 "field V133._reference (fldOffset=0x0)" P-INDEP
+; V203 tmp186 [V203,T49] ( 2, 8 ) int -> x2 "field V133._length (fldOffset=0x8)" P-INDEP
;* V204 tmp187 [V204 ] ( 0, 0 ) ref -> zero-ref single-def "V38.[000..008)"
; V205 tmp188 [V205,T72] ( 2, 1 ) int -> x0 "V38.[008..012)"
;* V206 tmp189 [V206 ] ( 0, 0 ) int -> zero-ref "V38.[012..016)"
;* V207 tmp190 [V207 ] ( 0, 0 ) int -> zero-ref "V38.[016..020)"
;* V208 tmp191 [V208 ] ( 0, 0 ) struct ( 8) zero-ref do-not-enreg[SF] "by-value struct argument" <System.Buffers.StandardFormat>
-; V209 tmp192 [V209,T49] ( 2, 8 ) long -> x28 "Cast away GC"
+; V209 tmp192 [V209,T50] ( 2, 8 ) long -> x28 "Cast away GC"
; V210 GsCookie [V210 ] ( 1, 1 ) long -> [fp-0xE8] do-not-enreg[X] addr-exposed "GSSecurityCookie"
; V211 cse0 [V211,T19] ( 3, 18.25) ref -> x24 hoist "CSE - moderate"
; V212 cse1 [V212,T20] ( 5, 16.25) ref -> x19 hoist "CSE - moderate"
@@ -713,10 +713,8 @@ G_M33777_IG37: ; bbWeight=4, gcrefRegs=1380000 {x19 x20 x21 x24}, byrefRe
sxtw w2, w25
mov x0, x20
; gcrRegs +[x0]
- movz x3, #0xD1FFAB1E
- movk x3, #0xD1FFAB1E LSL #16
- movk x3, #0xD1FFAB1E LSL #32
- ldr x3, [x3]
+ ldr x3, [x20]
+ ldr x3, [x3, #0x68]
ldr x3, [x3, #0x38]
blr x3
; gcrRegs -[x0]
@@ -733,22 +731,20 @@ G_M33777_IG37: ; bbWeight=4, gcrefRegs=1380000 {x19 x20 x21 x24}, byrefRe
blr x2
; gcr arg pop 0
cbnz w0, G_M33777_IG07
- ;; size=76 bbWeight=4 PerfScore 74.00
+ ;; size=68 bbWeight=4 PerfScore 80.00
G_M33777_IG38: ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x19 x24]
; byrRegs -[x22]
mov x0, x20
; gcrRegs +[x0]
mov x1, xzr
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x20]
+ ldr x2, [x2, #0x50]
ldr x2, [x2, #0x18]
blr x2
; gcrRegs -[x0]
; gcr arg pop 0
- ;; size=32 bbWeight=0.50 PerfScore 4.75
+ ;; size=24 bbWeight=0.50 PerfScore 5.50
G_M33777_IG39: ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
cbz x21, G_M33777_IG41
;; size=4 bbWeight=1 PerfScore 1.00
@@ -943,7 +939,7 @@ G_M33777_IG50: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1920, prolog size 76, PerfScore 1174.00, instruction count 480, allocated bytes for code 1920 (MethodHash=d24f7c0e) for method System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
+; Total bytes of code 1904, prolog size 76, PerfScore 1180.75, instruction count 476, allocated bytes for code 1904 (MethodHash=d24f7c0e) for method System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
; ============================================================
Unwind Info:
@@ -954,7 +950,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 480 (0x001e0) Actual length = 1920 (0x000780)
+ Function Length : 476 (0x001dc) Actual length = 1904 (0x000770)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-8 (-0.68%) : 87824.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
@@ -9,7 +9,7 @@
; 14 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T01] ( 8, 3 ) ref -> x20 this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+; V00 this [V00,T01] ( 9, 3 ) ref -> x20 this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
; V01 arg1 [V01,T00] ( 11, 6.59) ref -> x19 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Symbol>
; V02 arg2 [V02,T02] ( 3, 2 ) ref -> x21 class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -343,15 +343,13 @@ G_M44692_IG29: ; bbWeight=0, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00
ldr x1, [fp, #0xA8] // [V53 tmp50]
; gcrRegs +[x1]
mov x0, x20
- movz x4, #0xD1FFAB1E
- movk x4, #0xD1FFAB1E LSL #16
- movk x4, #0xD1FFAB1E LSL #32
- ldr x4, [x4]
+ ldr x4, [x20]
+ ldr x4, [x4, #0x48]
ldr x4, [x4, #0x28]
blr x4
; gcrRegs -[x0-x3 x19]
b G_M44692_IG31
- ;; size=72 bbWeight=0 PerfScore 0.00
+ ;; size=64 bbWeight=0 PerfScore 0.00
G_M44692_IG30: ; bbWeight=0, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
ldr x0, [fp, #0xA8] // [V53 tmp50]
; gcrRegs +[x0]
@@ -578,7 +576,7 @@ G_M44692_IG46: ; bbWeight=0, gcrefRegs=1700104 {x2 x8 x20 x21 x22 x24}, b
b G_M44692_IG23
;; size=60 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1168, prolog size 60, PerfScore 88.87, instruction count 292, allocated bytes for code 1168 (MethodHash=aaa7516b) for method Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
+; Total bytes of code 1160, prolog size 60, PerfScore 88.87, instruction count 290, allocated bytes for code 1160 (MethodHash=aaa7516b) for method Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
; ============================================================
Unwind Info:
@@ -589,7 +587,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 292 (0x00124) Actual length = 1168 (0x000490)
+ Function Length : 290 (0x00122) Actual length = 1160 (0x000488)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-8 (-0.14%) : 88528.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
@@ -10,7 +10,7 @@
; Final local variable assignments
;
; V00 this [V00,T02] ( 38, 7 ) ref -> x19 this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase>
-; V01 arg1 [V01,T15] ( 24, 3 ) ref -> x20 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+; V01 arg1 [V01,T15] ( 25, 3 ) ref -> x20 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
; V02 loc0 [V02,T30] ( 16, 2 ) int -> x21
;* V03 loc1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <<unknown class>>
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -2628,16 +2628,14 @@ G_M38586_IG139: ; bbWeight=0, gcrefRegs=FD80004 {x2 x19 x20 x22 x23 x24 x
mov x1, x26
; gcrRegs +[x1]
mov x0, x20
- movz x4, #0xD1FFAB1E
- movk x4, #0xD1FFAB1E LSL #16
- movk x4, #0xD1FFAB1E LSL #32
- ldr x4, [x4]
+ ldr x4, [x20]
+ ldr x4, [x4, #0x48]
ldr x4, [x4, #0x28]
blr x4
; gcrRegs -[x0-x3 x26 x28]
; gcr arg pop 0
b G_M38586_IG141
- ;; size=76 bbWeight=0 PerfScore 0.00
+ ;; size=68 bbWeight=0 PerfScore 0.00
G_M38586_IG140: ; bbWeight=0, gcrefRegs=FD80000 {x19 x20 x22 x23 x24 x25 x26 x27}, byrefRegs=0000 {}, byref
; gcrRegs +[x26]
ldr w0, [x26, #0x20]
@@ -2710,7 +2708,7 @@ G_M38586_IG144: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000
b G_M38586_IG46
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 5904, prolog size 88, PerfScore 263.03, instruction count 1476, allocated bytes for code 5904 (MethodHash=a68b6945) for method Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
+; Total bytes of code 5896, prolog size 88, PerfScore 263.03, instruction count 1474, allocated bytes for code 5896 (MethodHash=a68b6945) for method Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
; ============================================================
Unwind Info:
@@ -2721,7 +2719,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 1476 (0x005c4) Actual length = 5904 (0x001710)
+ Function Length : 1474 (0x005c2) Actual length = 5896 (0x001708)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-12 (-0.11%) : 63744.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
@@ -4833,17 +4833,14 @@ G_M21650_IG216: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, by
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M21650_IG217: ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
; gcrRegs -[x19] +[x0]
- ldr xzr, [x0]
- movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr x1, [x1]
+ ldr x1, [x0]
+ ldr x1, [x1, #0x48]
ldr x1, [x1, #0x08]
blr x1
; gcr arg pop 0
mov x19, x0
; gcrRegs +[x19]
- ;; size=32 bbWeight=0.50 PerfScore 6.00
+ ;; size=20 bbWeight=0.50 PerfScore 5.25
G_M21650_IG218: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x19
@@ -4956,7 +4953,7 @@ G_M21650_IG227: ; bbWeight=0, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRe
b G_M21650_IG197
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 11404, prolog size 84, PerfScore 6895.25, instruction count 2851, allocated bytes for code 11404 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
+; Total bytes of code 11392, prolog size 84, PerfScore 6894.50, instruction count 2848, allocated bytes for code 11392 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
; ============================================================
Unwind Info:
@@ -4967,7 +4964,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 2851 (0x00b23) Actual length = 11404 (0x002c8c)
+ Function Length : 2848 (0x00b20) Actual length = 11392 (0x002c80)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+0.23%) : 112698.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
@@ -173,6 +173,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0xC0]
ldr x1, [x1, #0x30]
blr x1
; gcrRegs +[x0]
@@ -192,7 +193,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs -[x0]
; gcr arg pop 0
cbz w0, G_M22068_IG13
- ;; size=80 bbWeight=1 PerfScore 22.00
+ ;; size=84 bbWeight=1 PerfScore 25.00
G_M22068_IG07: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
movz x21, #0xD1FFAB1E
movk x21, #0xD1FFAB1E LSL #16
@@ -841,7 +842,7 @@ G_M22068_IG46: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
brk_unix #0
;; size=52 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1772, prolog size 60, PerfScore 971.12, instruction count 443, allocated bytes for code 1772 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
+; Total bytes of code 1776, prolog size 60, PerfScore 974.12, instruction count 444, allocated bytes for code 1776 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
; ============================================================
Unwind Info:
@@ -852,7 +853,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 403 (0x00193) Actual length = 1612 (0x00064c)
+ Function Length : 404 (0x00194) Actual length = 1616 (0x000650)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
benchmarks.run_tiered.linux.arm64.checked.mch
-16 (-2.70%) : 61140.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
@@ -20,11 +20,11 @@
;* V08 tmp3 [V08 ] ( 0, 0 ) ubyte -> zero-ref do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V09 tmp4 [V09,T00] ( 6, 24 ) ref -> x24 class-hnd exact "Inlining Arg" <System.Threading.TimerHolder>
;* V10 tmp5 [V10 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V11 tmp6 [V11,T06] ( 8, 4 ) ref -> x19 class-hnd exact "dup spill" <<unknown class>>
+; V11 tmp6 [V11,T05] ( 10, 5 ) ref -> x19 class-hnd exact "dup spill" <<unknown class>>
;* V12 tmp7 [V12 ] ( 0, 0 ) ref -> zero-ref
; V13 PSPSym [V13,T08] ( 1, 1 ) long -> [fp+0x18] do-not-enreg[V] "PSPSym"
; V14 cse0 [V14,T04] ( 5, 6.04) int -> x21 "CSE - aggressive"
-; V15 cse1 [V15,T05] ( 4, 4.54) byref -> x22 hoist multi-def "CSE - aggressive"
+; V15 cse1 [V15,T06] ( 4, 4.54) byref -> x22 hoist multi-def "CSE - aggressive"
;
; Lcl frame size = 16
@@ -183,10 +183,8 @@ G_M41124_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
cbz x19, G_M41124_IG11
mov x0, x19
mov w1, #1
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x19]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30]
blr x2
; gcrRegs -[x0]
@@ -200,7 +198,7 @@ G_M41124_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
blr x1
; gcrRegs -[x0 x19]
; gcr arg pop 0
- ;; size=68 bbWeight=0.50 PerfScore 10.75
+ ;; size=60 bbWeight=0.50 PerfScore 11.50
G_M41124_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr x0, [fp, #0x88] // [V01 loc0]
; gcrRegs +[x0]
@@ -237,10 +235,8 @@ G_M41124_IG14: ; bbWeight=0, gcVars=0000000000000004 {V01}, gcrefRegs=000
cbz x19, G_M41124_IG15
mov x0, x19
mov w1, #1
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x19]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30]
blr x2
; gcrRegs -[x0]
@@ -254,7 +250,7 @@ G_M41124_IG14: ; bbWeight=0, gcVars=0000000000000004 {V01}, gcrefRegs=000
blr x1
; gcrRegs -[x0 x19]
; gcr arg pop 0
- ;; size=76 bbWeight=0 PerfScore 0.00
+ ;; size=68 bbWeight=0 PerfScore 0.00
G_M41124_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr x0, [fp, #0x88] // [V01 loc0]
; gcrRegs +[x0]
@@ -272,7 +268,7 @@ G_M41124_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ret lr
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 592, prolog size 36, PerfScore 191.08, instruction count 148, allocated bytes for code 592 (MethodHash=0e595f5b) for method System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
+; Total bytes of code 576, prolog size 36, PerfScore 191.83, instruction count 144, allocated bytes for code 576 (MethodHash=0e595f5b) for method System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
; ============================================================
Unwind Info:
@@ -283,7 +279,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 114 (0x00072) Actual length = 456 (0x0001c8)
+ Function Length : 112 (0x00070) Actual length = 448 (0x0001c0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -306,7 +302,7 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 34 (0x00022) Actual length = 136 (0x000088)
+ Function Length : 32 (0x00020) Actual length = 128 (0x000080)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
-16 (-2.63%) : 46182.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetWellKnownTypeMember(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,int,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,ubyte):Microsoft.CodeAnalysis.CSharp.Symbol (Tier1)
@@ -10,7 +10,7 @@
;
; V00 arg0 [V00,T04] ( 3, 3 ) ref -> x0 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.CSharpCompilation>
; V01 arg1 [V01,T05] ( 3, 3 ) int -> x1 single-def
-; V02 arg2 [V02,T00] ( 12, 7 ) ref -> x19 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+; V02 arg2 [V02,T00] ( 14, 8 ) ref -> x19 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
; V03 arg3 [V03,T07] ( 3, 2.50) ref -> x21 class-hnd single-def <Microsoft.CodeAnalysis.Location>
; V04 arg4 [V04,T01] ( 4, 3.50) ref -> x20 class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode>
; V05 arg5 [V05,T06] ( 3, 3 ) ubyte -> x5 single-def
@@ -153,15 +153,13 @@ G_M35440_IG04: ; bbWeight=0.50, gcrefRegs=1F80004 {x2 x19 x20 x21 x22 x23
mov x1, x21
; gcrRegs +[x1]
mov x0, x19
- movz x4, #0xD1FFAB1E
- movk x4, #0xD1FFAB1E LSL #16
- movk x4, #0xD1FFAB1E LSL #32
- ldr x4, [x4]
+ ldr x4, [x19]
+ ldr x4, [x4, #0x48]
ldr x4, [x4, #0x28]
blr x4
; gcrRegs -[x0-x3 x21 x25]
b G_M35440_IG06
- ;; size=72 bbWeight=0.50 PerfScore 12.00
+ ;; size=64 bbWeight=0.50 PerfScore 12.75
G_M35440_IG05: ; bbWeight=0.50, gcrefRegs=1E80000 {x19 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[x21]
ldr w0, [x21, #0x20]
@@ -268,15 +266,13 @@ G_M35440_IG12: ; bbWeight=0.50, gcrefRegs=1F80004 {x2 x19 x20 x21 x22 x23
mov x1, x20
; gcrRegs +[x1]
mov x0, x19
- movz x4, #0xD1FFAB1E
- movk x4, #0xD1FFAB1E LSL #16
- movk x4, #0xD1FFAB1E LSL #32
- ldr x4, [x4]
+ ldr x4, [x19]
+ ldr x4, [x4, #0x48]
ldr x4, [x4, #0x28]
blr x4
; gcrRegs -[x0-x3 x20 x25]
b G_M35440_IG14
- ;; size=72 bbWeight=0.50 PerfScore 12.00
+ ;; size=64 bbWeight=0.50 PerfScore 12.75
G_M35440_IG13: ; bbWeight=0.50, gcrefRegs=1D80000 {x19 x20 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[x20]
ldr w0, [x20, #0x20]
@@ -316,7 +312,7 @@ G_M35440_IG16: ; bbWeight=0.50, gcrefRegs=1480000 {x19 x22 x24}, byrefReg
b G_M35440_IG09
;; size=32 bbWeight=0.50 PerfScore 3.75
-; Total bytes of code 608, prolog size 32, PerfScore 98.50, instruction count 152, allocated bytes for code 608 (MethodHash=ea58758f) for method Microsoft.CodeAnalysis.CSharp.Binder:GetWellKnownTypeMember(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,int,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,ubyte):Microsoft.CodeAnalysis.CSharp.Symbol (Tier1)
+; Total bytes of code 592, prolog size 32, PerfScore 100.00, instruction count 148, allocated bytes for code 592 (MethodHash=ea58758f) for method Microsoft.CodeAnalysis.CSharp.Binder:GetWellKnownTypeMember(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,int,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,ubyte):Microsoft.CodeAnalysis.CSharp.Symbol (Tier1)
; ============================================================
Unwind Info:
@@ -327,7 +323,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 152 (0x00098) Actual length = 608 (0x000260)
+ Function Length : 148 (0x00094) Actual length = 592 (0x000250)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-8 (-2.38%) : 24679.dasm - System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)
@@ -9,13 +9,13 @@
; Final local variable assignments
;
; V00 this [V00,T00] ( 5, 4 ) ref -> x19 this class-hnd single-def <System.Threading.ManualResetEventSlim>
-; V01 arg1 [V01,T01] ( 3, 2.50) ubyte -> x1 single-def
+; V01 arg1 [V01,T02] ( 3, 2.50) ubyte -> x1 single-def
; V02 loc0 [V02,T03] ( 7, 3.50) ref -> x20 class-hnd exact single-def <<unknown class>>
; V03 loc1 [V03,T08] ( 2, 0 ) ref -> [fp+0x10] class-hnd exact EH-live single-def <<unknown class>>
; V04 loc2 [V04 ] ( 6, 2.50) ubyte -> [fp+0x18] do-not-enreg[X] addr-exposed ld-addr-op
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V06 tmp1 [V06,T05] ( 2, 2 ) ubyte -> x0 "Inlining Arg"
-; V07 tmp2 [V07,T02] ( 4, 4 ) ref -> x21 class-hnd exact single-def "dup spill" <<unknown class>>
+; V07 tmp2 [V07,T01] ( 5, 5 ) ref -> x21 class-hnd exact single-def "dup spill" <<unknown class>>
;* V08 tmp3 [V08 ] ( 0, 0 ) ref -> zero-ref single-def
; V09 PSPSym [V09,T07] ( 1, 1 ) long -> [fp+0x20] do-not-enreg[V] "PSPSym"
; V10 cse0 [V10,T04] ( 4, 3 ) byref -> x0 "CSE - aggressive"
@@ -109,10 +109,8 @@ G_M198_IG08: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000
mov x0, x21
; gcrRegs +[x0]
mov w1, #1
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x21]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30]
blr x2
; gcrRegs -[x0]
@@ -126,7 +124,7 @@ G_M198_IG08: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000
blr x1
; gcrRegs -[x0 x21]
; gcr arg pop 0
- ;; size=64 bbWeight=0.50 PerfScore 9.75
+ ;; size=56 bbWeight=0.50 PerfScore 10.50
G_M198_IG09: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
mov x0, x20
; gcrRegs +[x0]
@@ -175,7 +173,7 @@ G_M198_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, f
ret lr
;; size=16 bbWeight=0 PerfScore 0.00
-; Total bytes of code 336, prolog size 28, PerfScore 43.00, instruction count 84, allocated bytes for code 336 (MethodHash=9e9dff39) for method System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)
+; Total bytes of code 328, prolog size 28, PerfScore 43.75, instruction count 82, allocated bytes for code 328 (MethodHash=9e9dff39) for method System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)
; ============================================================
Unwind Info:
@@ -186,7 +184,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 71 (0x00047) Actual length = 284 (0x00011c)
+ Function Length : 69 (0x00045) Actual length = 276 (0x000114)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-8 (-0.35%) : 4185.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary
2[System.String,System.Collections.Generic.List1[System.Reflection.RuntimePropertyInfo]],System.Span
1[ubyte],ubyte,byref):this (Tier1)
@@ -21,7 +21,7 @@
; V10 loc3 [V10,T61] ( 3, 3 ) int -> [fp+0x100] spill-single-def ptr
; V11 loc4 [V11,T12] ( 9, 24.50) int -> [fp+0xFC] ptr
; V12 loc5 [V12,T17] ( 5, 16 ) int -> [fp+0xF8] spill-single-def ptr
-; V13 loc6 [V13,T09] ( 9, 46 ) ref -> [fp+0x98] class-hnd exact spill-single-def ptr <System.Reflection.RuntimePropertyInfo>
+; V13 loc6 [V13,T08] ( 10, 48 ) ref -> [fp+0x98] class-hnd exact spill-single-def ptr <System.Reflection.RuntimePropertyInfo>
; V14 loc7 [V14 ] ( 2, 4 ) ubyte -> [fp+0xF0] do-not-enreg[X] addr-exposed ld-addr-op
;* V15 loc8 [V15 ] ( 0, 0 ) struct (16) zero-ref <System.MdUtf8String>
;* V16 loc9 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Reflection.MetadataImport>
@@ -114,7 +114,7 @@
; V103 tmp79 [V103,T60] ( 3, 3.50) int -> [fp+0xC8] spill-single-def ptr "V04.[008..012)"
; V104 tmp80 [V104,T40] ( 2, 8 ) long -> x3 "Cast away GC"
; V105 tmp81 [V105,T26] ( 3, 12 ) ref -> x0 "arr expr"
-; V106 tmp82 [V106,T08] ( 3, 48 ) ref -> x0 "arr expr"
+; V106 tmp82 [V106,T09] ( 3, 48 ) ref -> x0 "arr expr"
; V107 tmp83 [V107,T01] ( 3, 96 ) ref -> x0 "arr expr"
; V108 tmp84 [V108,T06] ( 2, 64 ) ref -> x0 "argument with side effect"
; V109 GsCookie [V109 ] ( 1, 1 ) long -> [fp+0x168] do-not-enreg[X] addr-exposed "GSSecurityCookie"
@@ -622,10 +622,8 @@ G_M9628_IG39: ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, by
mov x0, x2
; gcrRegs +[x0]
mov w1, wzr
- movz x3, #0xD1FFAB1E
- movk x3, #0xD1FFAB1E LSL #16
- movk x3, #0xD1FFAB1E LSL #32
- ldr x3, [x3]
+ ldr x3, [x2]
+ ldr x3, [x3, #0x60]
str x3, [fp, #0xC0] // [V110 cse0]
ldr x4, [x3, #0x08]
; GC ptr vars -{V28}
@@ -646,7 +644,7 @@ G_M9628_IG39: ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, by
; gcrRegs +[x1]
mov x2, x1
; gcrRegs +[x2]
- ;; size=180 bbWeight=2 PerfScore 108.00
+ ;; size=172 bbWeight=2 PerfScore 111.00
G_M9628_IG40: ; bbWeight=2, gcrefRegs=900004 {x2 x20 x23}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0-x1]
cbz x2, G_M9628_IG42
@@ -754,7 +752,7 @@ G_M9628_IG44: ; bbWeight=1, gcrefRegs=900000 {x20 x23}, byrefRegs=0000 {}
; gcrRegs +[x22]
b G_M9628_IG60
;; size=8 bbWeight=1 PerfScore 3.00
-G_M9628_IG45: ; bbWeight=1, gcVars=00000000000000000004000020000220 {V03 V06 V13 V102}, gcrefRegs=900004 {x2 x20 x23}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG45: ; bbWeight=1, gcVars=00000000000000000004000020000120 {V03 V06 V13 V102}, gcrefRegs=900004 {x2 x20 x23}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[x22] +[x2]
; GC ptr vars -{V29} +{V13}
ldp x19, x22, [fp, #0xA0] // [V06 arg6], [V03 arg3]
@@ -762,7 +760,7 @@ G_M9628_IG45: ; bbWeight=1, gcVars=00000000000000000004000020000220 {V03
; byrRegs +[x19]
b G_M9628_IG59
;; size=8 bbWeight=1 PerfScore 4.00
-G_M9628_IG46: ; bbWeight=2, gcVars=00000000000000000004040000000220 {V06 V13 V19 V102}, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M9628_IG46: ; bbWeight=2, gcVars=00000000000000000004040000000120 {V06 V13 V19 V102}, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[x2]
; byrRegs -[x19]
; GC ptr vars -{V03} +{V19}
@@ -825,7 +823,7 @@ G_M9628_IG46: ; bbWeight=2, gcVars=00000000000000000004040000000220 {V06
ldr x1, [fp, #0x88] // [V20 loc13]
; gcrRegs +[x1]
;; size=144 bbWeight=2 PerfScore 63.00
-G_M9628_IG47: ; bbWeight=2, gcVars=00000000000000000004000000000220 {V06 V13 V102}, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M9628_IG47: ; bbWeight=2, gcVars=00000000000000000004000000000120 {V06 V13 V102}, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V20}
mov w2, wzr
ldr w0, [x1, #0x10]
@@ -869,7 +867,7 @@ G_M9628_IG48: ; bbWeight=16, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs
mov w2, w14
blt G_M9628_IG48
;; size=104 bbWeight=16 PerfScore 576.00
-G_M9628_IG49: ; bbWeight=2, gcVars=00000000000000000004000000000220 {V06 V13 V102}, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M9628_IG49: ; bbWeight=2, gcVars=00000000000000000004000000000120 {V06 V13 V102}, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V20}
ldp w15, w14, [x1, #0x10]
add w14, w14, #1
@@ -894,14 +892,14 @@ G_M9628_IG49: ; bbWeight=2, gcVars=00000000000000000004000000000220 {V06
; byrRegs +[x19]
b G_M9628_IG59
;; size=60 bbWeight=2 PerfScore 42.00
-G_M9628_IG50: ; bbWeight=1, gcVars=00000000000000000004000000000228 {V06 V13 V20 V102}, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG50: ; bbWeight=1, gcVars=00000000000000000004000000000128 {V06 V13 V20 V102}, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref
; byrRegs -[x19]
; GC ptr vars +{V03 V20}
ldr x1, [fp, #0x88] // [V20 loc13]
; gcrRegs +[x1]
b G_M9628_IG47
;; size=8 bbWeight=1 PerfScore 3.00
-G_M9628_IG51: ; bbWeight=2, gcVars=00000000000000000004000000000220 {V06 V13 V102}, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG51: ; bbWeight=2, gcVars=00000000000000000004000000000120 {V06 V13 V102}, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V03 V20}
mov x0, x1
; gcrRegs +[x0]
@@ -926,7 +924,7 @@ G_M9628_IG52: ; bbWeight=2, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=000
cmp w0, #0
ble G_M9628_IG59
;; size=20 bbWeight=2 PerfScore 14.00
-G_M9628_IG53: ; bbWeight=16, gcVars=00000000000000000004000000000200 {V13 V102}, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=80000 {x19}, gcvars, byref, isz
+G_M9628_IG53: ; bbWeight=16, gcVars=00000000000000000004000000000100 {V13 V102}, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=80000 {x19}, gcvars, byref, isz
; GC ptr vars -{V06}
ldr w0, [x19, #0x10]
str w2, [fp, #0xE8] // [V23 loc16]
@@ -1086,7 +1084,7 @@ G_M9628_IG66: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2280, prolog size 96, PerfScore 2217.75, instruction count 570, allocated bytes for code 2280 (MethodHash=a5a7da63) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
+; Total bytes of code 2272, prolog size 96, PerfScore 2220.75, instruction count 568, allocated bytes for code 2272 (MethodHash=a5a7da63) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
; ============================================================
Unwind Info:
@@ -1097,7 +1095,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 570 (0x0023a) Actual length = 2280 (0x0008e8)
+ Function Length : 568 (0x00238) Actual length = 2272 (0x0008e0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-12 (-0.11%) : 36159.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
@@ -4846,17 +4846,14 @@ G_M21650_IG216: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, by
;; size=8 bbWeight=0.50 PerfScore 0.75
G_M21650_IG217: ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
; gcrRegs -[x19] +[x0]
- ldr xzr, [x0]
- movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr x1, [x1]
+ ldr x1, [x0]
+ ldr x1, [x1, #0x48]
ldr x1, [x1, #0x08]
blr x1
; gcr arg pop 0
mov x19, x0
; gcrRegs +[x19]
- ;; size=32 bbWeight=0.50 PerfScore 6.00
+ ;; size=20 bbWeight=0.50 PerfScore 5.25
G_M21650_IG218: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
mov x0, x19
@@ -4943,7 +4940,7 @@ G_M21650_IG225: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 11396, prolog size 84, PerfScore 6918.25, instruction count 2849, allocated bytes for code 11396 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
+; Total bytes of code 11384, prolog size 84, PerfScore 6917.50, instruction count 2846, allocated bytes for code 11384 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
; ============================================================
Unwind Info:
@@ -4954,7 +4951,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 2849 (0x00b21) Actual length = 11396 (0x002c84)
+ Function Length : 2846 (0x00b1e) Actual length = 11384 (0x002c78)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+0.23%) : 54868.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
@@ -170,6 +170,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0xC0]
ldr x1, [x1, #0x30]
blr x1
; gcrRegs +[x0]
@@ -189,7 +190,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs -[x0]
; gcr arg pop 0
cbz w0, G_M22068_IG12
- ;; size=80 bbWeight=1 PerfScore 22.00
+ ;; size=84 bbWeight=1 PerfScore 25.00
G_M22068_IG07: ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
mov x0, x20
; gcrRegs +[x0]
@@ -812,7 +813,7 @@ G_M22068_IG43: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
brk_unix #0
;; size=56 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1716, prolog size 56, PerfScore 985.88, instruction count 429, allocated bytes for code 1716 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
+; Total bytes of code 1720, prolog size 56, PerfScore 988.88, instruction count 430, allocated bytes for code 1720 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
; ============================================================
Unwind Info:
@@ -823,7 +824,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 389 (0x00185) Actual length = 1556 (0x000614)
+ Function Length : 390 (0x00186) Actual length = 1560 (0x000618)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
coreclr_tests.run.linux.arm64.checked.mch
-16 (-23.53%) : 257853.dasm - GitHub_18497:Test():System.Numerics.Vector`1float
@@ -8,7 +8,7 @@
; Final local variable assignments
;
;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V01 cse0 [V01,T00] ( 2, 2 ) long -> x0 "CSE - aggressive"
+; V01 cse0 [V01,T00] ( 3, 3 ) long -> x0 "CSE - aggressive"
;
; Lcl frame size = 0
@@ -20,23 +20,19 @@ G_M43943_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldr q0, [x0]
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldr q1, [x0]
+ ldp q0, q1, [x0]
movz x0, #0xD1FFAB1E // code for <unknown method>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
- ;; size=52 bbWeight=1 PerfScore 14.50
+ ;; size=36 bbWeight=1 PerfScore 10.00
G_M43943_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 68, prolog size 8, PerfScore 18.00, instruction count 17, allocated bytes for code 68 (MethodHash=92ba5458) for method GitHub_18497:Test():System.Numerics.Vector`1[float] (FullOpts)
+; Total bytes of code 52, prolog size 8, PerfScore 13.50, instruction count 13, allocated bytes for code 52 (MethodHash=92ba5458) for method GitHub_18497:Test():System.Numerics.Vector`1[float] (FullOpts)
; ============================================================
Unwind Info:
@@ -47,7 +43,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 17 (0x00011) Actual length = 68 (0x000044)
+ Function Length : 13 (0x0000d) Actual length = 52 (0x000034)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-36 (-22.50%) : 261171.dasm - bug1:TestEntryPoint() (FullOpts)
@@ -9,7 +9,7 @@
;
;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V01 cse0 [V01,T01] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
-; V02 cse1 [V02,T00] ( 2, 2 ) long -> x0 "CSE - aggressive"
+; V02 cse1 [V02,T00] ( 5, 5 ) long -> x0 "CSE - aggressive"
;
; Lcl frame size = 0
@@ -30,27 +30,18 @@ G_M5006_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x0, #0xD1FFAB1E LSL #32
mov w1, #3
str w1, [x0]
- mov w0, #2
- movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- str w0, [x1]
+ mov w1, #2
+ str w1, [x0, #0x04]
fmov d16, #6.0000
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- str d16, [x0]
- mov x0, #1
- movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- str x0, [x1]
+ str d16, [x0, #0x08]
+ mov x1, #1
+ str x1, [x0, #0x10]
movz x0, #0xD1FFAB1E // code for bug1:f():int
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
ldr x0, [x0]
blr x0
- ;; size=100 bbWeight=1 PerfScore 17.50
+ ;; size=64 bbWeight=1 PerfScore 13.00
G_M5006_IG04: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
@@ -64,7 +55,7 @@ G_M5006_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
b G_M5006_IG03
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 160, prolog size 8, PerfScore 26.50, instruction count 40, allocated bytes for code 160 (MethodHash=c14fec71) for method bug1:TestEntryPoint() (FullOpts)
+; Total bytes of code 124, prolog size 8, PerfScore 22.00, instruction count 31, allocated bytes for code 124 (MethodHash=c14fec71) for method bug1:TestEntryPoint() (FullOpts)
; ============================================================
Unwind Info:
@@ -75,7 +66,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
+ Function Length : 31 (0x0001f) Actual length = 124 (0x00007c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-12 (-16.67%) : 203945.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
@@ -12,8 +12,8 @@
;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
;* V02 tmp2 [V02,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP
;* V03 tmp3 [V03,T03] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> x0 "CSE - aggressive"
-; V05 cse1 [V05,T01] ( 2, 1 ) long -> x0 "CSE - moderate"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> x0 "CSE - aggressive"
+; V05 cse1 [V05,T01] ( 2, 1 ) long -> x1 "CSE - moderate"
;
; Lcl frame size = 0
@@ -25,28 +25,27 @@ G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0]
- cbnz w0, G_M5950_IG04
+ ldrb w1, [x0]
+ cbnz w1, G_M5950_IG04
;; size=20 bbWeight=1 PerfScore 5.50
-G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- mov w1, #0xD1FFAB1E
- strh w1, [x0]
+G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+ ; byrRegs +[x0]
+ movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
+ mov w2, #0xD1FFAB1E
+ strh w2, [x1]
;; size=20 bbWeight=0.50 PerfScore 1.50
-G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0]
- ;; size=16 bbWeight=1 PerfScore 4.50
+G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+ ldrb w0, [x0, #0x01]
+ ; byrRegs -[x0]
+ ;; size=4 bbWeight=1 PerfScore 3.00
G_M5950_IG05: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 72, prolog size 8, PerfScore 15.00, instruction count 18, allocated bytes for code 72 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
+; Total bytes of code 60, prolog size 8, PerfScore 13.50, instruction count 15, allocated bytes for code 60 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
; ============================================================
Unwind Info:
@@ -57,7 +56,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 18 (0x00012) Actual length = 72 (0x000048)
+ Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+3.57%) : 257059.dasm - Runtime_95347:Test():int (FullOpts)
@@ -30,11 +30,12 @@ G_M13057_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x48]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
cbz x0, G_M13057_IG07
- ;; size=40 bbWeight=1 PerfScore 11.00
+ ;; size=44 bbWeight=1 PerfScore 14.00
G_M13057_IG03: ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
ldr w1, [x0, #0x08]
cmp w1, #4
@@ -65,7 +66,7 @@ G_M13057_IG08: ; bbWeight=0.50, epilog, nogc, extend
ret lr
;; size=8 bbWeight=0.50 PerfScore 1.00
-; Total bytes of code 112, prolog size 8, PerfScore 16.94, instruction count 28, allocated bytes for code 112 (MethodHash=260fccfe) for method Runtime_95347:Test():int (FullOpts)
+; Total bytes of code 116, prolog size 8, PerfScore 19.94, instruction count 29, allocated bytes for code 116 (MethodHash=260fccfe) for method Runtime_95347:Test():int (FullOpts)
; ============================================================
Unwind Info:
@@ -76,7 +77,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 29 (0x0001d) Actual length = 116 (0x000074)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+12 (+4.05%) : 200412.dasm - ForwardSubCallArgInterference3:TestEntryPoint():int (FullOpts)
@@ -13,21 +13,21 @@
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V03 tmp1 [V03,T04] ( 2, 4 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <C>
;* V04 tmp2 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V05 tmp3 [V05,T12] ( 0, 0 ) long -> zero-ref "argument with side effect"
-; V06 tmp4 [V06,T07] ( 2, 4 ) int -> x2 "argument with side effect"
-; V07 tmp5 [V07,T05] ( 2, 4 ) byref -> x3 single-def "argument with side effect"
-;* V08 tmp6 [V08,T13] ( 0, 0 ) long -> zero-ref "argument with side effect"
+; V05 tmp3 [V05,T07] ( 2, 4 ) long -> x3 "argument with side effect"
+; V06 tmp4 [V06,T08] ( 2, 4 ) int -> x4 "argument with side effect"
+; V07 tmp5 [V07,T05] ( 2, 4 ) byref -> x0 single-def "argument with side effect"
+; V08 tmp6 [V08,T09] ( 2, 4 ) long -> x5 "argument with side effect"
; V09 tmp7 [V09,T06] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
-; V10 tmp8 [V10,T08] ( 2, 4 ) int -> x19 "argument with side effect"
+; V10 tmp8 [V10,T10] ( 2, 4 ) int -> x19 "argument with side effect"
; V11 tmp9 [V11,T00] ( 6, 12 ) ref -> x1 single-def "MD array shared temp"
-; V12 tmp10 [V12,T01] ( 3, 6 ) int -> x3 "MD array shared temp"
-; V13 tmp11 [V13,T02] ( 3, 6 ) int -> x4 "MD array shared temp"
-;* V14 cse0 [V14,T14] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
+; V12 tmp10 [V12,T01] ( 3, 6 ) int -> x0 "MD array shared temp"
+; V13 tmp11 [V13,T02] ( 3, 6 ) int -> x5 "MD array shared temp"
+;* V14 cse0 [V14,T15] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
; V15 cse1 [V15,T03] ( 4, 4 ) long -> x20 "CSE - aggressive"
-; V16 cse2 [V16,T09] ( 3, 3 ) long -> x1 "CSE - aggressive"
-; V17 cse3 [V17,T10] ( 3, 3 ) int -> x0 "CSE - aggressive"
-;* V18 cse4 [V18,T15] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
-; V19 rat0 [V19,T11] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
+; V16 cse2 [V16,T11] ( 3, 3 ) long -> x1 "CSE - aggressive"
+; V17 cse3 [V17,T12] ( 3, 3 ) int -> x6 "CSE - aggressive"
+; V18 cse4 [V18,T13] ( 3, 3 ) long -> x2 "CSE - aggressive"
+; V19 rat0 [V19,T14] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
;
; Lcl frame size = 48
@@ -69,34 +69,39 @@ G_M45892_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
bl CORINFO_HELP_ASSIGN_REF
; gcrRegs -[x15 x19]
ldr w19, [fp, #0x30] // [V00 loc0+0x08]
- ldrb w2, [x20, #0x3C]
+ movz x2, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ add x3, x2, #8
+ ldrb w4, [x20, #0x3C]
ldr x1, [x1, #0x18]
; gcrRegs +[x1]
- ldr w3, [x1, #0x18]
- mov w4, wzr
- sub w3, w4, w3
- ldp w4, w0, [x1, #0x10]
- cmp w3, w4
- bhs G_M45892_IG05
- ldr w4, [x1, #0x1C]
+ ldr w0, [x1, #0x18]
mov w5, wzr
- sub w4, w5, w4
- cmp w4, w0
+ sub w0, w5, w0
+ ldp w5, w6, [x1, #0x10]
+ cmp w0, w5
bhs G_M45892_IG05
- madd w3, w3, w0, w4
- mov w4, #24
- mov x0, #32
- umaddl x3, w3, w4, x0
- add x3, x3, x1
- ; byrRegs +[x3]
- movz x1, #0xD1FFAB1E
+ ldr w5, [x1, #0x1C]
+ mov w7, wzr
+ sub w5, w7, w5
+ cmp w5, w6
+ bhs G_M45892_IG05
+ madd w0, w0, w6, w5
+ mov w5, #24
+ mov x6, #32
+ umaddl x0, w0, w5, x6
+ add x0, x0, x1
+ ; byrRegs +[x0]
+ add x5, x2, #12
+ mov x1, x3
; gcrRegs -[x1]
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- movz x4, #0xD1FFAB1E
- movk x4, #0xD1FFAB1E LSL #16
- movk x4, #0xD1FFAB1E LSL #32
+ mov w2, w4
+ mov x3, x0
+ ; byrRegs +[x3]
+ mov x4, x5
add x0, fp, #40 // [V00 loc0]
+ ; byrRegs -[x0]
movz x5, #0xD1FFAB1E // code for S0:M6(byref,ubyte,byref,byref):byte[]:this
movk x5, #0xD1FFAB1E LSL #16
movk x5, #0xD1FFAB1E LSL #32
@@ -116,7 +121,7 @@ G_M45892_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
blr x3
; gcrRegs -[x2]
ldr w0, [x20, #0x38]
- ;; size=184 bbWeight=1 PerfScore 53.00
+ ;; size=196 bbWeight=1 PerfScore 54.50
G_M45892_IG04: ; bbWeight=1, epilog, nogc, extend
ldp x19, x20, [sp, #0x40]
ldp fp, lr, [sp], #0x50
@@ -132,7 +137,7 @@ G_M45892_IG06: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
b G_M45892_IG03
;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 296, prolog size 28, PerfScore 72.00, instruction count 74, allocated bytes for code 296 (MethodHash=3a3b4cbb) for method ForwardSubCallArgInterference3:TestEntryPoint():int (FullOpts)
+; Total bytes of code 308, prolog size 28, PerfScore 73.50, instruction count 77, allocated bytes for code 308 (MethodHash=3a3b4cbb) for method ForwardSubCallArgInterference3:TestEntryPoint():int (FullOpts)
; ============================================================
Unwind Info:
@@ -143,7 +148,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 74 (0x0004a) Actual length = 296 (0x000128)
+ Function Length : 77 (0x0004d) Actual length = 308 (0x000134)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+4.55%) : 319505.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
@@ -27,6 +27,7 @@ G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28]
blr x1
; gcrRegs +[x0]
@@ -39,13 +40,13 @@ G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
- ;; size=72 bbWeight=1 PerfScore 20.00
+ ;; size=76 bbWeight=1 PerfScore 23.00
G_M26176_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
br x1
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 88, prolog size 8, PerfScore 23.50, instruction count 22, allocated bytes for code 88 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
+; Total bytes of code 92, prolog size 8, PerfScore 26.50, instruction count 23, allocated bytes for code 92 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
; ============================================================
Unwind Info:
@@ -56,7 +57,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 22 (0x00016) Actual length = 88 (0x000058)
+ Function Length : 23 (0x00017) Actual length = 92 (0x00005c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
libraries.pmi.linux.arm64.checked.mch
-12 (-21.43%) : 294142.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
@@ -41,20 +41,17 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0021 {x0 x5}, byrefRegs=0000 {}, b
cset x4, ne
ldp x1, x2, [fp, #0x10] // [V01 arg1], [V01 arg1+0x08]
; gcrRegs +[x1]
- ldr xzr, [x0]
- movz x6, #0xD1FFAB1E
- movk x6, #0xD1FFAB1E LSL #16
- movk x6, #0xD1FFAB1E LSL #32
+ ldr x6, [x0]
+ ldr x6, [x6, #0x58]
ldr x6, [x6]
- ldr x6, [x6]
- ;; size=36 bbWeight=1 PerfScore 14.50
+ ;; size=24 bbWeight=1 PerfScore 13.00
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
br x6
; gcr arg pop 0
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 56, prolog size 12, PerfScore 19.00, instruction count 14, allocated bytes for code 56 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
+; Total bytes of code 44, prolog size 12, PerfScore 17.50, instruction count 11, allocated bytes for code 44 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
; ============================================================
Unwind Info:
@@ -65,7 +62,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-8 (-14.29%) : 15597.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
@@ -7,9 +7,9 @@
; No matching PGO data
; Final local variable assignments
;
-; V00 this [V00,T00] ( 3, 3 ) ref -> x0 this class-hnd single-def <Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString>
+; V00 this [V00,T01] ( 3, 3 ) ref -> x0 this class-hnd single-def <Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02,T01] ( 3, 5 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
+; V02 tmp1 [V02,T00] ( 4, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
;* V03 tmp2 [V03 ] ( 0, 0 ) ref -> zero-ref single-def
;
; Lcl frame size = 0
@@ -33,19 +33,17 @@ G_M47078_IG04: ; bbWeight=0.50, epilog, nogc, extend
;; size=8 bbWeight=0.50 PerfScore 1.00
G_M47078_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[x0]
- movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr x1, [x1]
+ ldr x1, [x0]
+ ldr x1, [x1, #0x48]
ldr x1, [x1, #0x18]
- ;; size=20 bbWeight=0.50 PerfScore 3.75
+ ;; size=12 bbWeight=0.50 PerfScore 4.50
G_M47078_IG06: ; bbWeight=0.50, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
br x1
; gcr arg pop 0
;; size=8 bbWeight=0.50 PerfScore 1.00
-; Total bytes of code 56, prolog size 8, PerfScore 11.50, instruction count 14, allocated bytes for code 56 (MethodHash=a2af4819) for method Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 12.25, instruction count 12, allocated bytes for code 48 (MethodHash=a2af4819) for method Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
; ============================================================
Unwind Info:
@@ -56,7 +54,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
+ Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-8 (-14.29%) : 215537.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
@@ -7,9 +7,9 @@
; No matching PGO data
; Final local variable assignments
;
-; V00 this [V00,T00] ( 3, 3 ) ref -> x0 this class-hnd single-def <Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString>
+; V00 this [V00,T01] ( 3, 3 ) ref -> x0 this class-hnd single-def <Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02,T01] ( 3, 5 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
+; V02 tmp1 [V02,T00] ( 4, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
;* V03 tmp2 [V03 ] ( 0, 0 ) ref -> zero-ref single-def
;
; Lcl frame size = 0
@@ -33,19 +33,17 @@ G_M47078_IG04: ; bbWeight=0.50, epilog, nogc, extend
;; size=8 bbWeight=0.50 PerfScore 1.00
G_M47078_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[x0]
- movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr x1, [x1]
+ ldr x1, [x0]
+ ldr x1, [x1, #0x48]
ldr x1, [x1, #0x18]
- ;; size=20 bbWeight=0.50 PerfScore 3.75
+ ;; size=12 bbWeight=0.50 PerfScore 4.50
G_M47078_IG06: ; bbWeight=0.50, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
br x1
; gcr arg pop 0
;; size=8 bbWeight=0.50 PerfScore 1.00
-; Total bytes of code 56, prolog size 8, PerfScore 11.50, instruction count 14, allocated bytes for code 56 (MethodHash=a2af4819) for method Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 12.25, instruction count 12, allocated bytes for code 48 (MethodHash=a2af4819) for method Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
; ============================================================
Unwind Info:
@@ -56,7 +54,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
+ Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+4.76%) : 282535.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
@@ -30,6 +30,7 @@ G_M7230_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
+ ldr x2, [x2, #0xC0]
ldr x2, [x2, #0x10]
blr x2
; gcrRegs +[x0]
@@ -40,13 +41,13 @@ G_M7230_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
; gcrRegs -[x0 x15]
- ;; size=68 bbWeight=1 PerfScore 14.50
+ ;; size=72 bbWeight=1 PerfScore 17.50
G_M7230_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 84, prolog size 8, PerfScore 18.00, instruction count 21, allocated bytes for code 84 (MethodHash=7446e3c1) for method System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 21.00, instruction count 22, allocated bytes for code 88 (MethodHash=7446e3c1) for method System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================
Unwind Info:
@@ -57,7 +58,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 21 (0x00015) Actual length = 84 (0x000054)
+ Function Length : 22 (0x00016) Actual length = 88 (0x000058)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+4.76%) : 282543.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
@@ -30,6 +30,7 @@ G_M51153_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
+ ldr x2, [x2, #0xC0]
ldr x2, [x2, #0x10]
blr x2
; gcrRegs +[x0]
@@ -40,13 +41,13 @@ G_M51153_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
; gcrRegs -[x0 x15]
- ;; size=68 bbWeight=1 PerfScore 14.50
+ ;; size=72 bbWeight=1 PerfScore 17.50
G_M51153_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 84, prolog size 8, PerfScore 18.00, instruction count 21, allocated bytes for code 84 (MethodHash=fed8382e) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 21.00, instruction count 22, allocated bytes for code 88 (MethodHash=fed8382e) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================
Unwind Info:
@@ -57,7 +58,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 21 (0x00015) Actual length = 84 (0x000054)
+ Function Length : 22 (0x00016) Actual length = 88 (0x000058)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+4.76%) : 282547.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
@@ -30,6 +30,7 @@ G_M2750_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
ldr x2, [x2]
+ ldr x2, [x2, #0xC0]
ldr x2, [x2, #0x10]
blr x2
; gcrRegs +[x0]
@@ -40,13 +41,13 @@ G_M2750_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
; gcrRegs -[x0 x15]
- ;; size=68 bbWeight=1 PerfScore 14.50
+ ;; size=72 bbWeight=1 PerfScore 17.50
G_M2750_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 84, prolog size 8, PerfScore 18.00, instruction count 21, allocated bytes for code 84 (MethodHash=43b3f541) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 21.00, instruction count 22, allocated bytes for code 88 (MethodHash=43b3f541) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================
Unwind Info:
@@ -57,7 +58,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 21 (0x00015) Actual length = 84 (0x000054)
+ Function Length : 22 (0x00016) Actual length = 88 (0x000058)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
libraries_tests.run.linux.arm64.Release.mch
-12 (-13.04%) : 622077.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
@@ -13,7 +13,7 @@
;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
;* V02 tmp2 [V02,T01] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP
;* V03 tmp3 [V03,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> x0 "CSE - aggressive"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> x1 "CSE - aggressive"
;
; Lcl frame size = 0
@@ -22,36 +22,34 @@ G_M5950_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov fp, sp
;; size=8 bbWeight=1 PerfScore 1.50
G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0]
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
+ ldrb w0, [x1]
cbz w0, G_M5950_IG05
;; size=20 bbWeight=1 PerfScore 5.50
-G_M5950_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0]
- ;; size=16 bbWeight=1 PerfScore 4.50
+G_M5950_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {x1}, byref
+ ; byrRegs +[x1]
+ ldrb w0, [x1, #0x01]
+ ;; size=4 bbWeight=1 PerfScore 3.00
G_M5950_IG04: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0002 {x1}, gcvars, byref
mov w0, #1
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- strb w0, [x1]
- movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- strb w0, [x1]
+ movz x2, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ strb w0, [x2]
+ movz x2, #0xD1FFAB1E
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ strb w0, [x2]
b G_M5950_IG03
;; size=40 bbWeight=0 PerfScore 0.00
-; Total bytes of code 92, prolog size 8, PerfScore 13.50, instruction count 23, allocated bytes for code 92 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
+; Total bytes of code 80, prolog size 8, PerfScore 12.00, instruction count 20, allocated bytes for code 80 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
; ============================================================
Unwind Info:
@@ -62,7 +60,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 23 (0x00017) Actual length = 92 (0x00005c)
+ Function Length : 20 (0x00014) Actual length = 80 (0x000050)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-12 (-13.04%) : 638196.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
@@ -13,7 +13,7 @@
;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
;* V02 tmp2 [V02,T01] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP
;* V03 tmp3 [V03,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> x0 "CSE - aggressive"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> x1 "CSE - aggressive"
;
; Lcl frame size = 0
@@ -22,36 +22,34 @@ G_M5950_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov fp, sp
;; size=8 bbWeight=1 PerfScore 1.50
G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0]
+ movz x1, #0xD1FFAB1E
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
+ ldrb w0, [x1]
cbz w0, G_M5950_IG05
;; size=20 bbWeight=1 PerfScore 5.50
-G_M5950_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0]
- ;; size=16 bbWeight=1 PerfScore 4.50
+G_M5950_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {x1}, byref
+ ; byrRegs +[x1]
+ ldrb w0, [x1, #0x01]
+ ;; size=4 bbWeight=1 PerfScore 3.00
G_M5950_IG04: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0002 {x1}, gcvars, byref
mov w0, #1
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- strb w0, [x1]
- movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- strb w0, [x1]
+ movz x2, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ strb w0, [x2]
+ movz x2, #0xD1FFAB1E
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ strb w0, [x2]
b G_M5950_IG03
;; size=40 bbWeight=0 PerfScore 0.00
-; Total bytes of code 92, prolog size 8, PerfScore 13.50, instruction count 23, allocated bytes for code 92 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
+; Total bytes of code 80, prolog size 8, PerfScore 12.00, instruction count 20, allocated bytes for code 80 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
; ============================================================
Unwind Info:
@@ -62,7 +60,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 23 (0x00017) Actual length = 92 (0x00005c)
+ Function Length : 20 (0x00014) Actual length = 80 (0x000050)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-24 (-10.17%) : 556885.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:Dispose():this (Tier1)
@@ -9,13 +9,13 @@
; 6 inlinees with PGO data; 4 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T00] ( 7, 7 ) ref -> x19 this class-hnd single-def <System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor>
+; V00 this [V00,T03] ( 7, 7 ) ref -> x19 this class-hnd single-def <System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02,T01] ( 4, 8 ) ref -> x20 class-hnd exact single-def "dup spill" <<unknown class>>
+; V02 tmp1 [V02,T00] ( 5, 10 ) ref -> x20 class-hnd exact single-def "dup spill" <<unknown class>>
;* V03 tmp2 [V03 ] ( 0, 0 ) ref -> zero-ref single-def
-; V04 tmp3 [V04,T02] ( 4, 8 ) ref -> x20 class-hnd exact single-def "dup spill" <Microsoft.Win32.SafeHandles.SafeX509StackHandle>
+; V04 tmp3 [V04,T01] ( 5, 10 ) ref -> x20 class-hnd exact single-def "dup spill" <Microsoft.Win32.SafeHandles.SafeX509StackHandle>
;* V05 tmp4 [V05 ] ( 0, 0 ) ref -> zero-ref single-def
-; V06 tmp5 [V06,T03] ( 4, 8 ) ref -> x20 class-hnd exact single-def "dup spill" <<unknown class>>
+; V06 tmp5 [V06,T02] ( 5, 10 ) ref -> x20 class-hnd exact single-def "dup spill" <<unknown class>>
;* V07 tmp6 [V07 ] ( 0, 0 ) ref -> zero-ref single-def
; V08 tmp7 [V08,T04] ( 4, 8 ) ref -> x0 class-hnd exact single-def "dup spill" <System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor+WorkingChain>
;* V09 tmp8 [V09 ] ( 0, 0 ) ref -> zero-ref single-def
@@ -37,10 +37,8 @@ G_M39306_IG02: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
mov x0, x20
; gcrRegs +[x0]
mov w1, #1
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x20]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30]
blr x2
; gcrRegs -[x0]
@@ -48,7 +46,7 @@ G_M39306_IG02: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
; gcrRegs +[x0]
bl <unknown method>
; gcrRegs -[x0 x20]
- ;; size=48 bbWeight=1 PerfScore 15.00
+ ;; size=40 bbWeight=1 PerfScore 16.50
G_M39306_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
ldr x20, [x19, #0x18]
; gcrRegs +[x20]
@@ -56,10 +54,8 @@ G_M39306_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
mov x0, x20
; gcrRegs +[x0]
mov w1, #1
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x20]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30]
blr x2
; gcrRegs -[x0]
@@ -67,7 +63,7 @@ G_M39306_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
; gcrRegs +[x0]
bl <unknown method>
; gcrRegs -[x0 x20]
- ;; size=48 bbWeight=1 PerfScore 15.00
+ ;; size=40 bbWeight=1 PerfScore 16.50
G_M39306_IG04: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
ldr x20, [x19, #0x10]
; gcrRegs +[x20]
@@ -75,10 +71,8 @@ G_M39306_IG04: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
mov x0, x20
; gcrRegs +[x0]
mov w1, #1
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x20]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30]
blr x2
; gcrRegs -[x0]
@@ -86,7 +80,7 @@ G_M39306_IG04: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
; gcrRegs +[x0]
bl <unknown method>
; gcrRegs -[x0 x20]
- ;; size=48 bbWeight=1 PerfScore 15.00
+ ;; size=40 bbWeight=1 PerfScore 16.50
G_M39306_IG05: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
ldr x0, [x19, #0x28]
; gcrRegs +[x0]
@@ -118,7 +112,7 @@ G_M39306_IG07: ; bbWeight=1, epilog, nogc, extend
ret lr
;; size=12 bbWeight=1 PerfScore 3.00
-; Total bytes of code 236, prolog size 12, PerfScore 71.50, instruction count 59, allocated bytes for code 236 (MethodHash=dc916675) for method System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:Dispose():this (Tier1)
+; Total bytes of code 212, prolog size 12, PerfScore 76.00, instruction count 53, allocated bytes for code 212 (MethodHash=dc916675) for method System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:Dispose():this (Tier1)
; ============================================================
Unwind Info:
@@ -129,7 +123,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 59 (0x0003b) Actual length = 236 (0x0000ec)
+ Function Length : 53 (0x00035) Actual length = 212 (0x0000d4)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+2.04%) : 199754.dasm - System.GC:AllocateUninitializedArrayint:int
@@ -74,11 +74,12 @@ G_M50407_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0xA0]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
cbz x0, G_M50407_IG10
- ;; size=84 bbWeight=1 PerfScore 17.50
+ ;; size=88 bbWeight=1 PerfScore 20.50
G_M50407_IG07: ; bbWeight=0.46, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
ldr x0, [x0, #0x18]
; gcrRegs -[x0]
@@ -101,7 +102,7 @@ G_M50407_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=000
b G_M50407_IG08
;; size=8 bbWeight=0.04 PerfScore 0.06
-; Total bytes of code 196, prolog size 16, PerfScore 35.69, instruction count 49, allocated bytes for code 196 (MethodHash=a3303b18) for method System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
+; Total bytes of code 200, prolog size 16, PerfScore 38.69, instruction count 50, allocated bytes for code 200 (MethodHash=a3303b18) for method System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
; ============================================================
Unwind Info:
@@ -112,7 +113,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 49 (0x00031) Actual length = 196 (0x0000c4)
+ Function Length : 50 (0x00032) Actual length = 200 (0x0000c8)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+2.04%) : 274327.dasm - System.GC:AllocateUninitializedArrayubyte:ubyte
@@ -74,11 +74,12 @@ G_M39911_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0xA0]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
cbz x0, G_M39911_IG10
- ;; size=84 bbWeight=1 PerfScore 17.50
+ ;; size=88 bbWeight=1 PerfScore 20.50
G_M39911_IG07: ; bbWeight=0.46, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
ldr x0, [x0, #0x18]
; gcrRegs -[x0]
@@ -101,7 +102,7 @@ G_M39911_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=000
b G_M39911_IG08
;; size=8 bbWeight=0.04 PerfScore 0.06
-; Total bytes of code 196, prolog size 16, PerfScore 35.69, instruction count 49, allocated bytes for code 196 (MethodHash=4acc6418) for method System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
+; Total bytes of code 200, prolog size 16, PerfScore 38.69, instruction count 50, allocated bytes for code 200 (MethodHash=4acc6418) for method System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
; ============================================================
Unwind Info:
@@ -112,7 +113,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 49 (0x00031) Actual length = 196 (0x0000c4)
+ Function Length : 50 (0x00032) Actual length = 200 (0x0000c8)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+2.04%) : 92368.dasm - System.GC:AllocateUninitializedArrayushort:ushort
@@ -74,11 +74,12 @@ G_M8903_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0xA0]
ldr x1, [x1, #0x08]
blr x1
; gcrRegs +[x0]
cbz x0, G_M8903_IG10
- ;; size=84 bbWeight=1 PerfScore 17.50
+ ;; size=88 bbWeight=1 PerfScore 20.50
G_M8903_IG07: ; bbWeight=0.46, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
ldr x0, [x0, #0x18]
; gcrRegs -[x0]
@@ -101,7 +102,7 @@ G_M8903_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=0000
b G_M8903_IG08
;; size=8 bbWeight=0.04 PerfScore 0.06
-; Total bytes of code 196, prolog size 16, PerfScore 35.69, instruction count 49, allocated bytes for code 196 (MethodHash=3f15dd38) for method System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
+; Total bytes of code 200, prolog size 16, PerfScore 38.69, instruction count 50, allocated bytes for code 200 (MethodHash=3f15dd38) for method System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
; ============================================================
Unwind Info:
@@ -112,7 +113,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 49 (0x00031) Actual length = 196 (0x0000c4)
+ Function Length : 50 (0x00032) Actual length = 200 (0x0000c8)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
-12 (-21.43%) : 157625.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
@@ -41,20 +41,17 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0021 {x0 x5}, byrefRegs=0000 {}, b
cset x4, ne
ldp x1, x2, [fp, #0x10] // [V01 arg1], [V01 arg1+0x08]
; gcrRegs +[x1]
- ldr xzr, [x0]
- movz x6, #0xD1FFAB1E
- movk x6, #0xD1FFAB1E LSL #16
- movk x6, #0xD1FFAB1E LSL #32
+ ldr x6, [x0]
+ ldr x6, [x6, #0x58]
ldr x6, [x6]
- ldr x6, [x6]
- ;; size=36 bbWeight=1 PerfScore 14.50
+ ;; size=24 bbWeight=1 PerfScore 13.00
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x20
br x6
; gcr arg pop 0
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 56, prolog size 12, PerfScore 19.00, instruction count 14, allocated bytes for code 56 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
+; Total bytes of code 44, prolog size 12, PerfScore 17.50, instruction count 11, allocated bytes for code 44 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
; ============================================================
Unwind Info:
@@ -65,7 +62,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-12 (-16.67%) : 21630.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
@@ -12,8 +12,8 @@
;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
;* V02 tmp2 [V02,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP
;* V03 tmp3 [V03,T03] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> x0 "CSE - aggressive"
-; V05 cse1 [V05,T01] ( 2, 1 ) long -> x0 "CSE - moderate"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> x0 "CSE - aggressive"
+; V05 cse1 [V05,T01] ( 2, 1 ) long -> x1 "CSE - moderate"
;
; Lcl frame size = 0
@@ -25,28 +25,27 @@ G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0]
- cbnz w0, G_M5950_IG04
+ ldrb w1, [x0]
+ cbnz w1, G_M5950_IG04
;; size=20 bbWeight=1 PerfScore 5.50
-G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field>
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- mov w1, #0xD1FFAB1E
- strh w1, [x0]
+G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+ ; byrRegs +[x0]
+ movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field>
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
+ mov w2, #0xD1FFAB1E
+ strh w2, [x1]
;; size=20 bbWeight=0.50 PerfScore 1.50
-G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0]
- ;; size=16 bbWeight=1 PerfScore 4.50
+G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+ ldrb w0, [x0, #0x01]
+ ; byrRegs -[x0]
+ ;; size=4 bbWeight=1 PerfScore 3.00
G_M5950_IG05: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 72, prolog size 8, PerfScore 15.00, instruction count 18, allocated bytes for code 72 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
+; Total bytes of code 60, prolog size 8, PerfScore 13.50, instruction count 15, allocated bytes for code 60 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
; ============================================================
Unwind Info:
@@ -57,7 +56,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 18 (0x00012) Actual length = 72 (0x000048)
+ Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-8 (-14.29%) : 11038.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
@@ -7,9 +7,9 @@
; No matching PGO data
; Final local variable assignments
;
-; V00 this [V00,T00] ( 3, 3 ) ref -> x0 this class-hnd single-def <Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString>
+; V00 this [V00,T01] ( 3, 3 ) ref -> x0 this class-hnd single-def <Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02,T01] ( 3, 5 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
+; V02 tmp1 [V02,T00] ( 4, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
;* V03 tmp2 [V03 ] ( 0, 0 ) ref -> zero-ref single-def
;
; Lcl frame size = 0
@@ -33,19 +33,17 @@ G_M47078_IG04: ; bbWeight=0.50, epilog, nogc, extend
;; size=8 bbWeight=0.50 PerfScore 1.00
G_M47078_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[x0]
- movz x1, #0xD1FFAB1E
- movk x1, #0xD1FFAB1E LSL #16
- movk x1, #0xD1FFAB1E LSL #32
- ldr x1, [x1]
+ ldr x1, [x0]
+ ldr x1, [x1, #0x48]
ldr x1, [x1, #0x18]
- ;; size=20 bbWeight=0.50 PerfScore 3.75
+ ;; size=12 bbWeight=0.50 PerfScore 4.50
G_M47078_IG06: ; bbWeight=0.50, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
br x1
; gcr arg pop 0
;; size=8 bbWeight=0.50 PerfScore 1.00
-; Total bytes of code 56, prolog size 8, PerfScore 11.50, instruction count 14, allocated bytes for code 56 (MethodHash=a2af4819) for method Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 12.25, instruction count 12, allocated bytes for code 48 (MethodHash=a2af4819) for method Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
; ============================================================
Unwind Info:
@@ -56,7 +54,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
+ Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+8.33%) : 184433.dasm - System.Reflection.Tests.Helpers:get_ExecutingAssembly():System.Reflection.Assembly (FullOpts)
@@ -27,15 +27,16 @@ G_M55638_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28]
- ;; size=32 bbWeight=1 PerfScore 9.00
+ ;; size=36 bbWeight=1 PerfScore 12.00
G_M55638_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
br x1
; gcr arg pop 0
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 48, prolog size 8, PerfScore 12.50, instruction count 12, allocated bytes for code 48 (MethodHash=6f5c26a9) for method System.Reflection.Tests.Helpers:get_ExecutingAssembly():System.Reflection.Assembly (FullOpts)
+; Total bytes of code 52, prolog size 8, PerfScore 15.50, instruction count 13, allocated bytes for code 52 (MethodHash=6f5c26a9) for method System.Reflection.Tests.Helpers:get_ExecutingAssembly():System.Reflection.Assembly (FullOpts)
; ============================================================
Unwind Info:
@@ -46,7 +47,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
+ Function Length : 13 (0x0000d) Actual length = 52 (0x000034)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+8.33%) : 177455.dasm - System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
@@ -27,15 +27,16 @@ G_M34055_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28]
- ;; size=32 bbWeight=1 PerfScore 9.00
+ ;; size=36 bbWeight=1 PerfScore 12.00
G_M34055_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
br x1
; gcr arg pop 0
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 48, prolog size 8, PerfScore 12.50, instruction count 12, allocated bytes for code 48 (MethodHash=b4987af8) for method System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
+; Total bytes of code 52, prolog size 8, PerfScore 15.50, instruction count 13, allocated bytes for code 52 (MethodHash=b4987af8) for method System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
; ============================================================
Unwind Info:
@@ -46,7 +47,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
+ Function Length : 13 (0x0000d) Actual length = 52 (0x000034)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+8.33%) : 184211.dasm - System.Reflection.Tests.TypeInfoTests+<>c:b_180():System.Object:this (FullOpts)
@@ -28,15 +28,16 @@ G_M26384_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0xA8]
ldr x1, [x1, #0x18]
- ;; size=32 bbWeight=1 PerfScore 9.00
+ ;; size=36 bbWeight=1 PerfScore 12.00
G_M26384_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
br x1
; gcr arg pop 0
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 48, prolog size 8, PerfScore 12.50, instruction count 12, allocated bytes for code 48 (MethodHash=5be998ef) for method System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumUnderlyingType_TypeNotEnum_ThrowsArgumentException>b__18_0():System.Object:this (FullOpts)
+; Total bytes of code 52, prolog size 8, PerfScore 15.50, instruction count 13, allocated bytes for code 52 (MethodHash=5be998ef) for method System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumUnderlyingType_TypeNotEnum_ThrowsArgumentException>b__18_0():System.Object:this (FullOpts)
; ============================================================
Unwind Info:
@@ -47,7 +48,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
+ Function Length : 13 (0x0000d) Actual length = 52 (0x000034)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
realworld.run.linux.arm64.checked.mch
-36 (-7.09%) : 3801.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
@@ -13,7 +13,7 @@
;* V02 loc2 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd <<unknown class>>
; V03 loc3 [V03,T05] ( 3, 1.50) ubyte -> x20
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V05 tmp1 [V05,T00] ( 4, 3.50) ref -> x20 single-def "inline UNBOX clone1"
+; V05 tmp1 [V05,T01] ( 4, 3.50) ref -> x20 single-def "inline UNBOX clone1"
;* V06 tmp2 [V06 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
;* V07 tmp3 [V07 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V08 tmp4 [V08,T10] ( 0, 0 ) ubyte -> zero-ref single-def "field V06.hasValue (fldOffset=0x0)" P-INDEP
@@ -22,7 +22,7 @@
; V11 tmp7 [V11,T02] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V12 tmp8 [V12,T03] ( 3, 3 ) ref -> x0 single-def "argument with side effect"
; V13 PSPSym [V13,T09] ( 1, 1 ) long -> [fp+0x28] do-not-enreg[V] "PSPSym"
-; V14 cse0 [V14,T01] ( 4, 3 ) byref -> x19 "CSE - aggressive"
+; V14 cse0 [V14,T00] ( 7, 4.50) byref -> x19 "CSE - aggressive"
; V15 cse1 [V15,T06] ( 3, 1.50) long -> x1 "CSE - moderate"
;
; Lcl frame size = 32
@@ -42,19 +42,16 @@ G_M36239_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldrb w0, [x19]
cbz w0, G_M36239_IG05
;; size=20 bbWeight=1 PerfScore 5.50
-G_M36239_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0]
- ;; size=16 bbWeight=0.50 PerfScore 2.25
+G_M36239_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref
+ ; byrRegs +[x19]
+ ldrb w0, [x19, #0x01]
+ ;; size=4 bbWeight=0.50 PerfScore 1.50
G_M36239_IG04: ; bbWeight=0.50, epilog, nogc, extend
ldp x19, x20, [sp, #0x30]
ldp fp, lr, [sp], #0x40
ret lr
;; size=12 bbWeight=0.50 PerfScore 1.50
G_M36239_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, gcvars, byref
- ; byrRegs +[x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
@@ -80,12 +77,9 @@ G_M36239_IG06: ; bbWeight=0.50, gcVars=0000000000000080 {V00}, gcrefRegs=
; gcr arg pop 0
ldrb w0, [x19]
cbz w0, G_M36239_IG07
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldrb w20, [x0]
+ ldrb w20, [x19, #0x01]
b G_M36239_IG13
- ;; size=68 bbWeight=0.50 PerfScore 10.75
+ ;; size=56 bbWeight=0.50 PerfScore 10.00
G_M36239_IG07: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -173,13 +167,12 @@ G_M36239_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M36239_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- movz x0, #0xD1FFAB1E
- movk x0, #0xD1FFAB1E LSL #16
- movk x0, #0xD1FFAB1E LSL #32
- ldrb w20, [x0]
- ;; size=16 bbWeight=0.50 PerfScore 2.25
+G_M36239_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref
+ ; byrRegs +[x19]
+ ldrb w20, [x19, #0x01]
+ ;; size=4 bbWeight=0.50 PerfScore 1.50
G_M36239_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ; byrRegs -[x19]
ldrb w0, [fp, #0x20] // [V01 loc1]
cbz w0, G_M36239_IG14
ldr x0, [fp, #0x18] // [V00 loc0]
@@ -220,7 +213,7 @@ G_M36239_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ret lr
;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 508, prolog size 24, PerfScore 63.38, instruction count 127, allocated bytes for code 508 (MethodHash=70747270) for method Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
+; Total bytes of code 472, prolog size 24, PerfScore 61.12, instruction count 118, allocated bytes for code 472 (MethodHash=70747270) for method Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
; ============================================================
Unwind Info:
@@ -231,7 +224,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 116 (0x00074) Actual length = 464 (0x0001d0)
+ Function Length : 107 (0x0006b) Actual length = 428 (0x0001ac)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-40 (-5.99%) : 8109.dasm - FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:GetTyconAttribs(FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Collections.FSharpList1[FSharp.Compiler.TypedTree+Attrib]):System.Tuple
5ubyte,ubyte,ubyte,ubyte,ubyte
@@ -8,9 +8,9 @@
; 0 inlinees with PGO data; 22 single block inlinees; 5 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T10] ( 13, 13 ) ref -> x19 class-hnd single-def <FSharp.Compiler.TcGlobals+TcGlobals>
+; V00 arg0 [V00,T15] ( 13, 13 ) ref -> x19 class-hnd single-def <FSharp.Compiler.TcGlobals+TcGlobals>
; V01 arg1 [V01,T18] ( 7, 7 ) ref -> x20 class-hnd single-def <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
-; V02 loc0 [V02,T12] ( 10, 10 ) ref -> registers class-hnd <FSharp.Compiler.TcGlobals+BuiltinAttribInfo>
+; V02 loc0 [V02,T17] ( 10, 10 ) ref -> registers class-hnd <FSharp.Compiler.TcGlobals+BuiltinAttribInfo>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V04 tmp1 [V04,T19] ( 4, 8 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores+GetTyconAttribs@3149>
; V05 tmp2 [V05,T30] ( 2, 4 ) int -> x21 "impAppendStmt"
@@ -21,37 +21,37 @@
; V10 tmp7 [V10,T22] ( 4, 8 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores+GetTyconAttribs@3152-3>
; V11 tmp8 [V11,T33] ( 2, 4 ) int -> x25 "impAppendStmt"
; V12 tmp9 [V12,T23] ( 4, 8 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores+GetTyconAttribs@3153-4>
-; V13 tmp10 [V13,T11] ( 7, 14 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Tuple`5[ubyte,ubyte,ubyte,ubyte,ubyte]>
+; V13 tmp10 [V13,T16] ( 7, 14 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Tuple`5[ubyte,ubyte,ubyte,ubyte,ubyte]>
; V14 tmp11 [V14,T34] ( 3, 2 ) ubyte -> x21 "Inline return value spill temp"
; V15 tmp12 [V15,T00] ( 4, 34 ) ref -> x2 class-hnd "Inlining Arg" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
;* V16 tmp13 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
; V17 tmp14 [V17,T24] ( 2, 8 ) ref -> x21 class-hnd "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
;* V18 tmp15 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <FSharp.Compiler.TypedTree+Attrib>
-; V19 tmp16 [V19,T13] ( 2, 10 ) ref -> x22 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V19 tmp16 [V19,T10] ( 3, 18 ) ref -> x22 class-hnd single-def "Inlining Arg" <<unknown class>>
; V20 tmp17 [V20,T35] ( 3, 2 ) ubyte -> x22 "Inline return value spill temp"
; V21 tmp18 [V21,T01] ( 4, 34 ) ref -> x2 class-hnd "Inlining Arg" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
;* V22 tmp19 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
; V23 tmp20 [V23,T25] ( 2, 8 ) ref -> x22 class-hnd "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
;* V24 tmp21 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <FSharp.Compiler.TypedTree+Attrib>
-; V25 tmp22 [V25,T14] ( 2, 10 ) ref -> x24 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V25 tmp22 [V25,T11] ( 3, 18 ) ref -> x24 class-hnd single-def "Inlining Arg" <<unknown class>>
; V26 tmp23 [V26,T36] ( 3, 2 ) ubyte -> x24 "Inline return value spill temp"
; V27 tmp24 [V27,T02] ( 4, 34 ) ref -> x2 class-hnd "Inlining Arg" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
;* V28 tmp25 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
; V29 tmp26 [V29,T26] ( 2, 8 ) ref -> x24 class-hnd "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
;* V30 tmp27 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <FSharp.Compiler.TypedTree+Attrib>
-; V31 tmp28 [V31,T15] ( 2, 10 ) ref -> x25 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V31 tmp28 [V31,T12] ( 3, 18 ) ref -> x25 class-hnd single-def "Inlining Arg" <<unknown class>>
; V32 tmp29 [V32,T37] ( 3, 2 ) ubyte -> x25 "Inline return value spill temp"
; V33 tmp30 [V33,T03] ( 4, 34 ) ref -> x2 class-hnd "Inlining Arg" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
;* V34 tmp31 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
; V35 tmp32 [V35,T27] ( 2, 8 ) ref -> x25 class-hnd "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
;* V36 tmp33 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <FSharp.Compiler.TypedTree+Attrib>
-; V37 tmp34 [V37,T16] ( 2, 10 ) ref -> x26 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V37 tmp34 [V37,T13] ( 3, 18 ) ref -> x26 class-hnd single-def "Inlining Arg" <<unknown class>>
; V38 tmp35 [V38,T38] ( 3, 2 ) ubyte -> x19 "Inline return value spill temp"
; V39 tmp36 [V39,T04] ( 4, 34 ) ref -> x20 class-hnd "Inlining Arg" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
;* V40 tmp37 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
; V41 tmp38 [V41,T28] ( 2, 8 ) ref -> x19 class-hnd "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
;* V42 tmp39 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <FSharp.Compiler.TypedTree+Attrib>
-; V43 tmp40 [V43,T17] ( 2, 10 ) ref -> x23 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V43 tmp40 [V43,T14] ( 3, 18 ) ref -> x23 class-hnd single-def "Inlining Arg" <<unknown class>>
;* V44 tmp41 [V44 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V45 tmp42 [V45 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V46 tmp43 [V46 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
@@ -115,11 +115,9 @@ G_M41131_IG04: ; bbWeight=4, gcrefRegs=780004 {x2 x19 x20 x21 x22}, byref
; gcrRegs +[x1]
mov x0, x22
; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
+ ldr x2, [x22]
; gcrRegs -[x2]
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20]
blr x2
; gcrRegs -[x0-x1]
@@ -127,7 +125,7 @@ G_M41131_IG04: ; bbWeight=4, gcrefRegs=780004 {x2 x19 x20 x21 x22}, byref
mov x2, x21
; gcrRegs +[x2]
b G_M41131_IG03
- ;; size=44 bbWeight=4 PerfScore 58.00
+ ;; size=36 bbWeight=4 PerfScore 64.00
G_M41131_IG05: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
; gcrRegs -[x2 x21-x22]
mov w21, wzr
@@ -177,11 +175,9 @@ G_M41131_IG09: ; bbWeight=4, gcrefRegs=1580004 {x2 x19 x20 x22 x24}, byre
; gcrRegs +[x1]
mov x0, x24
; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
+ ldr x2, [x24]
; gcrRegs -[x2]
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20]
blr x2
; gcrRegs -[x0-x1]
@@ -189,7 +185,7 @@ G_M41131_IG09: ; bbWeight=4, gcrefRegs=1580004 {x2 x19 x20 x22 x24}, byre
mov x2, x22
; gcrRegs +[x2]
b G_M41131_IG08
- ;; size=44 bbWeight=4 PerfScore 58.00
+ ;; size=36 bbWeight=4 PerfScore 64.00
G_M41131_IG10: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
; gcrRegs -[x2 x22 x24]
mov w22, wzr
@@ -236,11 +232,9 @@ G_M41131_IG14: ; bbWeight=4, gcrefRegs=3180004 {x2 x19 x20 x24 x25}, byre
; gcrRegs +[x1]
mov x0, x25
; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
+ ldr x2, [x25]
; gcrRegs -[x2]
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20]
blr x2
; gcrRegs -[x0-x1]
@@ -248,7 +242,7 @@ G_M41131_IG14: ; bbWeight=4, gcrefRegs=3180004 {x2 x19 x20 x24 x25}, byre
mov x2, x24
; gcrRegs +[x2]
b G_M41131_IG13
- ;; size=44 bbWeight=4 PerfScore 58.00
+ ;; size=36 bbWeight=4 PerfScore 64.00
G_M41131_IG15: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
; gcrRegs -[x2 x24-x25]
mov w24, wzr
@@ -295,11 +289,9 @@ G_M41131_IG19: ; bbWeight=4, gcrefRegs=6180004 {x2 x19 x20 x25 x26}, byre
; gcrRegs +[x1]
mov x0, x26
; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
+ ldr x2, [x26]
; gcrRegs -[x2]
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20]
blr x2
; gcrRegs -[x0-x1]
@@ -307,7 +299,7 @@ G_M41131_IG19: ; bbWeight=4, gcrefRegs=6180004 {x2 x19 x20 x25 x26}, byre
mov x2, x25
; gcrRegs +[x2]
b G_M41131_IG18
- ;; size=44 bbWeight=4 PerfScore 58.00
+ ;; size=36 bbWeight=4 PerfScore 64.00
G_M41131_IG20: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
; gcrRegs -[x2 x25-x26]
mov w25, wzr
@@ -352,10 +344,8 @@ G_M41131_IG24: ; bbWeight=4, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=00
; gcrRegs +[x1]
mov x0, x23
; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x23]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20]
blr x2
; gcrRegs -[x0-x1 x20]
@@ -363,7 +353,7 @@ G_M41131_IG24: ; bbWeight=4, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=00
mov x20, x19
; gcrRegs +[x20]
b G_M41131_IG23
- ;; size=44 bbWeight=4 PerfScore 58.00
+ ;; size=36 bbWeight=4 PerfScore 64.00
G_M41131_IG25: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19-x20 x23]
mov w19, wzr
@@ -393,7 +383,7 @@ G_M41131_IG28: ; bbWeight=1, epilog, nogc, extend
ret lr
;; size=24 bbWeight=1 PerfScore 6.00
-; Total bytes of code 668, prolog size 24, PerfScore 529.50, instruction count 167, allocated bytes for code 668 (MethodHash=d9045f54) for method FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:GetTyconAttribs(FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]):System.Tuple`5[ubyte,ubyte,ubyte,ubyte,ubyte] (FullOpts)
+; Total bytes of code 628, prolog size 24, PerfScore 559.50, instruction count 157, allocated bytes for code 628 (MethodHash=d9045f54) for method FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:GetTyconAttribs(FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]):System.Tuple`5[ubyte,ubyte,ubyte,ubyte,ubyte] (FullOpts)
; ============================================================
Unwind Info:
@@ -404,7 +394,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 167 (0x000a7) Actual length = 668 (0x00029c)
+ Function Length : 157 (0x0009d) Actual length = 628 (0x000274)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-16 (-5.88%) : 595.dasm - System.IO.MemoryMappedFiles.MemoryMappedFile:Dispose(ubyte):this (FullOpts)
@@ -11,7 +11,7 @@
; V00 this [V00,T00] ( 8, 5 ) ref -> [fp+0x18] this class-hnd EH-live single-def <System.IO.MemoryMappedFiles.MemoryMappedFile>
;* V01 arg1 [V01 ] ( 0, 0 ) ubyte -> zero-ref single-def
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T01] ( 8, 4 ) ref -> x19 class-hnd exact "dup spill" <<unknown class>>
+; V03 tmp1 [V03,T01] ( 10, 5 ) ref -> x19 class-hnd exact "dup spill" <<unknown class>>
;* V04 tmp2 [V04 ] ( 0, 0 ) ref -> zero-ref
;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <<unknown class>>
; V06 tmp4 [V06,T02] ( 3, 3 ) ref -> x19 class-hnd exact single-def "Inlining Arg" <<unknown class>>
@@ -69,10 +69,8 @@ G_M36171_IG05: ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
cbz x19, G_M36171_IG06
mov x0, x19
mov w1, #1
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x19]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30]
; GC ptr vars -{V00}
blr x2
@@ -87,7 +85,7 @@ G_M36171_IG05: ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
blr x1
; gcrRegs -[x0 x19]
; gcr arg pop 0
- ;; size=64 bbWeight=0.50 PerfScore 9.75
+ ;; size=56 bbWeight=0.50 PerfScore 10.50
G_M36171_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
ldr x19, [sp, #0x28]
ldp fp, lr, [sp], #0x30
@@ -110,10 +108,8 @@ G_M36171_IG08: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
cbz x19, G_M36171_IG09
mov x0, x19
mov w1, #1
- movz x2, #0xD1FFAB1E
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
+ ldr x2, [x19]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30]
; GC ptr vars -{V00}
blr x2
@@ -128,14 +124,14 @@ G_M36171_IG08: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
blr x1
; gcrRegs -[x0 x19]
; gcr arg pop 0
- ;; size=76 bbWeight=0 PerfScore 0.00
+ ;; size=68 bbWeight=0 PerfScore 0.00
G_M36171_IG09: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
ldr x19, [sp, #0x18]
ldp fp, lr, [sp], #0x20
ret lr
;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 20, PerfScore 37.25, instruction count 68, allocated bytes for code 272 (MethodHash=43f372b4) for method System.IO.MemoryMappedFiles.MemoryMappedFile:Dispose(ubyte):this (FullOpts)
+; Total bytes of code 256, prolog size 20, PerfScore 38.00, instruction count 64, allocated bytes for code 256 (MethodHash=43f372b4) for method System.IO.MemoryMappedFiles.MemoryMappedFile:Dispose(ubyte):this (FullOpts)
; ============================================================
Unwind Info:
@@ -146,7 +142,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 42 (0x0002a) Actual length = 168 (0x0000a8)
+ Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -169,7 +165,7 @@ Unwind Info:
E bit : 1
X bit : 0
Vers : 0
- Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
+ Function Length : 24 (0x00018) Actual length = 96 (0x000060)
--- One epilog, unwind codes at 0
---- Unwind codes ----
---- Epilog start at index 0 ----
+4 (+2.13%) : 11729.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
@@ -41,6 +41,7 @@ G_M41042_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28]
blr x1
; gcrRegs +[x0]
@@ -78,14 +79,14 @@ G_M41042_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs +[x15]
bl CORINFO_HELP_ASSIGN_REF
; gcrRegs -[x0 x15]
- ;; size=164 bbWeight=1 PerfScore 46.50
+ ;; size=168 bbWeight=1 PerfScore 49.50
G_M41042_IG03: ; bbWeight=1, epilog, nogc, extend
ldp x19, x20, [sp, #0x10]
ldp fp, lr, [sp], #0x20
ret lr
;; size=12 bbWeight=1 PerfScore 3.00
-; Total bytes of code 188, prolog size 12, PerfScore 52.00, instruction count 47, allocated bytes for code 188 (MethodHash=ae3f5fad) for method SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
+; Total bytes of code 192, prolog size 12, PerfScore 55.00, instruction count 48, allocated bytes for code 192 (MethodHash=ae3f5fad) for method SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
; ============================================================
Unwind Info:
@@ -96,7 +97,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 47 (0x0002f) Actual length = 188 (0x0000bc)
+ Function Length : 48 (0x00030) Actual length = 192 (0x0000c0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+2.56%) : 3828.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
@@ -40,6 +40,7 @@ G_M45653_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28]
blr x1
; gcrRegs +[x0]
@@ -63,7 +64,7 @@ G_M45653_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
mov x14, x19
bl CORINFO_HELP_ASSIGN_REF
; gcrRegs -[x0 x15]
- ;; size=108 bbWeight=0.50 PerfScore 12.75
+ ;; size=112 bbWeight=0.50 PerfScore 14.25
G_M45653_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
ldr x0, [x19]
; gcrRegs +[x0]
@@ -74,7 +75,7 @@ G_M45653_IG05: ; bbWeight=1, epilog, nogc, extend
ret lr
;; size=12 bbWeight=1 PerfScore 4.00
-; Total bytes of code 156, prolog size 12, PerfScore 27.75, instruction count 39, allocated bytes for code 156 (MethodHash=2cf24daa) for method Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
+; Total bytes of code 160, prolog size 12, PerfScore 29.25, instruction count 40, allocated bytes for code 160 (MethodHash=2cf24daa) for method Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
; ============================================================
Unwind Info:
@@ -85,7 +86,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 39 (0x00027) Actual length = 156 (0x00009c)
+ Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+4.55%) : 3791.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
@@ -27,6 +27,7 @@ G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28]
blr x1
; gcrRegs +[x0]
@@ -39,13 +40,13 @@ G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
ldr x1, [x1]
- ;; size=72 bbWeight=1 PerfScore 20.00
+ ;; size=76 bbWeight=1 PerfScore 23.00
G_M26176_IG03: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
br x1
;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 88, prolog size 8, PerfScore 23.50, instruction count 22, allocated bytes for code 88 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
+; Total bytes of code 92, prolog size 8, PerfScore 26.50, instruction count 23, allocated bytes for code 92 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
; ============================================================
Unwind Info:
@@ -56,7 +57,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 22 (0x00016) Actual length = 88 (0x000058)
+ Function Length : 23 (0x00017) Actual length = 92 (0x00005c)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
smoke_tests.nativeaot.linux.arm64.checked.mch
+0 (0.00%) : 265.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
@@ -11,7 +11,7 @@
; V01 arg1 [V01,T03] ( 3, 18 ) long -> x19 single-def
; V02 arg2 [V02,T08] ( 3, 3 ) ushort -> x2 single-def
; V03 arg3 [V03,T04] ( 3, 18 ) long -> x20 single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> x22
+; V04 loc0 [V04,T00] ( 12,126 ) long -> x22
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> x23
; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [fp+0x18] do-not-enreg[X] addr-exposed ld-addr-op
; V07 loc3 [V07,T14] ( 3, 1.50) long -> x0
@@ -82,10 +82,10 @@ G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M48740_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
b G_M48740_IG09
;; size=4 bbWeight=1 PerfScore 1.00
-G_M48740_IG08: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48740_IG08: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
adrp x22, [HIGH RELOC #0xD1FFAB1E]
add x22, x22, [LOW RELOC #0xD1FFAB1E]
- b G_M48740_IG04
+ cbnz x22, G_M48740_IG04
;; size=12 bbWeight=16 PerfScore 32.00
G_M48740_IG09: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cbnz w23, G_M48740_IG13
Details
Improvements/regressions per collection
Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
benchmarks.run.linux.arm64.checked.mch |
89 |
72 |
17 |
0 |
-996 |
+180 |
benchmarks.run_pgo.linux.arm64.checked.mch |
494 |
493 |
1 |
0 |
-7,780 |
+4 |
benchmarks.run_tiered.linux.arm64.checked.mch |
12 |
11 |
1 |
0 |
-148 |
+4 |
coreclr_tests.run.linux.arm64.checked.mch |
1,681 |
1,399 |
277 |
5 |
-165,944 |
+3,020 |
libraries.crossgen2.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
libraries.pmi.linux.arm64.checked.mch |
876 |
734 |
142 |
0 |
-8,348 |
+740 |
libraries_tests.run.linux.arm64.Release.mch |
3,323 |
2,147 |
1,175 |
1 |
-22,076 |
+4,744 |
librariestestsnotieredcompilation.run.linux.arm64.Release.mch |
2,676 |
1,300 |
1,374 |
2 |
-17,596 |
+8,040 |
realworld.run.linux.arm64.checked.mch |
298 |
280 |
18 |
0 |
-3,620 |
+116 |
smoke_tests.nativeaot.linux.arm64.checked.mch |
1 |
0 |
0 |
1 |
-0 |
+0 |
|
9,450 |
6,436 |
3,005 |
9 |
-226,508 |
+16,848 |
Context information
Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
benchmarks.run.linux.arm64.checked.mch |
36,750 |
3,694 |
33,056 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_pgo.linux.arm64.checked.mch |
150,824 |
57,618 |
93,206 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_tiered.linux.arm64.checked.mch |
64,740 |
48,874 |
15,866 |
0 (0.00%) |
0 (0.00%) |
coreclr_tests.run.linux.arm64.checked.mch |
636,247 |
390,444 |
245,803 |
0 (0.00%) |
0 (0.00%) |
libraries.crossgen2.linux.arm64.checked.mch |
265,473 |
15 |
265,458 |
0 (0.00%) |
0 (0.00%) |
libraries.pmi.linux.arm64.checked.mch |
297,587 |
6 |
297,581 |
0 (0.00%) |
0 (0.00%) |
libraries_tests.run.linux.arm64.Release.mch |
735,172 |
490,071 |
245,101 |
0 (0.00%) |
0 (0.00%) |
librariestestsnotieredcompilation.run.linux.arm64.Release.mch |
305,209 |
21,620 |
283,589 |
0 (0.00%) |
6 (0.00%) |
realworld.run.linux.arm64.checked.mch |
33,342 |
147 |
33,195 |
0 (0.00%) |
0 (0.00%) |
smoke_tests.nativeaot.linux.arm64.checked.mch |
19,000 |
7 |
18,993 |
0 (0.00%) |
0 (0.00%) |
|
2,544,344 |
1,012,496 |
1,531,848 |
0 (0.00%) |
6 (0.00%) |
jit-analyze output
benchmarks.run.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 17218812 (overridden on cmd)
Total bytes of diff: 17217996 (overridden on cmd)
Total bytes of delta: -816 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
36 : 3638.dasm (1.10 % of base)
36 : 3523.dasm (0.66 % of base)
24 : 8423.dasm (1.67 % of base)
24 : 3586.dasm (0.66 % of base)
12 : 8411.dasm (2.59 % of base)
4 : 11760.dasm (0.16 % of base)
4 : 14090.dasm (0.79 % of base)
4 : 22573.dasm (0.13 % of base)
4 : 24690.dasm (0.65 % of base)
4 : 3386.dasm (0.44 % of base)
4 : 3613.dasm (0.25 % of base)
4 : 3694.dasm (0.35 % of base)
4 : 11673.dasm (0.15 % of base)
4 : 14070.dasm (0.17 % of base)
4 : 31750.dasm (0.23 % of base)
4 : 9300.dasm (0.39 % of base)
4 : 9842.dasm (0.11 % of base)
Top file improvements (bytes):
-56 : 25895.dasm (-1.20 % of base)
-56 : 5101.dasm (-2.14 % of base)
-44 : 2714.dasm (-7.69 % of base)
-40 : 5106.dasm (-0.29 % of base)
-40 : 9896.dasm (-0.21 % of base)
-32 : 15277.dasm (-2.01 % of base)
-24 : 24737.dasm (-1.89 % of base)
-24 : 24738.dasm (-2.01 % of base)
-24 : 25582.dasm (-1.49 % of base)
-24 : 26528.dasm (-1.17 % of base)
-20 : 3629.dasm (-1.97 % of base)
-20 : 9189.dasm (-2.33 % of base)
-16 : 14629.dasm (-1.22 % of base)
-16 : 15985.dasm (-0.87 % of base)
-16 : 19186.dasm (-3.12 % of base)
-16 : 24714.dasm (-0.37 % of base)
-16 : 28129.dasm (-1.27 % of base)
-16 : 32670.dasm (-3.64 % of base)
-16 : 14042.dasm (-2.03 % of base)
-16 : 11122.dasm (-0.64 % of base)
60 total files with Code Size differences (43 improved, 17 regressed), 0 unchanged.
Top method regressions (bytes):
36 (0.66 % of base) : 3523.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
36 (1.10 % of base) : 3638.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
24 (1.67 % of base) : 8423.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
24 (0.66 % of base) : 3586.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
12 (2.59 % of base) : 8411.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
4 (0.17 % of base) : 14070.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
4 (0.79 % of base) : 14090.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
4 (0.16 % of base) : 11760.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
4 (0.15 % of base) : 11673.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
4 (0.23 % of base) : 31750.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
4 (0.39 % of base) : 9300.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
4 (0.65 % of base) : 24690.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
4 (0.13 % of base) : 22573.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
4 (0.11 % of base) : 9842.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (FullOpts)
4 (0.44 % of base) : 3386.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildFormatterToAssembly[System.__Canon](Utf8Json.Internal.Emit.DynamicAssembly,Utf8Json.IJsonFormatterResolver,System.Func`2[System.String,System.String],ubyte):System.Object (FullOpts)
4 (0.35 % of base) : 3694.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitDeserializeValue(System.Reflection.Emit.ILGenerator,Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+DeserializeInfo,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
4 (0.25 % of base) : 3613.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitSerializeValue(System.Reflection.TypeInfo,Utf8Json.Internal.Emit.MetaMember,System.Reflection.Emit.ILGenerator,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
Top method improvements (bytes):
-56 (-1.20 % of base) : 25895.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<CreateConversion>g__checkConstraintLanguageVersionAndRuntimeSupportForConversion|210_2(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Conversion,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-56 (-2.14 % of base) : 5101.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
-44 (-7.69 % of base) : 2714.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
-40 (-0.29 % of base) : 5106.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
-40 (-0.21 % of base) : 9896.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
-32 (-2.01 % of base) : 15277.dasm - System.Xml.XmlBinaryNodeWriter:UnsafeWriteText(ulong,int):this (FullOpts)
-24 (-1.17 % of base) : 26528.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (FullOpts)
-24 (-1.89 % of base) : 24737.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ReportDiagnosticsForSynthesizedAttributes(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
-24 (-2.01 % of base) : 24738.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ReportDiagnosticsForUnsafeSynthesizedAttributes(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
-24 (-1.49 % of base) : 25582.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckForRequiredMemberAttribute(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-20 (-2.33 % of base) : 9189.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateGet[System.__Canon](System.Reflection.PropertyInfo):System.Func`2[System.__Canon,System.__Canon]:this (FullOpts)
-20 (-1.97 % of base) : 3629.dasm - System.Reflection.RuntimeModule:ResolveMethod(int,System.Type[],System.Type[]):System.Reflection.MethodBase:this (FullOpts)
-16 (-0.37 % of base) : 24714.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions:ValidateOptions(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic]):this (FullOpts)
-16 (-1.27 % of base) : 28129.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (FullOpts)
-16 (-1.22 % of base) : 14629.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[System.__Canon](System.Reflection.PropertyInfo):System.Action`2[System.__Canon,System.__Canon]:this (FullOpts)
-16 (-0.64 % of base) : 11122.dasm - Sigil.Emit`1[System.__Canon]:Call(System.Reflection.MethodInfo,System.Type[]):Sigil.Emit`1[System.__Canon]:this (FullOpts)
-16 (-0.87 % of base) : 15985.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (FullOpts)
-16 (-2.03 % of base) : 14042.dasm - System.IO.Compression.Brotli:Compress_WithState():System.Span`1[ubyte]:this (FullOpts)
-16 (-3.12 % of base) : 19186.dasm - System.IO.Compression.Brotli:Decompress_WithState():System.Span`1[ubyte]:this (FullOpts)
-16 (-3.64 % of base) : 32670.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (FullOpts)
Top method regressions (percentages):
12 (2.59 % of base) : 8411.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
24 (1.67 % of base) : 8423.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
36 (1.10 % of base) : 3638.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
4 (0.79 % of base) : 14090.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
36 (0.66 % of base) : 3523.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
24 (0.66 % of base) : 3586.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
4 (0.65 % of base) : 24690.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
4 (0.44 % of base) : 3386.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildFormatterToAssembly[System.__Canon](Utf8Json.Internal.Emit.DynamicAssembly,Utf8Json.IJsonFormatterResolver,System.Func`2[System.String,System.String],ubyte):System.Object (FullOpts)
4 (0.39 % of base) : 9300.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
4 (0.35 % of base) : 3694.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitDeserializeValue(System.Reflection.Emit.ILGenerator,Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+DeserializeInfo,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
4 (0.25 % of base) : 3613.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitSerializeValue(System.Reflection.TypeInfo,Utf8Json.Internal.Emit.MetaMember,System.Reflection.Emit.ILGenerator,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
4 (0.23 % of base) : 31750.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
4 (0.17 % of base) : 14070.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
4 (0.16 % of base) : 11760.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
4 (0.15 % of base) : 11673.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
4 (0.13 % of base) : 22573.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
4 (0.11 % of base) : 9842.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (FullOpts)
Top method improvements (percentages):
-12 (-21.43 % of base) : 21876.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
-12 (-16.67 % of base) : 9078.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
-8 (-8.33 % of base) : 31685.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (FullOpts)
-44 (-7.69 % of base) : 2714.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
-8 (-4.17 % of base) : 413.dasm - System.Text.UnicodeEncoding:.cctor() (FullOpts)
-8 (-4.17 % of base) : 15281.dasm - System.Xml.XmlBinaryNodeWriter:WriteDateTimeText(System.DateTime):this (FullOpts)
-16 (-3.64 % of base) : 32670.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (FullOpts)
-8 (-3.33 % of base) : 15312.dasm - System.Xml.XmlBaseReader:Close():this (FullOpts)
-16 (-3.12 % of base) : 19186.dasm - System.IO.Compression.Brotli:Decompress_WithState():System.Span`1[ubyte]:this (FullOpts)
-12 (-3.09 % of base) : 5015.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
-8 (-2.94 % of base) : 26344.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceModuleSymbol:<RequiresRefSafetyRulesAttribute>g__isFeatureDisabled|62_0(Microsoft.CodeAnalysis.CSharp.CSharpCompilation):ubyte (FullOpts)
-8 (-2.74 % of base) : 29186.dasm - System.Diagnostics.ProcessWaitState:Dispose():this (FullOpts)
-8 (-2.70 % of base) : 5201.dasm - System.Net.Http.HttpConnection:ReturnConnectionToPool():this (FullOpts)
-8 (-2.38 % of base) : 7995.dasm - System.Threading.ManualResetEventSlim:Dispose(ubyte):this (FullOpts)
-20 (-2.33 % of base) : 9189.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateGet[System.__Canon](System.Reflection.PropertyInfo):System.Func`2[System.__Canon,System.__Canon]:this (FullOpts)
-8 (-2.33 % of base) : 5200.dasm - System.Net.Http.HttpConnection:CompleteResponse():this (FullOpts)
-8 (-2.30 % of base) : 10261.dasm - System.Xml.XmlBaseWriter:Close():this (FullOpts)
-8 (-2.25 % of base) : 26247.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.Location):ubyte:this (FullOpts)
-8 (-2.25 % of base) : 25445.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (FullOpts)
-8 (-2.17 % of base) : 5229.dasm - System.Net.Http.HttpConnection:Dispose(ubyte):this (FullOpts)
benchmarks.run_pgo.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 77518372 (overridden on cmd)
Total bytes of diff: 77510596 (overridden on cmd)
Total bytes of delta: -7776 (-0.01 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
4 : 112698.dasm (0.23 % of base)
Top file improvements (bytes):
-16 : 110685.dasm (-0.49 % of base)
-16 : 119178.dasm (-0.52 % of base)
-16 : 129265.dasm (-0.52 % of base)
-16 : 135344.dasm (-0.52 % of base)
-16 : 145209.dasm (-0.49 % of base)
-16 : 24533.dasm (-0.49 % of base)
-16 : 93241.dasm (-0.49 % of base)
-16 : 101337.dasm (-0.52 % of base)
-16 : 126039.dasm (-0.52 % of base)
-16 : 135265.dasm (-0.49 % of base)
-16 : 23549.dasm (-0.42 % of base)
-16 : 30245.dasm (-0.42 % of base)
-16 : 38597.dasm (-0.49 % of base)
-16 : 39557.dasm (-0.49 % of base)
-16 : 42593.dasm (-0.42 % of base)
-16 : 46705.dasm (-0.42 % of base)
-16 : 47822.dasm (-0.83 % of base)
-16 : 56104.dasm (-0.37 % of base)
-16 : 102121.dasm (-0.54 % of base)
-16 : 113533.dasm (-0.49 % of base)
60 total files with Code Size differences (59 improved, 1 regressed), 0 unchanged.
Top method regressions (bytes):
4 (0.23 % of base) : 112698.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
Top method improvements (bytes):
-16 (-1.64 % of base) : 97701.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)
-16 (-0.83 % of base) : 47822.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
-16 (-0.31 % of base) : 131357.dasm - System.Net.Sockets.Tests.SocketSendReceivePerfTest+<SendAsyncThenReceiveAsync_Task>d__9:MoveNext():this (Tier1-OSR)
-16 (-0.49 % of base) : 110685.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.52 % of base) : 119178.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.52 % of base) : 129265.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.52 % of base) : 135344.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.49 % of base) : 145209.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.49 % of base) : 24533.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.49 % of base) : 93241.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.52 % of base) : 101337.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.52 % of base) : 126039.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.49 % of base) : 135265.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.42 % of base) : 23549.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.42 % of base) : 30245.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.49 % of base) : 38597.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.49 % of base) : 39557.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.42 % of base) : 42593.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.42 % of base) : 46705.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.37 % of base) : 56104.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
Top method regressions (percentages):
4 (0.23 % of base) : 112698.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
Top method improvements (percentages):
-16 (-1.64 % of base) : 97701.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)
-16 (-0.83 % of base) : 47822.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
-8 (-0.68 % of base) : 87824.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
-16 (-0.54 % of base) : 102121.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-12 (-0.53 % of base) : 97705.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
-8 (-0.53 % of base) : 89737.dasm - Microsoft.CodeAnalysis.CSharp.MethodCompiler:GetEntryPoint(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol (Tier1)
-16 (-0.52 % of base) : 126039.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.52 % of base) : 119178.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.52 % of base) : 101337.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.52 % of base) : 110220.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.52 % of base) : 36375.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.52 % of base) : 129265.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.52 % of base) : 135344.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.52 % of base) : 119005.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-12 (-0.49 % of base) : 13707.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.49 % of base) : 110685.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.49 % of base) : 145209.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.49 % of base) : 93241.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.49 % of base) : 135265.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-16 (-0.49 % of base) : 113533.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
benchmarks.run_tiered.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 25054876 (overridden on cmd)
Total bytes of diff: 25054732 (overridden on cmd)
Total bytes of delta: -144 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
4 : 54868.dasm (0.23 % of base)
Top file improvements (bytes):
-24 : 47310.dasm (-1.17 % of base)
-16 : 50157.dasm (-1.27 % of base)
-16 : 61140.dasm (-2.70 % of base)
-16 : 46182.dasm (-2.63 % of base)
-16 : 32406.dasm (-0.87 % of base)
-16 : 47270.dasm (-1.98 % of base)
-12 : 36159.dasm (-0.11 % of base)
-8 : 46517.dasm (-2.25 % of base)
-8 : 24679.dasm (-2.38 % of base)
-8 : 34462.dasm (-0.73 % of base)
-8 : 4185.dasm (-0.35 % of base)
12 total files with Code Size differences (11 improved, 1 regressed), 0 unchanged.
Top method regressions (bytes):
4 (0.23 % of base) : 54868.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
Top method improvements (bytes):
-24 (-1.17 % of base) : 47310.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (Tier1)
-16 (-2.63 % of base) : 46182.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetWellKnownTypeMember(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,int,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,ubyte):Microsoft.CodeAnalysis.CSharp.Symbol (Tier1)
-16 (-1.98 % of base) : 47270.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:CheckIfAttributeShouldBeEmbedded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,int,int,System.Nullable`1[int]):ubyte:this (Tier1)
-16 (-1.27 % of base) : 50157.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
-16 (-0.87 % of base) : 32406.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
-16 (-2.70 % of base) : 61140.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
-12 (-0.11 % of base) : 36159.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
-8 (-2.25 % of base) : 46517.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
-8 (-0.35 % of base) : 4185.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-8 (-0.73 % of base) : 34462.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ParsePkcs12(System.ReadOnlySpan`1[ubyte]):this (Tier1)
-8 (-2.38 % of base) : 24679.dasm - System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)
Top method regressions (percentages):
4 (0.23 % of base) : 54868.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
Top method improvements (percentages):
-16 (-2.70 % of base) : 61140.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
-16 (-2.63 % of base) : 46182.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetWellKnownTypeMember(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,int,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,ubyte):Microsoft.CodeAnalysis.CSharp.Symbol (Tier1)
-8 (-2.38 % of base) : 24679.dasm - System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)
-8 (-2.25 % of base) : 46517.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
-16 (-1.98 % of base) : 47270.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:CheckIfAttributeShouldBeEmbedded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,int,int,System.Nullable`1[int]):ubyte:this (Tier1)
-16 (-1.27 % of base) : 50157.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
-24 (-1.17 % of base) : 47310.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (Tier1)
-16 (-0.87 % of base) : 32406.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
-8 (-0.73 % of base) : 34462.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ParsePkcs12(System.ReadOnlySpan`1[ubyte]):this (Tier1)
-8 (-0.35 % of base) : 4185.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
-12 (-0.11 % of base) : 36159.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
12 total methods with Code Size differences (11 improved, 1 regressed).
coreclr_tests.run.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 518928388 (overridden on cmd)
Total bytes of diff: 518765464 (overridden on cmd)
Total bytes of delta: -162924 (-0.03 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
148 : 232043.dasm (1.68 % of base)
148 : 232109.dasm (1.97 % of base)
148 : 190068.dasm (1.68 % of base)
148 : 232022.dasm (1.97 % of base)
148 : 232080.dasm (1.68 % of base)
148 : 189819.dasm (1.69 % of base)
148 : 190672.dasm (1.97 % of base)
148 : 231682.dasm (1.69 % of base)
148 : 232102.dasm (1.67 % of base)
48 : 191647.dasm (1.66 % of base)
48 : 318801.dasm (0.82 % of base)
24 : 190156.dasm (1.57 % of base)
24 : 190700.dasm (1.52 % of base)
24 : 231488.dasm (1.58 % of base)
24 : 232036.dasm (1.50 % of base)
24 : 190704.dasm (1.52 % of base)
24 : 232008.dasm (1.51 % of base)
24 : 232048.dasm (1.52 % of base)
24 : 232303.dasm (1.53 % of base)
24 : 231532.dasm (1.53 % of base)
Top file improvements (bytes):
-512 : 296491.dasm (-1.81 % of base)
-512 : 295581.dasm (-1.85 % of base)
-504 : 297343.dasm (-1.84 % of base)
-504 : 295548.dasm (-1.93 % of base)
-504 : 295996.dasm (-1.78 % of base)
-504 : 296179.dasm (-1.87 % of base)
-496 : 295365.dasm (-1.81 % of base)
-488 : 296379.dasm (-1.84 % of base)
-488 : 297071.dasm (-1.73 % of base)
-472 : 295298.dasm (-1.63 % of base)
-472 : 296212.dasm (-1.84 % of base)
-464 : 267269.dasm (-1.86 % of base)
-456 : 297039.dasm (-1.80 % of base)
-456 : 267697.dasm (-1.86 % of base)
-456 : 268149.dasm (-1.74 % of base)
-456 : 297309.dasm (-1.65 % of base)
-456 : 295484.dasm (-1.73 % of base)
-456 : 267653.dasm (-1.79 % of base)
-448 : 289772.dasm (-2.00 % of base)
-440 : 295449.dasm (-1.65 % of base)
93 total files with Code Size differences (53 improved, 40 regressed), 5 unchanged.
Top method regressions (bytes):
148 (1.68 % of base) : 232043.dasm - Test_AbstractBase02:TestEntryPoint():int (FullOpts)
148 (1.69 % of base) : 189819.dasm - Test_BaseClass02:TestEntryPoint():int (FullOpts)
148 (1.68 % of base) : 190068.dasm - Test_class01:TestEntryPoint():int (FullOpts)
148 (1.67 % of base) : 232102.dasm - Test_NestedBaseClass05:TestEntryPoint():int (FullOpts)
148 (1.68 % of base) : 232080.dasm - Test_NestedClass01:TestEntryPoint():int (FullOpts)
148 (1.69 % of base) : 231682.dasm - Test_NestedClass03:TestEntryPoint():int (FullOpts)
148 (1.97 % of base) : 232109.dasm - Test_NestedStruct01:TestEntryPoint():int (FullOpts)
148 (1.97 % of base) : 232022.dasm - Test_NestedStruct03:TestEntryPoint():int (FullOpts)
148 (1.97 % of base) : 190672.dasm - Test_struct01:TestEntryPoint():int (FullOpts)
48 (0.82 % of base) : 318801.dasm - Program:RuntimeMethodHandle():ubyte (FullOpts)
48 (1.66 % of base) : 191647.dasm - VectorTest:TestEntryPoint():int (FullOpts)
24 (1.52 % of base) : 232048.dasm - Test_AbstractBase01:TestEntryPoint():int (FullOpts)
24 (1.51 % of base) : 232008.dasm - Test_AbstractBase07:TestEntryPoint():int (FullOpts)
24 (1.57 % of base) : 190156.dasm - Test_Class04:TestEntryPoint():int (FullOpts)
24 (1.50 % of base) : 232036.dasm - Test_NestedBaseClass04:TestEntryPoint():int (FullOpts)
24 (1.58 % of base) : 231488.dasm - Test_NestedInterface01:TestEntryPoint():int (FullOpts)
24 (1.53 % of base) : 232303.dasm - Test_NestedInterface04:TestEntryPoint():int (FullOpts)
24 (1.53 % of base) : 231532.dasm - Test_NestedInterface05:TestEntryPoint():int (FullOpts)
24 (1.52 % of base) : 190700.dasm - Test_Struct04:TestEntryPoint():int (FullOpts)
24 (1.52 % of base) : 190704.dasm - Test_Struct05:TestEntryPoint():int (FullOpts)
Top method improvements (bytes):
-512 (-1.85 % of base) : 295581.dasm - Generated908:MethodCallingTest() (FullOpts)
-512 (-1.81 % of base) : 296491.dasm - Generated934:MethodCallingTest() (FullOpts)
-504 (-1.93 % of base) : 295548.dasm - Generated907:MethodCallingTest() (FullOpts)
-504 (-1.78 % of base) : 295996.dasm - Generated920:MethodCallingTest() (FullOpts)
-504 (-1.87 % of base) : 296179.dasm - Generated925:MethodCallingTest() (FullOpts)
-504 (-1.84 % of base) : 297343.dasm - Generated960:MethodCallingTest() (FullOpts)
-496 (-1.81 % of base) : 295365.dasm - Generated902:MethodCallingTest() (FullOpts)
-488 (-1.84 % of base) : 296379.dasm - Generated931:MethodCallingTest() (FullOpts)
-488 (-1.73 % of base) : 297071.dasm - Generated952:MethodCallingTest() (FullOpts)
-472 (-1.63 % of base) : 295298.dasm - Generated900:MethodCallingTest() (FullOpts)
-472 (-1.84 % of base) : 296212.dasm - Generated926:MethodCallingTest() (FullOpts)
-464 (-1.86 % of base) : 267269.dasm - Generated1055:MethodCallingTest() (FullOpts)
-456 (-1.79 % of base) : 267653.dasm - Generated1064:MethodCallingTest() (FullOpts)
-456 (-1.86 % of base) : 267697.dasm - Generated1065:MethodCallingTest() (FullOpts)
-456 (-1.74 % of base) : 268149.dasm - Generated1076:MethodCallingTest() (FullOpts)
-456 (-1.73 % of base) : 295484.dasm - Generated905:MethodCallingTest() (FullOpts)
-456 (-1.80 % of base) : 297039.dasm - Generated951:MethodCallingTest() (FullOpts)
-456 (-1.65 % of base) : 297309.dasm - Generated959:MethodCallingTest() (FullOpts)
-448 (-2.00 % of base) : 289772.dasm - Generated718:MethodCallingTest() (FullOpts)
-440 (-1.65 % of base) : 295449.dasm - Generated904:MethodCallingTest() (FullOpts)
Top method regressions (percentages):
4 (4.55 % of base) : 319505.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
12 (4.05 % of base) : 200412.dasm - ForwardSubCallArgInterference3:TestEntryPoint():int (FullOpts)
4 (3.57 % of base) : 257059.dasm - Runtime_95347:Test():int (FullOpts)
4 (3.23 % of base) : 301745.dasm - ILVerify.Verifier+<>c:<.ctor>b__5_0():System.Resources.ResourceManager:this (FullOpts)
4 (2.94 % of base) : 190274.dasm - Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
12 (2.65 % of base) : 190142.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
12 (2.65 % of base) : 190152.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
12 (2.65 % of base) : 232439.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
12 (2.65 % of base) : 189835.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
8 (2.63 % of base) : 190139.dasm - Gen`2[double,System.Guid]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
8 (2.60 % of base) : 190126.dasm - Gen`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
8 (2.60 % of base) : 189825.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
8 (2.60 % of base) : 189831.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
8 (2.60 % of base) : 231924.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
8 (2.60 % of base) : 232450.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
4 (2.56 % of base) : 319766.dasm - Microsoft.Build.Framework.NativeMethods:get_FrameworkCurrentPath():System.String (FullOpts)
4 (2.44 % of base) : 190103.dasm - Gen`1[ValX1`1[int]]:InstVerify(System.Type):ubyte:this (FullOpts)
4 (2.44 % of base) : 231683.dasm - GenOuter+GenInner`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
4 (2.44 % of base) : 232300.dasm - Outer`1+GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]],ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
4 (2.44 % of base) : 232103.dasm - Outer+GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
Top method improvements (percentages):
-108 (-26.21 % of base) : 261390.dasm - testout1:Func(testout1+CL,testout1+VT):long (FullOpts)
-16 (-23.53 % of base) : 257853.dasm - GitHub_18497:Test():System.Numerics.Vector`1[float] (FullOpts)
-36 (-22.50 % of base) : 261171.dasm - bug1:TestEntryPoint() (FullOpts)
-96 (-16.90 % of base) : 244372.dasm - Test_200w1d_02.testout1:TestEntryPoint():int (FullOpts)
-12 (-16.67 % of base) : 203945.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
-16 (-15.38 % of base) : 233590.dasm - Program:Main():int (FullOpts)
-24 (-14.29 % of base) : 189525.dasm - StaticValueField:TestEntryPoint():int (FullOpts)
-16 (-13.79 % of base) : 252405.dasm - Test_b18049:main():int (FullOpts)
-8 (-13.33 % of base) : 257940.dasm - Test_GitHub_19222:main():int (FullOpts)
-16 (-12.90 % of base) : 201174.dasm - Q:TestEntryPoint():int (FullOpts)
-52 (-12.75 % of base) : 261378.dasm - bug1:TestEntryPoint() (FullOpts)
-12 (-11.54 % of base) : 319582.dasm - Microsoft.Build.Framework.NativeMethods:get_IsOSX():ubyte (FullOpts)
-12 (-11.54 % of base) : 319465.dasm - Microsoft.Build.Framework.NativeMethods:get_IsWindows():ubyte (FullOpts)
-12 (-10.71 % of base) : 257856.dasm - GitHub_18522:TestEntryPoint():int (FullOpts)
-8 (-10.53 % of base) : 227598.dasm - AssemblyToLoad.Program:UseDependentAssembly():System.Reflection.Assembly (FullOpts)
-8 (-10.53 % of base) : 223477.dasm - BinderTracingTests.BinderTracingTest:UseDependentAssembly():System.Reflection.Assembly (FullOpts)
-16 (-10.26 % of base) : 227629.dasm - CMain:RunTest_ImplicitOverride5():ubyte (FullOpts)
-16 (-10.26 % of base) : 225197.dasm - CMain:RunTest_MoreDerived2():ubyte (FullOpts)
-16 (-10.26 % of base) : 229541.dasm - CMain:RunTest5():ubyte (FullOpts)
-16 (-10.26 % of base) : 227609.dasm - CMain:RunTest5():ubyte (FullOpts)
libraries.pmi.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 76557636 (overridden on cmd)
Total bytes of diff: 76550028 (overridden on cmd)
Total bytes of delta: -7608 (-0.01 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
20 : 255827.dasm (1.31 % of base)
20 : 282518.dasm (0.55 % of base)
16 : 34301.dasm (0.67 % of base)
16 : 34683.dasm (1.31 % of base)
16 : 34684.dasm (1.33 % of base)
16 : 34685.dasm (1.78 % of base)
12 : 282348.dasm (0.52 % of base)
12 : 38364.dasm (2.91 % of base)
8 : 156712.dasm (0.58 % of base)
8 : 183460.dasm (0.63 % of base)
8 : 230167.dasm (0.58 % of base)
8 : 255790.dasm (0.83 % of base)
8 : 255791.dasm (1.79 % of base)
8 : 178491.dasm (0.34 % of base)
8 : 253608.dasm (0.33 % of base)
8 : 259002.dasm (0.33 % of base)
8 : 282311.dasm (0.36 % of base)
8 : 33839.dasm (0.23 % of base)
8 : 33844.dasm (0.37 % of base)
8 : 183448.dasm (1.04 % of base)
Top file improvements (bytes):
-88 : 51366.dasm (-1.31 % of base)
-64 : 50453.dasm (-0.77 % of base)
-60 : 48561.dasm (-2.04 % of base)
-56 : 48562.dasm (-1.60 % of base)
-56 : 85083.dasm (-1.13 % of base)
-56 : 51343.dasm (-1.08 % of base)
-48 : 88781.dasm (-0.31 % of base)
-48 : 50749.dasm (-1.72 % of base)
-48 : 50817.dasm (-1.48 % of base)
-48 : 80282.dasm (-1.02 % of base)
-48 : 58971.dasm (-0.89 % of base)
-44 : 147185.dasm (-7.69 % of base)
-40 : 200185.dasm (-0.21 % of base)
-40 : 48235.dasm (-1.31 % of base)
-40 : 51307.dasm (-1.01 % of base)
-36 : 51842.dasm (-1.49 % of base)
-36 : 111153.dasm (-1.29 % of base)
-32 : 50738.dasm (-0.73 % of base)
-32 : 83873.dasm (-0.88 % of base)
-32 : 55821.dasm (-1.12 % of base)
79 total files with Code Size differences (42 improved, 37 regressed), 0 unchanged.
Top method regressions (bytes):
20 (1.31 % of base) : 255827.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
20 (0.55 % of base) : 282518.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[ubyte]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],ubyte] (FullOpts)
16 (0.67 % of base) : 34301.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.Adapters:ConvImmutableTypeToMutableType(Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,System.Type):System.Type (FullOpts)
16 (1.33 % of base) : 34684.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transBinOp(Microsoft.FSharp.Core.FSharpFunc`2[System.Type,ubyte],Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`3[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.RuntimeMethodHandle):System.Linq.Expressions.Expression (FullOpts)
16 (1.78 % of base) : 34685.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transBoolOpNoWitness(Microsoft.FSharp.Core.FSharpFunc`2[System.Type,ubyte],Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`4[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,ubyte,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.Reflection.MethodInfo):System.Linq.Expressions.Expression (FullOpts)
16 (1.31 % of base) : 34683.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transShiftOp(Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`3[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.RuntimeMethodHandle):System.Linq.Expressions.Expression (FullOpts)
12 (2.91 % of base) : 38364.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
12 (0.52 % of base) : 282348.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:RewriteActivator(System.Reflection.TypeInfo,System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
8 (0.34 % of base) : 178491.dasm - Microsoft.Build.BackEnd.TaskExecutionHost:FindTaskInRegistry(System.Collections.Generic.IDictionary`2[System.String,System.String]):Microsoft.Build.Execution.TaskFactoryWrapper:this (FullOpts)
8 (0.83 % of base) : 255790.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactory[ubyte](System.Type[]):Microsoft.Extensions.DependencyInjection.ObjectFactory`1[ubyte] (FullOpts)
8 (1.79 % of base) : 255791.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
8 (0.23 % of base) : 33839.dasm - Microsoft.FSharp.Linq.QueryModule:ConvMutableToImmutable(Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,Microsoft.FSharp.Quotations.FSharpExpr):Microsoft.FSharp.Quotations.FSharpExpr (FullOpts)
8 (0.37 % of base) : 33844.dasm - Microsoft.FSharp.Linq.QueryModule:TransFor@1295(int,ubyte,System.Type,Microsoft.FSharp.Quotations.FSharpVar,System.Type,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Quotations.FSharpExpr):System.Tuple`2[Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription] (FullOpts)
8 (1.04 % of base) : 183448.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateMethodCall[System.__Canon](System.Reflection.MethodBase):Newtonsoft.Json.Utilities.MethodCall`2[System.__Canon,System.__Canon]:this (FullOpts)
8 (0.63 % of base) : 183460.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[ubyte](System.Reflection.PropertyInfo):System.Action`2[ubyte,System.Object]:this (FullOpts)
8 (0.36 % of base) : 282311.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:GetActivator(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
8 (0.58 % of base) : 156712.dasm - System.Configuration.ConfigurationLockCollection:Add(System.String):this (FullOpts)
8 (0.58 % of base) : 230167.dasm - System.Configuration.ConfigurationLockCollection:Add(System.String):this (FullOpts)
8 (0.33 % of base) : 259002.dasm - System.Reflection.Emit.IgnoreAccessChecksToAttributeBuilder:AddToModule(System.Reflection.Emit.ModuleBuilder):System.Reflection.ConstructorInfo (FullOpts)
8 (0.33 % of base) : 253608.dasm - Xunit.Sdk.ExecutionContextHelper:EnsureInitialized() (FullOpts)
Top method improvements (bytes):
-88 (-1.31 % of base) : 51366.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindElementOrIndexerAccess>g__bindInlineArrayElementAccess|500_1(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BoundExpression,int,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BoundExpression,int,Microsoft.CodeAnalysis.CSharp.Symbols.FieldSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
-64 (-0.77 % of base) : 50453.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ConvertCollectionExpression(Microsoft.CodeAnalysis.CSharp.BoundUnconvertedCollectionExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Conversion,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
-60 (-2.04 % of base) : 48561.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
-56 (-1.13 % of base) : 85083.dasm - Microsoft.CodeAnalysis.CSharp.AsyncRewriter+AsyncIteratorRewriter:VerifyPresenceOfRequiredAPIs(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-56 (-1.08 % of base) : 51343.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<CreateConversion>g__checkConstraintLanguageVersionAndRuntimeSupportForConversion|210_2(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Conversion,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-56 (-1.60 % of base) : 48562.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp2Connection(System.Net.Http.Http2Connection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.Http2Connection]):this (FullOpts)
-48 (-1.48 % of base) : 50817.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetDefaultParameterSpecialNoConversion(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
-48 (-1.72 % of base) : 50749.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryBindIndexOrRangeImplicitIndexer(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):ubyte:this (FullOpts)
-48 (-0.89 % of base) : 58971.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitLockStatement(Microsoft.CodeAnalysis.CSharp.BoundLockStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
-48 (-1.02 % of base) : 80282.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:EarlyDecodeWellKnownAttribute(byref):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.CSharp.BoundAttribute]:this (FullOpts)
-48 (-0.31 % of base) : 88781.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindFieldAndPropertyInitializers(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.FieldOrPropertyInitializer]],Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedInteractiveInitializerMethod,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundInitializer] (FullOpts)
-44 (-7.69 % of base) : 147185.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
-40 (-1.01 % of base) : 51307.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetEnumeratorInfoCore(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,byref,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):int:this (FullOpts)
-40 (-1.31 % of base) : 48235.dasm - System.Net.Http.Http2Connection+Http2Stream:OnStatus(int):this (FullOpts)
-40 (-0.21 % of base) : 200185.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
-36 (-1.49 % of base) : 51842.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitUsingStatement(Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax):this (FullOpts)
-36 (-1.29 % of base) : 111153.dasm - Microsoft.CodeAnalysis.VisualBasic.LocalRewriter:EnsureStringHashFunction(Microsoft.CodeAnalysis.VisualBasic.BoundSelectStatement):this (FullOpts)
-32 (-0.73 % of base) : 50738.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ConvertToArrayIndex(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,byref):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
-32 (-0.88 % of base) : 83873.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator:EmitStringSwitchJumpTable(System.Collections.Generic.KeyValuePair`2[Microsoft.CodeAnalysis.ConstantValue,System.Object][],Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,Microsoft.CodeAnalysis.CodeGen.LocalOrParameter,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
-32 (-1.12 % of base) : 55821.dasm - Microsoft.CodeAnalysis.CSharp.MethodBodySynthesizer:ConstructFieldLikeEventAccessorBody_WinRT(Microsoft.CodeAnalysis.CSharp.Symbols.SourceEventSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundBlock (FullOpts)
Top method regressions (percentages):
4 (4.76 % of base) : 282543.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
4 (4.76 % of base) : 282547.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
4 (4.76 % of base) : 282531.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
4 (4.76 % of base) : 282535.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
4 (4.76 % of base) : 282526.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)
4 (4.76 % of base) : 282351.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
4 (4.55 % of base) : 180015.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
4 (3.85 % of base) : 120060.dasm - Microsoft.Diagnostics.Tracing.Stacks.StackSourceWriterHelper:GetExporterInfo():System.String (FullOpts)
4 (3.23 % of base) : 165743.dasm - Internal.TypeSystem.TypeSystemException+<>c:<.cctor>b__20_0():System.Resources.ResourceManager:this (FullOpts)
12 (2.91 % of base) : 38364.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
4 (2.78 % of base) : 177429.dasm - Microsoft.Build.BackEnd.TaskParameterTypeVerifier:IsAssignableToITask(System.Type):ubyte (FullOpts)
4 (2.56 % of base) : 282316.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:.cctor() (FullOpts)
4 (2.27 % of base) : 282539.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:.cctor() (FullOpts)
4 (2.22 % of base) : 282339.dasm - System.Composition.TypedParts.ActivationFeatures.DisposalFeature:RewriteActivator(System.Reflection.TypeInfo,System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
4 (2.13 % of base) : 117970.dasm - Dia2Lib.DiaLoader:GetDiaSourceObject():Dia2Lib.IDiaDataSource3 (FullOpts)
4 (2.08 % of base) : 148341.dasm - Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView:.cctor() (FullOpts)
4 (2.00 % of base) : 167831.dasm - Microsoft.Build.Framework.NativeMethods:get_FrameworkCurrentPath():System.String (FullOpts)
8 (1.79 % of base) : 255791.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
4 (1.79 % of base) : 253462.dasm - Xunit.Sdk.XunitTestFrameworkDiscoverer:.cctor() (FullOpts)
16 (1.78 % of base) : 34685.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transBoolOpNoWitness(Microsoft.FSharp.Core.FSharpFunc`2[System.Type,ubyte],Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`4[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,ubyte,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.Reflection.MethodInfo):System.Linq.Expressions.Expression (FullOpts)
Top method improvements (percentages):
-12 (-21.43 % of base) : 294142.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
-8 (-14.29 % of base) : 12720.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
-8 (-14.29 % of base) : 168331.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
-8 (-14.29 % of base) : 212703.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
-8 (-14.29 % of base) : 15597.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
-8 (-14.29 % of base) : 215537.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
-8 (-14.29 % of base) : 294006.dasm - System.ComponentModel.DesignerCategoryAttribute:GetHashCode():int:this (FullOpts)
-8 (-14.29 % of base) : 270917.dasm - System.Net.FtpControlStream:get_BannerMessage():System.String:this (FullOpts)
-8 (-14.29 % of base) : 270919.dasm - System.Net.FtpControlStream:get_ExitMessage():System.String:this (FullOpts)
-8 (-14.29 % of base) : 270918.dasm - System.Net.FtpControlStream:get_WelcomeMessage():System.String:this (FullOpts)
-8 (-14.29 % of base) : 266893.dasm - Xunit.ExecutionSink:WaitForStopEvent(int):ubyte:this (FullOpts)
-8 (-13.33 % of base) : 243759.dasm - Microsoft.Extensions.DependencyInjection.ServiceProvider:OnCreate(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite):this (FullOpts)
-8 (-11.76 % of base) : 293992.dasm - System.ComponentModel.DescriptionAttribute:GetHashCode():int:this (FullOpts)
-8 (-11.76 % of base) : 294024.dasm - System.ComponentModel.DisplayNameAttribute:GetHashCode():int:this (FullOpts)
-8 (-11.11 % of base) : 293971.dasm - System.ComponentModel.CategoryAttribute:GetHashCode():int:this (FullOpts)
-12 (-10.00 % of base) : 162619.dasm - System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
-8 (-8.33 % of base) : 165569.dasm - Internal.TypeSystem.Ecma.PortablePdbSymbolReader:Dispose():this (FullOpts)
-8 (-8.33 % of base) : 208938.dasm - Microsoft.CodeAnalysis.Text.TextChange:GetHashCode():int:this (FullOpts)
-8 (-8.33 % of base) : 8351.dasm - Microsoft.CodeAnalysis.Text.TextChange:GetHashCode():int:this (FullOpts)
-44 (-7.69 % of base) : 147185.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
libraries_tests.run.linux.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 383432472 (overridden on cmd)
Total bytes of diff: 383415140 (overridden on cmd)
Total bytes of delta: -17332 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
16 : 580462.dasm (0.11 % of base)
8 : 133485.dasm (0.31 % of base)
8 : 295157.dasm (0.85 % of base)
8 : 374631.dasm (0.06 % of base)
8 : 124858.dasm (1.21 % of base)
8 : 124856.dasm (0.30 % of base)
8 : 133412.dasm (0.24 % of base)
8 : 82300.dasm (0.64 % of base)
8 : 124857.dasm (0.27 % of base)
4 : 120433.dasm (1.22 % of base)
4 : 183950.dasm (0.82 % of base)
4 : 199754.dasm (2.04 % of base)
4 : 209668.dasm (1.09 % of base)
4 : 383123.dasm (0.82 % of base)
4 : 730260.dasm (0.41 % of base)
4 : 730292.dasm (0.39 % of base)
4 : 731216.dasm (0.40 % of base)
4 : 732748.dasm (0.74 % of base)
4 : 733762.dasm (0.82 % of base)
4 : 734008.dasm (0.40 % of base)
Top file improvements (bytes):
-64 : 580520.dasm (-0.70 % of base)
-48 : 724964.dasm (-0.85 % of base)
-44 : 612609.dasm (-5.98 % of base)
-44 : 612643.dasm (-5.98 % of base)
-44 : 621136.dasm (-6.43 % of base)
-44 : 634822.dasm (-5.98 % of base)
-44 : 634842.dasm (-5.98 % of base)
-44 : 636227.dasm (-5.98 % of base)
-44 : 636669.dasm (-5.98 % of base)
-44 : 682091.dasm (-0.52 % of base)
-44 : 608379.dasm (-5.98 % of base)
-44 : 611450.dasm (-5.98 % of base)
-44 : 612538.dasm (-5.98 % of base)
-44 : 612718.dasm (-5.98 % of base)
-44 : 620935.dasm (-5.98 % of base)
-44 : 632449.dasm (-5.98 % of base)
-44 : 633369.dasm (-5.98 % of base)
-44 : 633379.dasm (-5.98 % of base)
-44 : 634755.dasm (-5.98 % of base)
-44 : 651839.dasm (-5.98 % of base)
79 total files with Code Size differences (41 improved, 38 regressed), 1 unchanged.
Top method regressions (bytes):
16 (0.11 % of base) : 580462.dasm - System.Text.Tests.TranscodingStreamTests+<RunReadTestAsync>d__29:MoveNext():this (Tier1)
8 (0.27 % of base) : 124857.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactory(System.Type,System.Type[]):Microsoft.Extensions.DependencyInjection.ObjectFactory (Tier1)
8 (1.21 % of base) : 124858.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (Tier1)
8 (0.30 % of base) : 124856.dasm - Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests:CreateInstanceFromFactory(System.IServiceProvider,System.Type,System.Object[]):System.Object (Tier1)
8 (0.24 % of base) : 133412.dasm - Microsoft.Extensions.Hosting.HostBuilder:Build():Microsoft.Extensions.Hosting.IHost:this (Tier1)
8 (0.31 % of base) : 133485.dasm - Microsoft.Extensions.Hosting.HostBuilder:ResolveHost(System.IServiceProvider,System.Diagnostics.DiagnosticListener):Microsoft.Extensions.Hosting.IHost (Tier1)
8 (0.85 % of base) : 295157.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (Tier0-FullOpts)
8 (0.06 % of base) : 374631.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
8 (0.64 % of base) : 82300.dasm - System.Reflection.FieldAccessor:Initialize():this (Instrumented Tier1)
4 (0.41 % of base) : 730260.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
4 (0.39 % of base) : 730292.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
4 (0.40 % of base) : 731216.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
4 (0.40 % of base) : 734008.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
4 (0.40 % of base) : 730320.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
4 (0.40 % of base) : 731092.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
4 (0.40 % of base) : 734348.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
4 (0.40 % of base) : 734464.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
4 (1.09 % of base) : 209668.dasm - System.Collections.Immutable.Tests.ImmutablesTestBase:AssertAreSame[int](int,int) (Tier1)
4 (1.52 % of base) : 482901.dasm - System.Diagnostics.Tracing.PropertyValue:GetReferenceTypePropertyGetter(System.Reflection.PropertyInfo):System.Func`2[System.Diagnostics.Tracing.PropertyValue,System.Diagnostics.Tracing.PropertyValue] (Instrumented Tier1)
4 (2.04 % of base) : 199754.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
Top method improvements (bytes):
-64 (-0.70 % of base) : 580520.dasm - System.Text.Tests.TranscodingStreamTests:RunReadTest(System.Func`3[System.IO.Stream,System.IO.MemoryStream,int]):this (Tier1)
-48 (-0.85 % of base) : 724964.dasm - System.Threading.Tests.MutexTests+<>c__DisplayClass19_0:<AbandonExisting>b__0():this (Tier1)
-44 (-0.52 % of base) : 682091.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CreateAndPopulateSpanFromInlineArray(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundNode],ubyte,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.LocalSymbol]):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-44 (-5.98 % of base) : 612718.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 633379.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 612643.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 633369.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 608379.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 620935.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 654407.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 634822.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 612538.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 634755.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 611450.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.DateTimeOffset]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 632449.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Decimal]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 634842.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Guid]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 636669.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[System.DateTime]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-6.43 % of base) : 621136.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[ubyte]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 636227.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.SimpleTestStruct]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 651839.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.StructCollection`1[int]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
Top method regressions (percentages):
4 (2.04 % of base) : 199754.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
4 (2.04 % of base) : 274327.dasm - System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
4 (2.04 % of base) : 92368.dasm - System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
4 (1.52 % of base) : 482901.dasm - System.Diagnostics.Tracing.PropertyValue:GetReferenceTypePropertyGetter(System.Reflection.PropertyInfo):System.Func`2[System.Diagnostics.Tracing.PropertyValue,System.Diagnostics.Tracing.PropertyValue] (Instrumented Tier1)
4 (1.22 % of base) : 120433.dasm - System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
8 (1.21 % of base) : 124858.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (Tier1)
4 (1.09 % of base) : 209668.dasm - System.Collections.Immutable.Tests.ImmutablesTestBase:AssertAreSame[int](int,int) (Tier1)
8 (0.85 % of base) : 295157.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (Tier0-FullOpts)
4 (0.82 % of base) : 183950.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
4 (0.82 % of base) : 383123.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
4 (0.82 % of base) : 733762.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
4 (0.82 % of base) : 105767.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
4 (0.82 % of base) : 191478.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
4 (0.82 % of base) : 305815.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
4 (0.82 % of base) : 385775.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
4 (0.82 % of base) : 408920.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
4 (0.82 % of base) : 576098.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
4 (0.82 % of base) : 723613.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
4 (0.82 % of base) : 731082.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
4 (0.82 % of base) : 132766.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
Top method improvements (percentages):
-12 (-13.04 % of base) : 622077.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
-12 (-13.04 % of base) : 638196.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
-24 (-10.17 % of base) : 556885.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:Dispose():this (Tier1)
-8 (-10.00 % of base) : 201175.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
-8 (-10.00 % of base) : 266037.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
-8 (-10.00 % of base) : 383875.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
-8 (-10.00 % of base) : 723388.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
-8 (-10.00 % of base) : 724460.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
-8 (-9.52 % of base) : 579173.dasm - System.Text.UTF32Encoding:.ctor():this (Instrumented Tier1)
-8 (-8.33 % of base) : 269211.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
-24 (-7.59 % of base) : 556884.dasm - System.Security.Cryptography.X509Certificates.X509Chain:Reset():this (Tier1)
-44 (-6.43 % of base) : 621136.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[ubyte]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-8 (-6.25 % of base) : 125295.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Instrumented Tier1)
-44 (-5.98 % of base) : 612718.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 633379.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 612643.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 633369.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 608379.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 620935.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-44 (-5.98 % of base) : 654407.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 165120196 (overridden on cmd)
Total bytes of diff: 165110640 (overridden on cmd)
Total bytes of delta: -9556 (-0.01 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
60 : 86492.dasm (0.61 % of base)
60 : 86509.dasm (0.61 % of base)
60 : 86614.dasm (0.61 % of base)
60 : 86618.dasm (0.61 % of base)
36 : 80440.dasm (0.62 % of base)
36 : 80485.dasm (0.62 % of base)
32 : 86478.dasm (0.52 % of base)
32 : 82775.dasm (0.67 % of base)
32 : 86497.dasm (0.52 % of base)
32 : 86607.dasm (0.53 % of base)
32 : 86623.dasm (0.52 % of base)
28 : 86616.dasm (0.54 % of base)
28 : 86617.dasm (0.54 % of base)
28 : 86535.dasm (0.54 % of base)
28 : 230918.dasm (0.52 % of base)
28 : 86118.dasm (0.50 % of base)
28 : 86615.dasm (0.54 % of base)
24 : 135572.dasm (0.62 % of base)
24 : 135548.dasm (0.62 % of base)
24 : 135471.dasm (0.75 % of base)
Top file improvements (bytes):
-228 : 142444.dasm (-3.04 % of base)
-100 : 260483.dasm (-5.35 % of base)
-96 : 230199.dasm (-2.67 % of base)
-96 : 230341.dasm (-2.93 % of base)
-64 : 196928.dasm (-2.88 % of base)
-64 : 199151.dasm (-2.86 % of base)
-64 : 89133.dasm (-1.18 % of base)
-64 : 89135.dasm (-1.32 % of base)
-64 : 230324.dasm (-2.96 % of base)
-64 : 230579.dasm (-2.96 % of base)
-64 : 230588.dasm (-2.00 % of base)
-64 : 23669.dasm (-0.77 % of base)
-56 : 143952.dasm (-2.18 % of base)
-56 : 144019.dasm (-2.15 % of base)
-56 : 143980.dasm (-2.13 % of base)
-56 : 157128.dasm (-1.75 % of base)
-56 : 21102.dasm (-2.13 % of base)
-56 : 129253.dasm (-1.10 % of base)
-48 : 30969.dasm (-1.10 % of base)
-48 : 56637.dasm (-0.91 % of base)
86 total files with Code Size differences (44 improved, 42 regressed), 2 unchanged.
Top method regressions (bytes):
60 (0.61 % of base) : 86618.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeObject_RemovesProvider():this (FullOpts)
60 (0.61 % of base) : 86492.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeType_RemovesProvider():this (FullOpts)
60 (0.61 % of base) : 86614.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeObject_RemovesProvider():this (FullOpts)
60 (0.61 % of base) : 86509.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeType_RemovesProvider():this (FullOpts)
36 (0.62 % of base) : 80485.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
36 (0.62 % of base) : 80440.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameReverseOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
32 (0.67 % of base) : 82775.dasm - System.ComponentModel.Composition.DirectoryCatalogTests:GetExports():this (FullOpts)
32 (0.52 % of base) : 86497.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
32 (0.53 % of base) : 86607.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
32 (0.52 % of base) : 86478.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
32 (0.52 % of base) : 86623.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
28 (0.50 % of base) : 86118.dasm - System.ComponentModel.Tests.TypeDescriptionProviderTests:GetFullComponentName_InvokeWithCustomTypeDescriptor_ReturnsExpected(System.Object,System.String):this (FullOpts)
28 (0.54 % of base) : 86615.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
28 (0.54 % of base) : 86616.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeType_GetProviderReturnsExpected():this (FullOpts)
28 (0.54 % of base) : 86617.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
28 (0.54 % of base) : 86535.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeType_GetProviderReturnsExpected():this (FullOpts)
28 (0.52 % of base) : 230918.dasm - System.Text.Tests.TranscodingStreamTests:Flush_FlushesInnerStreamButNotDecodedState():this (FullOpts)
24 (0.62 % of base) : 135548.dasm - System.Linq.Tests.GroupJoinTests:CustomComparer():this (FullOpts)
24 (0.62 % of base) : 135572.dasm - System.Linq.Tests.GroupJoinTests:NullComparer():this (FullOpts)
24 (0.75 % of base) : 135471.dasm - System.Linq.Tests.GroupJoinTests+<>c__DisplayClass11_0:<OuterNullNoComparer>b__0():System.Object:this (FullOpts)
Top method improvements (bytes):
-228 (-3.04 % of base) : 142444.dasm - System.Buffers.Binary.Tests.BinaryReaderUnitTests:SpanWriteAndReadBigEndianHeterogeneousStruct():this (FullOpts)
-100 (-5.35 % of base) : 260483.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:GetNumbersExpectedString(System.Text.Json.JsonWriterOptions,System.String,int[],uint[],long[],ulong[],float[],double[],System.Decimal[],ubyte):System.String (FullOpts)
-96 (-2.67 % of base) : 230199.dasm - System.Text.Tests.NegativeEncodingTests+<Encodings_TestData>d__0:MoveNext():ubyte:this (FullOpts)
-96 (-2.93 % of base) : 230341.dasm - System.Text.Tests.UnicodeEncodingTests+<Equals_TestData>d__10:MoveNext():ubyte:this (FullOpts)
-64 (-2.88 % of base) : 196928.dasm - DataContractSerializerTests:DCS_KnownSerializableTypes_Tuples() (FullOpts)
-64 (-2.86 % of base) : 199151.dasm - DataContractSerializerTests:DCS_KnownSerializableTypes_Tuples() (FullOpts)
-64 (-0.77 % of base) : 23669.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ConvertCollectionExpression(Microsoft.CodeAnalysis.CSharp.BoundUnconvertedCollectionExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Conversion,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundCollectionExpression:this (FullOpts)
-64 (-1.32 % of base) : 89135.dasm - MonoTests.System.Configuration.ConfigurationErrorsExceptionTest:Constructor4():this (FullOpts)
-64 (-1.18 % of base) : 89133.dasm - MonoTests.System.Configuration.ConfigurationErrorsExceptionTest:Constructor6():this (FullOpts)
-64 (-2.96 % of base) : 230324.dasm - System.Text.Tests.UnicodeEncodingTests+<Encodings_TestData>d__4:MoveNext():ubyte:this (FullOpts)
-64 (-2.96 % of base) : 230579.dasm - System.Text.Tests.UTF32EncodingTests+<Encodings_TestData>d__4:MoveNext():ubyte:this (FullOpts)
-64 (-2.00 % of base) : 230588.dasm - System.Text.Tests.UTF32EncodingTests+<Equals_TestData>d__10:MoveNext():ubyte:this (FullOpts)
-56 (-1.10 % of base) : 129253.dasm - System.IO.Tests.BinaryWriterTests:BinaryWriter_SeekTests():this (FullOpts)
-56 (-2.18 % of base) : 143952.dasm - System.MemoryTests.MemoryTests:MemoryFromMemoryManagerInt() (FullOpts)
-56 (-2.13 % of base) : 143980.dasm - System.MemoryTests.MemoryTests:MemoryFromMemoryManagerLong() (FullOpts)
-56 (-2.15 % of base) : 144019.dasm - System.MemoryTests.MemoryTests:ReadOnlyMemoryFromMemoryFromMemoryManagerInt() (FullOpts)
-56 (-2.13 % of base) : 21102.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
-56 (-1.75 % of base) : 157128.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp2Connection(System.Net.Http.Http2Connection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.Http2Connection]):this (FullOpts)
-48 (-1.10 % of base) : 30969.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetEnumeratorInfoCore(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,byref,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):int:this (FullOpts)
-48 (-0.91 % of base) : 56637.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitLockStatement(Microsoft.CodeAnalysis.CSharp.BoundLockStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
Top method regressions (percentages):
4 (8.33 % of base) : 177455.dasm - System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
4 (8.33 % of base) : 184433.dasm - System.Reflection.Tests.Helpers:get_ExecutingAssembly():System.Reflection.Assembly (FullOpts)
4 (8.33 % of base) : 184385.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumNames_TypeNotEnum_ThrowsArgumentException>b__16_0():System.Object:this (FullOpts)
4 (8.33 % of base) : 184211.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumUnderlyingType_TypeNotEnum_ThrowsArgumentException>b__18_0():System.Object:this (FullOpts)
4 (7.69 % of base) : 184299.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredEvent_NullName_ThrowsArgumentNullException>b__67_0():System.Object:this (FullOpts)
4 (7.69 % of base) : 184310.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredField_NullName_ThrowsArgumentNullException>b__68_0():System.Object:this (FullOpts)
4 (7.69 % of base) : 184364.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredMethod_NullName_ThrowsArgumentNullException>b__69_0():System.Object:this (FullOpts)
4 (7.69 % of base) : 184195.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredNestedType_NullName_ThrowsArgumentNullException>b__71_0():System.Object:this (FullOpts)
4 (7.69 % of base) : 184330.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumName_Invalid>b__13_1():System.Object:this (FullOpts)
4 (7.14 % of base) : 184313.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEvent_NullName_ThrowsArgumentNullException>b__58_0():System.Object:this (FullOpts)
4 (7.14 % of base) : 184284.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetField_NullName_ThrowsArgumentNullException>b__61_0():System.Object:this (FullOpts)
4 (6.67 % of base) : 184329.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumName_Invalid>b__13_0():System.Object:this (FullOpts)
4 (5.26 % of base) : 199865.dasm - System.Tests.Types.NestedGenericTypeParameter1Tests:CreateType():System.Type:this (FullOpts)
4 (5.26 % of base) : 200812.dasm - System.Tests.Types.NestedGenericTypeParameter2Tests:CreateType():System.Type:this (FullOpts)
4 (4.76 % of base) : 36320.dasm - DryIoc.Converter:.cctor() (FullOpts)
4 (4.76 % of base) : 34504.dasm - LightInject.ServiceContainer:<EmitNewInstance>g__IsNotServiceFactory|175_0(System.Type):ubyte (FullOpts)
4 (4.76 % of base) : 34500.dasm - LightInject.ServiceFactoryLoader:.cctor() (FullOpts)
4 (4.76 % of base) : 29704.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
4 (4.76 % of base) : 87288.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
4 (4.76 % of base) : 87263.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
Top method improvements (percentages):
-12 (-21.43 % of base) : 157625.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
-12 (-16.67 % of base) : 21630.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
-8 (-14.29 % of base) : 11038.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
-8 (-14.29 % of base) : 2839.dasm - Microsoft.VisualStudio.Composition.ByValueEquality+AssemblyNameComparer:GetHashCode(System.Reflection.AssemblyName):int:this (FullOpts)
-8 (-14.29 % of base) : 83136.dasm - System.ComponentModel.DesignerCategoryAttribute:GetHashCode():int:this (FullOpts)
-8 (-11.76 % of base) : 83031.dasm - System.ComponentModel.DescriptionAttribute:GetHashCode():int:this (FullOpts)
-8 (-11.76 % of base) : 83159.dasm - System.ComponentModel.DisplayNameAttribute:GetHashCode():int:this (FullOpts)
-32 (-11.27 % of base) : 48105.dasm - Microsoft.CodeAnalysis.NamingStyles.NamingStyle:GetHashCode():int:this (FullOpts)
-32 (-11.27 % of base) : 42373.dasm - Microsoft.CodeAnalysis.NamingStyles.NamingStyle:GetHashCode():int:this (FullOpts)
-12 (-11.11 % of base) : 129513.dasm - System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
-8 (-11.11 % of base) : 83066.dasm - System.ComponentModel.CategoryAttribute:GetHashCode():int:this (FullOpts)
-12 (-9.09 % of base) : 34595.dasm - Autofac.Core.Resolving.Pipeline.DefaultResolveRequestContext:ChangeScope(Autofac.Core.ISharingLifetimeScope):this (FullOpts)
-8 (-8.70 % of base) : 180371.dasm - System.Reflection.Tests.MyAttributeBase_M:ToString():System.String:this (FullOpts)
-8 (-8.70 % of base) : 180370.dasm - System.Reflection.Tests.ParameterInfoAttributeBase:ToString():System.String:this (FullOpts)
-44 (-7.69 % of base) : 141037.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
-8 (-6.45 % of base) : 44806.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:get_IsExtern():ubyte:this (FullOpts)
-8 (-6.45 % of base) : 49719.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:get_IsExtern():ubyte:this (FullOpts)
-16 (-6.45 % of base) : 147979.dasm - System.Net.Http.Tests.StreamToStreamCopyTest:CreateSourceMemoryStream(ubyte,ubyte[]):System.IO.MemoryStream (FullOpts)
-8 (-6.25 % of base) : 230326.dasm - System.Text.Tests.UnicodeEncodingTests:Ctor_Empty():this (FullOpts)
-8 (-6.06 % of base) : 230591.dasm - System.Text.Tests.UTF32EncodingTests:Ctor_Empty():this (FullOpts)
realworld.run.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15876964 (overridden on cmd)
Total bytes of diff: 15873460 (overridden on cmd)
Total bytes of delta: -3504 (-0.02 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
24 : 32892.dasm (1.01 % of base)
8 : 2700.dasm (0.85 % of base)
8 : 33332.dasm (0.81 % of base)
8 : 32286.dasm (0.72 % of base)
8 : 32409.dasm (0.75 % of base)
8 : 32410.dasm (1.22 % of base)
8 : 30300.dasm (0.18 % of base)
4 : 26712.dasm (2.04 % of base)
4 : 3364.dasm (0.46 % of base)
4 : 702.dasm (0.79 % of base)
4 : 32179.dasm (0.25 % of base)
4 : 11729.dasm (2.13 % of base)
4 : 13061.dasm (1.75 % of base)
4 : 18955.dasm (0.65 % of base)
4 : 32785.dasm (0.61 % of base)
4 : 3791.dasm (4.55 % of base)
4 : 3828.dasm (2.56 % of base)
4 : 408.dasm (0.17 % of base)
Top file improvements (bytes):
-64 : 11013.dasm (-2.23 % of base)
-56 : 21704.dasm (-1.20 % of base)
-52 : 14189.dasm (-2.02 % of base)
-48 : 27861.dasm (-0.92 % of base)
-48 : 26214.dasm (-1.82 % of base)
-48 : 20653.dasm (-1.05 % of base)
-40 : 25000.dasm (-1.07 % of base)
-40 : 8109.dasm (-5.99 % of base)
-40 : 10028.dasm (-1.05 % of base)
-40 : 14193.dasm (-0.29 % of base)
-40 : 8655.dasm (-1.75 % of base)
-36 : 24549.dasm (-1.49 % of base)
-36 : 3801.dasm (-7.09 % of base)
-32 : 3696.dasm (-0.53 % of base)
-32 : 10694.dasm (-0.51 % of base)
-32 : 24742.dasm (-0.77 % of base)
-32 : 27909.dasm (-0.35 % of base)
-32 : 28454.dasm (-0.92 % of base)
-28 : 31549.dasm (-0.93 % of base)
-24 : 9133.dasm (-1.60 % of base)
67 total files with Code Size differences (49 improved, 18 regressed), 0 unchanged.
Top method regressions (bytes):
24 (1.01 % of base) : 32892.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
8 (0.85 % of base) : 2700.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (FullOpts)
8 (0.81 % of base) : 33332.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
8 (1.22 % of base) : 32410.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
8 (0.75 % of base) : 32409.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
8 (0.18 % of base) : 30300.dasm - System.Management.Automation.Language.Compiler:.cctor() (FullOpts)
8 (0.72 % of base) : 32286.dasm - System.Runtime.CompilerServices.CallSiteBinder:Stitch[System.__Canon](System.Linq.Expressions.Expression,System.Runtime.CompilerServices.CallSiteBinder+LambdaSignature`1[System.__Canon]):System.Linq.Expressions.Expression`1[System.__Canon] (FullOpts)
4 (0.17 % of base) : 408.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
4 (0.79 % of base) : 702.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
4 (0.46 % of base) : 3364.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
4 (0.61 % of base) : 32785.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
4 (4.55 % of base) : 3791.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
4 (2.56 % of base) : 3828.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
4 (2.04 % of base) : 26712.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
4 (1.75 % of base) : 13061.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
4 (0.25 % of base) : 32179.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
4 (0.65 % of base) : 18955.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
4 (2.13 % of base) : 11729.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
Top method improvements (bytes):
-64 (-2.23 % of base) : 11013.dasm - FSharp.Compiler.Infos+GetParamAttribs@1482:Invoke(System.Tuple`2[FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TypedTree+ArgReprInfo]):System.Tuple`6[ubyte,ubyte,ubyte,FSharp.Compiler.Infos+OptionalArgInfo,FSharp.Compiler.Infos+CallerInfo,FSharp.Compiler.Infos+ReflectedArgInfo]:this (FullOpts)
-56 (-1.20 % of base) : 21704.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<CreateConversion>g__checkConstraintLanguageVersionAndRuntimeSupportForConversion|210_2(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Conversion,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-52 (-2.02 % of base) : 14189.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
-48 (-1.82 % of base) : 26214.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryBindIndexOrRangeImplicitIndexer(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):ubyte:this (FullOpts)
-48 (-0.92 % of base) : 27861.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitLockStatement(Microsoft.CodeAnalysis.CSharp.BoundLockStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
-48 (-1.05 % of base) : 20653.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:EarlyDecodeWellKnownAttribute(byref):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.CSharp.BoundAttribute]:this (FullOpts)
-40 (-5.99 % of base) : 8109.dasm - FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:GetTyconAttribs(FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]):System.Tuple`5[ubyte,ubyte,ubyte,ubyte,ubyte] (FullOpts)
-40 (-1.05 % of base) : 10028.dasm - FSharp.Compiler.CheckExpressions:CheckExpr@3448-2(FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.TypedTreeOps+DisplayEnv,FSharp.Compiler.TypedTreeOps+ValHash`1[FSharp.Compiler.TypedTree+Val],FSharp.Compiler.TypedTreeOps+ValHash`1[int],FSharp.Compiler.TypedTree+ValRef,Microsoft.FSharp.Core.FSharpRef`1[ubyte],Microsoft.FSharp.Core.FSharpRef`1[ubyte],Microsoft.FSharp.Core.FSharpRef`1[ubyte],Microsoft.FSharp.Core.FSharpRef`1[ubyte],Microsoft.FSharp.Core.FSharpRef`1[Microsoft.FSharp.Collections.FSharpList`1[System.Tuple`2[FSharp.Compiler.TypedTree+ValRef,FSharp.Compiler.TypedTree+ValRef]]],FSharp.Compiler.CheckExpressions+InitializationGraphAnalysisState,FSharp.Compiler.TypedTree+Expr) (FullOpts)
-40 (-1.75 % of base) : 8655.dasm - FSharp.Compiler.CheckExpressions:MakeApplicableExprWithFlex(FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.TypedTree+Expr):FSharp.Compiler.CheckExpressions+ApplicableExpr (FullOpts)
-40 (-1.07 % of base) : 25000.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetEnumeratorInfoCore(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,byref,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):int:this (FullOpts)
-40 (-0.29 % of base) : 14193.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
-36 (-7.09 % of base) : 3801.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
-36 (-1.49 % of base) : 24549.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitUsingStatement(Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax):this (FullOpts)
-32 (-0.53 % of base) : 3696.dasm - FSharp.Compiler.CompilerImports:TcConfig.TryResolveLibsUsingMSBuildRules.Static(FSharp.Compiler.CompilerConfig+TcConfig,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+AssemblyReference],FSharp.Compiler.Text.Range,FSharp.Compiler.CompilerImports+ResolveAssemblyReferenceMode):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerImports+AssemblyResolution],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+UnresolvedAssemblyReference]] (FullOpts)
-32 (-0.51 % of base) : 10694.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2269(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,FSharp.Compiler.TypedTree+TType,Microsoft.FSharp.Core.Unit) (FullOpts)
-32 (-0.77 % of base) : 24742.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ConvertToArrayIndex(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,byref):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
-32 (-0.92 % of base) : 28454.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator:EmitStringSwitchJumpTable(System.Collections.Generic.KeyValuePair`2[Microsoft.CodeAnalysis.ConstantValue,System.Object][],Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,Microsoft.CodeAnalysis.CodeGen.LocalOrParameter,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
-32 (-0.35 % of base) : 27909.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator:TryEmitReadonlySpanAsBlobWrapper(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,Microsoft.CodeAnalysis.CSharp.BoundExpression,byref,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte:this (FullOpts)
-28 (-0.93 % of base) : 31549.dasm - System.Management.Automation.LocationGlobber:ResolveDriveQualifiedPath(System.String,System.Management.Automation.CmdletProviderContext,ubyte,byref):System.Collections.ObjectModel.Collection`1[System.Management.Automation.PathInfo]:this (FullOpts)
-24 (-1.60 % of base) : 9133.dasm - FSharp.Compiler.CheckExpressions:TcTyparDecl(FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.Syntax.SynTyparDecl):FSharp.Compiler.TypedTree+Typar (FullOpts)
Top method regressions (percentages):
4 (4.55 % of base) : 3791.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
4 (2.56 % of base) : 3828.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
4 (2.13 % of base) : 11729.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
4 (2.04 % of base) : 26712.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
4 (1.75 % of base) : 13061.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
8 (1.22 % of base) : 32410.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
24 (1.01 % of base) : 32892.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
8 (0.85 % of base) : 2700.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (FullOpts)
8 (0.81 % of base) : 33332.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
4 (0.79 % of base) : 702.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
8 (0.75 % of base) : 32409.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
8 (0.72 % of base) : 32286.dasm - System.Runtime.CompilerServices.CallSiteBinder:Stitch[System.__Canon](System.Linq.Expressions.Expression,System.Runtime.CompilerServices.CallSiteBinder+LambdaSignature`1[System.__Canon]):System.Linq.Expressions.Expression`1[System.__Canon] (FullOpts)
4 (0.65 % of base) : 18955.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
4 (0.61 % of base) : 32785.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
4 (0.46 % of base) : 3364.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
4 (0.25 % of base) : 32179.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
8 (0.18 % of base) : 30300.dasm - System.Management.Automation.Language.Compiler:.cctor() (FullOpts)
4 (0.17 % of base) : 408.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
Top method improvements (percentages):
-36 (-7.09 % of base) : 3801.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
-40 (-5.99 % of base) : 8109.dasm - FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:GetTyconAttribs(FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]):System.Tuple`5[ubyte,ubyte,ubyte,ubyte,ubyte] (FullOpts)
-16 (-5.88 % of base) : 595.dasm - System.IO.MemoryMappedFiles.MemoryMappedFile:Dispose(ubyte):this (FullOpts)
-8 (-5.56 % of base) : 10725.dasm - FSharp.Compiler.TypedTreeBasics:isLessAccessible(FSharp.Compiler.TypedTree+Accessibility,FSharp.Compiler.TypedTree+Accessibility):ubyte (FullOpts)
-8 (-5.41 % of base) : 8761.dasm - FSharp.Compiler.CheckExpressions+PlaceTyparsInDeclarationOrder@1625:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)
-16 (-4.60 % of base) : 8244.dasm - FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:insertEdgeToTycon@4349(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Entity],FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TypedTree+Entity,Microsoft.FSharp.Collections.FSharpList`1[System.Tuple`2[FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TypedTree+Entity]]):Microsoft.FSharp.Collections.FSharpList`1[System.Tuple`2[FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TypedTree+Entity]] (FullOpts)
-24 (-4.41 % of base) : 8743.dasm - FSharp.Compiler.CheckExpressions+GeneralizationHelpers+IsCondensationTypar@2210:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)
-8 (-4.17 % of base) : 1072.dasm - System.Text.UnicodeEncoding:.cctor() (FullOpts)
-12 (-3.90 % of base) : 26256.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitQueryClause(Microsoft.CodeAnalysis.CSharp.BoundQueryClause):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
-8 (-3.85 % of base) : 23315.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:HasInitializer(Microsoft.CodeAnalysis.CSharp.Symbol):ubyte (FullOpts)
-8 (-3.70 % of base) : 11557.dasm - System.Threading.CancellationTokenSource:Dispose(ubyte):this (FullOpts)
-8 (-3.64 % of base) : 8611.dasm - FSharp.Compiler.CheckExpressions+envinner@6481:Invoke(FSharp.Compiler.TypedTree+Val,FSharp.Compiler.TypedTree+ArgReprInfo):Microsoft.FSharp.Core.Unit:this (FullOpts)
-8 (-3.64 % of base) : 9934.dasm - FSharp.Compiler.ConstraintSolver+results@1879-1:Invoke(FSharp.Compiler.Infos+MethInfo):ubyte:this (FullOpts)
-8 (-3.45 % of base) : 21314.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbolBase:GetAttributesBag():Microsoft.CodeAnalysis.CustomAttributesBag`1[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData]:this (FullOpts)
-12 (-3.26 % of base) : 3769.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)
-12 (-3.09 % of base) : 13623.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
-8 (-3.03 % of base) : 9557.dasm - FSharp.Compiler.AttributeChecking+TryBindMethInfoAttribute@202-1[System.__Canon]:Invoke(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]):Microsoft.FSharp.Core.FSharpOption`1[System.__Canon]:this (FullOpts)
-16 (-2.96 % of base) : 8693.dasm - FSharp.Compiler.TypedTreeOps:accFreeTyparRefLeftToRight(FSharp.Compiler.TcGlobals+TcGlobals,ubyte,ubyte,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Typar],FSharp.Compiler.TypedTree+Typar):Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Typar] (FullOpts)
-8 (-2.94 % of base) : 10106.dasm - FSharp.Compiler.CheckDeclarations+TcOpenModuleOrNamespaceDecl@643:Invoke(System.Tuple`3[int,FSharp.Compiler.TypedTree+EntityRef,FSharp.Compiler.TypedTree+ModuleOrNamespaceType]):ubyte:this (FullOpts)
-8 (-2.86 % of base) : 9663.dasm - FSharp.Compiler.ConstraintSolver:eliminateRedundant@2131(FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.TypedTreeOps+TypeEquivEnv,FSharp.Compiler.Import+ImportMap,FSharp.Compiler.Text.Range,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+TyparConstraint],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+TyparConstraint]):Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+TyparConstraint] (FullOpts)
smoke_tests.nativeaot.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 2980396 (overridden on cmd)
Total bytes of diff: 2980396 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 1 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
linux x64
Diffs are based on 2,535,365 contexts (984,668 MinOpts, 1,550,697 FullOpts).
MISSED contexts: base: 0 (0.00%), diff: 6 (0.00%)
Overall (+49,121 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
benchmarks.run.linux.x64.checked.mch |
12,166,543 |
+504 |
benchmarks.run_pgo.linux.x64.checked.mch |
67,166,891 |
+85 |
benchmarks.run_tiered.linux.x64.checked.mch |
16,810,899 |
+14 |
coreclr_tests.run.linux.x64.checked.mch |
418,408,742 |
+6,852 |
libraries.pmi.linux.x64.checked.mch |
60,685,927 |
+2,372 |
libraries_tests.run.linux.x64.Release.mch |
331,729,851 |
+19,870 |
librariestestsnotieredcompilation.run.linux.x64.Release.mch |
132,523,929 |
+18,929 |
realworld.run.linux.x64.checked.mch |
13,233,730 |
+395 |
smoke_tests.nativeaot.linux.x64.checked.mch |
4,251,108 |
+100 |
FullOpts (+49,121 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
benchmarks.run.linux.x64.checked.mch |
11,994,952 |
+504 |
benchmarks.run_pgo.linux.x64.checked.mch |
48,174,268 |
+85 |
benchmarks.run_tiered.linux.x64.checked.mch |
3,654,870 |
+14 |
coreclr_tests.run.linux.x64.checked.mch |
130,639,266 |
+6,852 |
libraries.pmi.linux.x64.checked.mch |
60,573,097 |
+2,372 |
libraries_tests.run.linux.x64.Release.mch |
147,894,207 |
+19,870 |
librariestestsnotieredcompilation.run.linux.x64.Release.mch |
121,951,747 |
+18,929 |
realworld.run.linux.x64.checked.mch |
12,845,635 |
+395 |
smoke_tests.nativeaot.linux.x64.checked.mch |
4,250,159 |
+100 |
Example diffs
benchmarks.run.linux.x64.checked.mch
-9 (-20.45%) : 9684.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
@@ -12,8 +12,8 @@
;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
;* V02 tmp2 [V02,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP
;* V03 tmp3 [V03,T03] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> rax "CSE - aggressive"
-; V05 cse1 [V05,T01] ( 2, 1 ) long -> rax "CSE - moderate"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> rax "CSE - aggressive"
+; V05 cse1 [V05,T01] ( 2, 1 ) long -> rcx "CSE - moderate"
;
; Lcl frame size = 0
@@ -25,20 +25,19 @@ G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
cmp byte ptr [rax], 0
jne SHORT G_M5950_IG04
;; size=15 bbWeight=1 PerfScore 4.25
-G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[rax]
- mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- mov word ptr [rax], 257
+G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
+ mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
+ mov word ptr [rcx], 257
;; size=15 bbWeight=0.50 PerfScore 0.62
-G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rax, 0xD1FFAB1E ; global ptr
- movzx rax, byte ptr [rax]
- ;; size=13 bbWeight=1 PerfScore 2.25
+G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
+ movzx rax, byte ptr [rax+0x01]
+ ; byrRegs -[rax]
+ ;; size=4 bbWeight=1 PerfScore 2.00
G_M5950_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=1 bbWeight=1 PerfScore 1.00
-; Total bytes of code 44, prolog size 0, PerfScore 8.12, instruction count 8, allocated bytes for code 44 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
+; Total bytes of code 35, prolog size 0, PerfScore 7.88, instruction count 7, allocated bytes for code 35 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
; ============================================================
Unwind Info:
-2 (-3.70%) : 15189.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
@@ -45,16 +45,16 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0280 {rdi r9}, byrefRegs=0000 {},
mov rsi, gword ptr [rbp-0x10]
; gcrRegs +[rsi]
mov rdx, qword ptr [rbp-0x08]
- cmp dword ptr [rdi], edi
- mov rax, qword ptr [(reloc)]
- ;; size=28 bbWeight=1 PerfScore 8.50
+ mov rax, qword ptr [rdi]
+ mov rax, qword ptr [rax+0x58]
+ ;; size=26 bbWeight=1 PerfScore 7.50
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 16
pop rbp
tail.jmp [rax]<unknown method>
;; size=8 bbWeight=1 PerfScore 2.75
-; Total bytes of code 54, prolog size 18, PerfScore 15.00, instruction count 15, allocated bytes for code 54 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
+; Total bytes of code 52, prolog size 18, PerfScore 14.00, instruction count 15, allocated bytes for code 52 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
; ============================================================
Unwind Info:
-9 (-1.57%) : 3409.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo1[int]:ConfigureIgnoreCondition(System.Nullable
1[int]):this (FullOpts)
@@ -8,7 +8,7 @@
; 0 inlinees with PGO data; 14 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T00] ( 13, 6.50) ref -> rbx this class-hnd single-def <System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]>
+; V00 this [V00,T00] ( 14, 7 ) ref -> rbx this class-hnd single-def <System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]>
; V01 arg1 [V01,T05] ( 4, 3.50) struct ( 8) [rbp-0x18] do-not-enreg[SF] ld-addr-op single-def <System.Nullable`1[int]>
;* V02 loc0 [V02 ] ( 0, 0 ) int -> zero-ref
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -91,12 +91,12 @@ G_M51320_IG05: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
; gcrRegs -[r15]
mov rdi, rbx
; gcrRegs +[rdi]
- cmp dword ptr [rbx], ebx
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method>
; gcrRegs -[rbx rsi rdi]
jmp G_M51320_IG11
- ;; size=20 bbWeight=0.50 PerfScore 5.12
+ ;; size=18 bbWeight=0.50 PerfScore 4.62
G_M51320_IG06: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx]
mov rdi, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
@@ -132,12 +132,12 @@ G_M51320_IG07: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
; gcrRegs -[r15]
mov rdi, rbx
; gcrRegs +[rdi]
- cmp dword ptr [rbx], ebx
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method>
; gcrRegs -[rbx rsi rdi]
jmp G_M51320_IG11
- ;; size=20 bbWeight=0.50 PerfScore 5.12
+ ;; size=18 bbWeight=0.50 PerfScore 4.62
G_M51320_IG08: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx]
mov rdi, rbx
@@ -180,10 +180,11 @@ G_M51320_IG09: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
; gcrRegs -[r15]
mov rdi, rbx
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method>
; gcrRegs -[rsi rdi]
- ;; size=13 bbWeight=0.50 PerfScore 2.62
+ ;; size=13 bbWeight=0.50 PerfScore 3.62
G_M51320_IG10: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
mov byte ptr [rbx+0x97], 1
;; size=7 bbWeight=0.50 PerfScore 0.50
@@ -226,16 +227,16 @@ G_M51320_IG12: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
mov rsi, r15
; gcrRegs +[rsi]
;; size=97 bbWeight=0.50 PerfScore 5.50
-G_M51320_IG13: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M51320_IG13: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[r15]
mov rdi, rbx
; gcrRegs +[rdi]
- cmp dword ptr [rbx], ebx
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method>
; gcrRegs -[rsi rdi]
- jmp G_M51320_IG10
- ;; size=20 bbWeight=0.50 PerfScore 5.12
+ jmp SHORT G_M51320_IG10
+ ;; size=15 bbWeight=0.50 PerfScore 4.62
G_M51320_IG14: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
mov rdi, gword ptr [rbx+0x40]
; gcrRegs +[rdi]
@@ -251,7 +252,7 @@ RWD00 dd G_M51320_IG04 - G_M51320_IG02
dd G_M51320_IG08 - G_M51320_IG02
-; Total bytes of code 575, prolog size 13, PerfScore 59.00, instruction count 122, allocated bytes for code 575 (MethodHash=9de53787) for method System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
+; Total bytes of code 566, prolog size 13, PerfScore 58.50, instruction count 123, allocated bytes for code 566 (MethodHash=9de53787) for method System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
; ============================================================
Unwind Info:
+10 (+2.09%) : 18979.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
@@ -62,8 +62,10 @@ G_M5978_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
test rdi, rdi
jne SHORT G_M5978_IG04
mov rdi, 0xD1FFAB1E
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ mov rax, qword ptr [rax]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x58]
call [rax+0x28]<unknown method>
; gcrRegs -[rdi] +[rax]
; gcr arg pop 0
@@ -79,7 +81,7 @@ G_M5978_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcr arg pop 0
mov rdi, rax
; gcrRegs +[rdi]
- ;; size=70 bbWeight=1 PerfScore 17.75
+ ;; size=80 bbWeight=1 PerfScore 20.00
G_M5978_IG04: ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rax]
test rdi, rdi
@@ -304,7 +306,7 @@ G_M5978_IG24: ; bbWeight=0, funclet epilog, nogc, extend
ret
;; size=11 bbWeight=0 PerfScore 0.00
-; Total bytes of code 479, prolog size 23, PerfScore 123.75, instruction count 133, allocated bytes for code 479 (MethodHash=93fee8a5) for method Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
+; Total bytes of code 489, prolog size 23, PerfScore 126.00, instruction count 135, allocated bytes for code 489 (MethodHash=93fee8a5) for method Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
; ============================================================
Unwind Info:
+10 (+2.89%) : 17944.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b_280():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
@@ -49,7 +49,11 @@ G_M10927_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M10927_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x58]
call [rax+0x28]<unknown method>
; gcrRegs -[rdi] +[rax]
mov rbx, rax
@@ -85,7 +89,7 @@ G_M10927_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs +[rbx]
test rbx, rbx
je SHORT G_M10927_IG05
- ;; size=103 bbWeight=1 PerfScore 27.00
+ ;; size=113 bbWeight=1 PerfScore 29.25
G_M10927_IG03: ; bbWeight=0.50, gcrefRegs=4009 {rax rbx r14}, byrefRegs=0000 {}, byref, isz
mov rdi, 0xD1FFAB1E ; System.Attribute[]
cmp qword ptr [rbx], rdi
@@ -211,7 +215,7 @@ G_M10927_IG15: ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
int3
;; size=9 bbWeight=0 PerfScore 0.00
-; Total bytes of code 346, prolog size 13, PerfScore 59.38, instruction count 88, allocated bytes for code 346 (MethodHash=cf2cd550) for method BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
+; Total bytes of code 356, prolog size 13, PerfScore 61.62, instruction count 90, allocated bytes for code 356 (MethodHash=cf2cd550) for method BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
; ============================================================
Unwind Info:
+30 (+9.23%) : 7385.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
@@ -64,25 +64,33 @@ G_M61493_IG02: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=C008 {rb
; gcrRegs -[rdi]
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov r12, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov r12, qword ptr [rax+0x60]
call [r12+0x18]<unknown method>
; gcrRegs -[rdi]
mov dword ptr [rbp-0x3C], eax
test eax, eax
je G_M61493_IG08
- ;; size=71 bbWeight=1 PerfScore 15.25
+ ;; size=81 bbWeight=1 PerfScore 17.50
G_M61493_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=C008 {rbx r14 r15}, byref
; gcrRegs -[r13]
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rcx, qword ptr [(reloc)]
+ mov rcx, 0xD1FFAB1E
+ ; gcrRegs +[rcx]
+ mov rcx, qword ptr [rcx]
+ ; gcrRegs -[rcx]
+ mov rcx, qword ptr [rcx+0x70]
call [rcx+0x08]<unknown method>
; gcrRegs -[rdi] +[rax]
mov r13, rax
; gcrRegs +[r13]
mov eax, dword ptr [rbp-0x3C]
; gcrRegs -[rax]
- ;; size=26 bbWeight=0.50 PerfScore 3.25
+ ;; size=36 bbWeight=0.50 PerfScore 4.38
G_M61493_IG04: ; bbWeight=1, gcrefRegs=2000 {r13}, byrefRegs=C008 {rbx r14 r15}, byref, isz
mov rdi, r13
; gcrRegs +[rdi]
@@ -117,12 +125,16 @@ G_M61493_IG05: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=C008 {rbx r1
; gcrRegs -[r13]
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x70]
call [rax+0x08]<unknown method>
; gcrRegs -[rdi] +[rax]
mov r13, rax
; gcrRegs +[r13]
- ;; size=23 bbWeight=0.50 PerfScore 2.75
+ ;; size=33 bbWeight=0.50 PerfScore 3.88
G_M61493_IG06: ; bbWeight=1, gcrefRegs=2000 {r13}, byrefRegs=C008 {rbx r14 r15}, byref
; gcrRegs -[rax]
mov rdi, r13
@@ -176,7 +188,7 @@ G_M61493_IG08: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=200
jmp G_M61493_IG04
;; size=8 bbWeight=0.50 PerfScore 1.50
-; Total bytes of code 325, prolog size 29, PerfScore 66.50, instruction count 78, allocated bytes for code 325 (MethodHash=8df50fca) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
+; Total bytes of code 355, prolog size 29, PerfScore 71.00, instruction count 84, allocated bytes for code 355 (MethodHash=8df50fca) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
; ============================================================
Unwind Info:
benchmarks.run_pgo.linux.x64.checked.mch
-2 (-0.10%) : 102153.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
@@ -1127,8 +1127,8 @@ G_M45453_IG81: ; bbWeight=0, gcVars=00000000000000000000000000800000 {V96
; gcrRegs +[rdi]
mov esi, 1
mov gword ptr [rbp-0x60], rdi
- cmp dword ptr [rdi], edi
- mov rcx, qword ptr [(reloc)]
+ mov rcx, qword ptr [rdi]
+ mov rcx, qword ptr [rcx+0x50]
call [rcx]Microsoft.CodeAnalysis.SyntaxNode:GetChildPosition(int):int:this
; gcrRegs -[rax rdi]
; gcr arg pop 0
@@ -1168,9 +1168,9 @@ G_M45453_IG81: ; bbWeight=0, gcVars=00000000000000000000000000800000 {V96
; byrRegs -[r13]
mov rsi, r13
jmp G_M45453_IG49
- ;; size=103 bbWeight=0 PerfScore 0.00
+ ;; size=101 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1929, prolog size 38, PerfScore 131.57, instruction count 472, allocated bytes for code 1929 (MethodHash=66e04e72) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
+; Total bytes of code 1927, prolog size 38, PerfScore 131.57, instruction count 472, allocated bytes for code 1927 (MethodHash=66e04e72) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
; ============================================================
Unwind Info:
-3 (-0.07%) : 96264.dasm - Microsoft.Cci.MetadataVisitor:Visit(System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]):this (Tier1)
@@ -11,7 +11,7 @@
;
; V00 this [V00,T00] ( 29, 8.42) ref -> rbx this class-hnd single-def <Microsoft.Cci.MetadataVisitor>
; V01 arg1 [V01,T05] ( 5, 4 ) ref -> rsi class-hnd single-def <System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]>
-; V02 loc0 [V02,T09] ( 12, 4.51) ref -> [rbp-0xB0] class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[Microsoft.Cci.IMethodDefinition]>
+; V02 loc0 [V02,T10] ( 12, 4.51) ref -> [rbp-0xB0] class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[Microsoft.Cci.IMethodDefinition]>
; V03 loc1 [V03,T03] ( 28, 7.16) ref -> r15 class-hnd <Microsoft.Cci.IMethodDefinition>
; V04 OutArgs [V04 ] ( 1, 1 ) struct (48) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V05 tmp1 [V05,T27] ( 3, 2 ) ref -> rdi "guarded devirt return temp"
@@ -21,12 +21,12 @@
; V09 tmp5 [V09,T06] ( 10, 5.00) ref -> r14 class-hnd exact "guarded devirt this exact temp" <Microsoft.Cci.FullMetadataWriter+FullReferenceIndexer>
; V10 tmp6 [V10,T25] ( 6, 2.00) ref -> rsi class-hnd "Inline stloc first use temp" <Microsoft.Cci.ITypeDefinition>
; V11 tmp7 [V11,T26] ( 6, 2 ) ref -> rsi "guarded devirt return temp"
-; V12 tmp8 [V12,T12] ( 6, 4 ) struct (48) [rbp-0x58] do-not-enreg[SF] must-init "guarded devirt arg temp" <Microsoft.CodeAnalysis.Emit.EmitContext>
+; V12 tmp8 [V12,T13] ( 6, 4 ) struct (48) [rbp-0x58] do-not-enreg[SF] must-init "guarded devirt arg temp" <Microsoft.CodeAnalysis.Emit.EmitContext>
;* V13 tmp9 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol+SourceOrdinaryMethodSymbolSimple>
; V14 tmp10 [V14,T01] ( 34, 7.20) ref -> r15 class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Symbols.SynthesizedInstanceConstructor>
;* V15 tmp11 [V15 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "spilling ret_expr" <Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol+SourceOrdinaryMethodSymbolSimple>
; V16 tmp12 [V16,T18] ( 6, 2.80) ref -> rsi "guarded devirt return temp"
-; V17 tmp13 [V17,T11] ( 6, 4.22) ref -> r12 "guarded devirt arg temp"
+; V17 tmp13 [V17,T12] ( 6, 4.22) ref -> r12 "guarded devirt arg temp"
;* V18 tmp14 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol>
;* V19 tmp15 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData]>
; V20 tmp16 [V20 ] ( 10, 1.84) ref -> [rbp-0x60] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.SynthesizedAttributeData]>
@@ -109,12 +109,12 @@
; V97 tmp93 [V97,T46] ( 6, 1.24) ref -> r12 class-hnd "Inline return value spill temp" <Microsoft.Cci.IMethodBody>
; V98 tmp94 [V98,T30] ( 4, 1.24) ref -> r12 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Cci.IMethodBody>
;* V99 tmp95 [V99,T53] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V100 tmp96 [V100,T14] ( 11, 3.43) ref -> r15 ld-addr-op class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.Symbols.IMethodSymbolInternal>
+; V100 tmp96 [V100,T08] ( 12, 4.66) ref -> r15 ld-addr-op class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.Symbols.IMethodSymbolInternal>
; V101 tmp97 [V101,T07] ( 8, 4.96) ref -> rax class-hnd "Inlining Arg" <<unknown class>>
; V102 tmp98 [V102,T22] ( 8, 2.48) ref -> r12 class-hnd "Inline stloc first use temp" <<unknown class>>
; V103 tmp99 [V103,T59] ( 6, 1.08) ref -> r14 class-hnd "Inline stloc first use temp" <<unknown class>>
; V104 tmp100 [V104,T37] ( 6, 1.70) int -> r13 "Inline stloc first use temp"
-; V105 tmp101 [V105,T08] ( 16, 4.64) ref -> r12 class-hnd "Inline stloc first use temp" <<unknown class>>
+; V105 tmp101 [V105,T09] ( 16, 4.64) ref -> r12 class-hnd "Inline stloc first use temp" <<unknown class>>
; V106 tmp102 [V106,T49] ( 6, 1.24) int -> r13 "Inline return value spill temp"
;* V107 tmp103 [V107 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.Symbols.IMethodSymbolInternal>
; V108 tmp104 [V108,T54] ( 4, 1.24) int -> rax "guarded devirt return temp"
@@ -148,12 +148,12 @@
; V136 cse5 [V136,T77] ( 3, 0.02) int -> rsi "CSE - conservative"
;* V137 cse6 [V137 ] ( 0, 0 ) int -> zero-ref "CSE - conservative"
; V138 cse7 [V138,T80] ( 4, 0.01) int -> rcx "CSE - conservative"
-; V139 cse8 [V139,T13] ( 4, 3.52) long -> r13 "CSE - moderate"
+; V139 cse8 [V139,T14] ( 4, 3.52) long -> r13 "CSE - moderate"
; V140 cse9 [V140,T17] ( 7, 2.34) long -> r12 multi-def "CSE - aggressive"
; V141 rat0 [V141,T02] ( 6, 7.92) ref -> rsi "replacement local"
; V142 rat1 [V142,T36] ( 6, 1.80) ref -> rdi "replacement local"
; V143 rat2 [V143,T23] ( 3, 2.46) ref -> rsi "Spilling to split statement for tree"
-; V144 rat3 [V144,T10] ( 4, 4.30) ref -> r8 "replacement local"
+; V144 rat3 [V144,T11] ( 4, 4.30) ref -> r8 "replacement local"
; V145 rat4 [V145,T55] ( 3, 1.23) long -> rdi "CSE for expectedClsNode"
; V146 rat5 [V146,T72] ( 6, 0.08) ref -> rsi "replacement local"
; V147 rat6 [V147,T78] ( 6, 0.02) ref -> rdi "replacement local"
@@ -199,7 +199,7 @@ G_M47169_IG04: ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {},
mov gword ptr [rbp-0xB0], rdi
; GC ptr vars +{V02}
;; size=7 bbWeight=1 PerfScore 1.00
-G_M47169_IG05: ; bbWeight=1, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG05: ; bbWeight=1, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref
mov r11, 0xD1FFAB1E ; function address
call [r11]<unknown method>
; gcrRegs -[rdi]
@@ -316,7 +316,7 @@ G_M47169_IG16: ; bbWeight=0.23, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRe
test r12, r12
jne G_M47169_IG28
;; size=70 bbWeight=0.23 PerfScore 4.21
-G_M47169_IG17: ; bbWeight=0.16, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG17: ; bbWeight=0.16, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax r12]
; GC ptr vars -{V120}
mov rdi, 0xD1FFAB1E ; const ptr
@@ -397,7 +397,7 @@ G_M47169_IG27: ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
; gcr arg pop 0
jmp G_M47169_IG44
;; size=14 bbWeight=0 PerfScore 0.00
-G_M47169_IG28: ; bbWeight=0.06, gcVars=00000000000000200000000000000200 {V02 V120}, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG28: ; bbWeight=0.06, gcVars=00000000000000200000000000000400 {V02 V120}, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[r12 r14-r15]
; GC ptr vars +{V120}
mov rdi, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.Symbol+<GetCustomAttributesToEmitIterator>d__15
@@ -447,7 +447,7 @@ G_M47169_IG28: ; bbWeight=0.06, gcVars=00000000000000200000000000000200 {
; gcrRegs +[rsi]
jmp G_M47169_IG18
;; size=135 bbWeight=0.06 PerfScore 1.34
-G_M47169_IG29: ; bbWeight=1.31, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG29: ; bbWeight=1.31, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rsi]
; GC ptr vars -{V26}
mov rdi, r15
@@ -549,7 +549,7 @@ G_M47169_IG35: ; bbWeight=0.05, gcrefRegs=E009 {rax rbx r13 r14 r15}, byr
mov ecx, dword ptr [rbp-0x64]
jmp SHORT G_M47169_IG37
;; size=43 bbWeight=0.05 PerfScore 0.41
-G_M47169_IG36: ; bbWeight=0.06, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG36: ; bbWeight=0.06, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rdi]
; GC ptr vars -{V30}
xor rdi, rdi
@@ -710,13 +710,14 @@ G_M47169_IG52: ; bbWeight=0.61, gcrefRegs=8008 {rbx r15}, byrefRegs=0000
je G_M47169_IG77
mov rdi, r15
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r15]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x18]<unknown method>
; gcrRegs -[rdi]
; gcr arg pop 0
mov r13d, eax
- ;; size=77 bbWeight=0.61 PerfScore 17.03
+ ;; size=77 bbWeight=0.61 PerfScore 18.26
G_M47169_IG53: ; bbWeight=0.61, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, byref
mov rcx, gword ptr [r12+0x10]
; gcrRegs +[rcx]
@@ -1224,7 +1225,7 @@ G_M47169_IG99: ; bbWeight=0.00, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byr
mov rsi, r12
; gcrRegs +[rsi]
;; size=126 bbWeight=0.00 PerfScore 0.01
-G_M47169_IG100: ; bbWeight=0.01, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M47169_IG100: ; bbWeight=0.01, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[r12]
; GC ptr vars -{V26}
xor rdi, rdi
@@ -1489,14 +1490,14 @@ G_M47169_IG123: ; bbWeight=0.01, gcrefRegs=8008 {rbx r15}, byrefRegs=0000
cmp dword ptr [r15], r15d
mov rdi, r15
; gcrRegs +[rdi]
- cmp dword ptr [r15], r15d
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r15]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x18]<unknown method>
; gcrRegs -[rdi]
; gcr arg pop 0
mov r13d, eax
- ;; size=95 bbWeight=0.01 PerfScore 0.24
+ ;; size=92 bbWeight=0.01 PerfScore 0.23
G_M47169_IG124: ; bbWeight=0.01, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, byref
mov rcx, gword ptr [r12+0x10]
; gcrRegs +[rcx]
@@ -1716,7 +1717,7 @@ G_M47169_IG143: ; bbWeight=0.00, gcrefRegs=E009 {rax rbx r13 r14 r15}, by
mov ecx, dword ptr [rbp-0x64]
jmp SHORT G_M47169_IG145
;; size=43 bbWeight=0.00 PerfScore 0.00
-G_M47169_IG144: ; bbWeight=0.00, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG144: ; bbWeight=0.00, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rdi]
; GC ptr vars -{V30}
xor rdi, rdi
@@ -2033,13 +2034,13 @@ G_M47169_IG174: ; bbWeight=0.47, gcVars=00000000000000000000000000000000
; gcrRegs +[rdi]
jmp G_M47169_IG04
;; size=24 bbWeight=0.47 PerfScore 2.70
-G_M47169_IG175: ; bbWeight=1, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG175: ; bbWeight=1, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax rbx rdi]
- ; GC ptr vars +{V02 V09}
+ ; GC ptr vars +{V02 V10}
mov rdi, gword ptr [rbp-0xB0]
; gcrRegs +[rdi]
mov r11, 0xD1FFAB1E ; code for <unknown method>
- ; GC ptr vars -{V02 V09}
+ ; GC ptr vars -{V02 V10}
call [r11]<unknown method>
; gcrRegs -[rdi]
; gcr arg pop 0
@@ -2056,8 +2057,8 @@ G_M47169_IG176: ; bbWeight=1, epilog, nogc, extend
pop rbp
ret
;; size=21 bbWeight=1 PerfScore 5.25
-G_M47169_IG177: ; bbWeight=0, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
- ; GC ptr vars +{V02 V09}
+G_M47169_IG177: ; bbWeight=0, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+ ; GC ptr vars +{V02 V10}
push rbp
push r15
push r14
@@ -2069,13 +2070,13 @@ G_M47169_IG177: ; bbWeight=0, gcVars=00000000000000000000000000000200 {V0
mov qword ptr [rsp+0x30], rbp
lea rbp, [rbp+0x100]
;; size=30 bbWeight=0 PerfScore 0.00
-G_M47169_IG178: ; bbWeight=0, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M47169_IG178: ; bbWeight=0, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
cmp gword ptr [rbp-0xB0], 0
je SHORT G_M47169_IG179
mov rdi, gword ptr [rbp-0xB0]
; gcrRegs +[rdi]
mov r11, 0xD1FFAB1E ; code for <unknown method>
- ; GC ptr vars -{V02 V09}
+ ; GC ptr vars -{V02 V10}
call [r11]<unknown method>
; gcrRegs -[rdi]
; gcr arg pop 0
@@ -2095,7 +2096,7 @@ G_M47169_IG180: ; bbWeight=0, funclet epilog, nogc, extend
ret
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 4556, prolog size 76, PerfScore 237.28, instruction count 1011, allocated bytes for code 4556 (MethodHash=227047be) for method Microsoft.Cci.MetadataVisitor:Visit(System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]):this (Tier1)
+; Total bytes of code 4553, prolog size 76, PerfScore 238.50, instruction count 1012, allocated bytes for code 4553 (MethodHash=227047be) for method Microsoft.Cci.MetadataVisitor:Visit(System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]):this (Tier1)
; ============================================================
Unwind Info:
-2 (-0.02%) : 69831.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
@@ -4187,12 +4187,12 @@ G_M21650_IG223: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, by
;; size=4 bbWeight=0.50 PerfScore 1.12
G_M21650_IG224: ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rax] +[rdi]
- cmp dword ptr [rdi], edi
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rdi]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x08]<unknown method>
; gcrRegs -[rdi] +[rax]
; gcr arg pop 0
- ;; size=12 bbWeight=0.50 PerfScore 4.00
+ ;; size=10 bbWeight=0.50 PerfScore 3.50
G_M21650_IG225: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
@@ -4286,7 +4286,7 @@ G_M21650_IG235: ; bbWeight=0, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs
jmp G_M21650_IG203
;; size=15 bbWeight=0 PerfScore 0.00
-; Total bytes of code 8456, prolog size 78, PerfScore 5376.88, instruction count 1909, allocated bytes for code 8456 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
+; Total bytes of code 8454, prolog size 78, PerfScore 5376.38, instruction count 1909, allocated bytes for code 8454 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
; ============================================================
Unwind Info:
+11 (+0.26%) : 52366.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary
2[System.String,System.Collections.Generic.List1[System.Reflection.RuntimePropertyInfo]],System.Span
1[ubyte],ubyte,byref):this (Tier1)
@@ -22,7 +22,7 @@
; V10 loc3 [V10,T78] ( 3, 3.86) int -> [rbp-0x98] spill-single-def ptr
; V11 loc4 [V11,T06] ( 9, 24.59) int -> [rbp-0x9C] ptr
; V12 loc5 [V12,T11] ( 7, 21.63) int -> [rbp-0xA0] spill-single-def ptr
-; V13 loc6 [V13,T19] ( 11, 16.51) ref -> [rbp-0x1A0] class-hnd exact ptr <System.Reflection.RuntimePropertyInfo>
+; V13 loc6 [V13,T16] ( 13, 18.88) ref -> [rbp-0x1A0] class-hnd exact ptr <System.Reflection.RuntimePropertyInfo>
; V14 loc7 [V14 ] ( 2, 4.47) ubyte -> [rbp-0xA8] do-not-enreg[X] addr-exposed ld-addr-op
;* V15 loc8 [V15 ] ( 0, 0 ) struct (16) zero-ref <System.MdUtf8String>
;* V16 loc9 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Reflection.MetadataImport>
@@ -67,7 +67,7 @@
;* V55 tmp31 [V55 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V56 tmp32 [V56 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V57 tmp33 [V57,T51] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V58 tmp34 [V58,T16] ( 5, 18.64) int -> rdi "Inline stloc first use temp"
+; V58 tmp34 [V58,T17] ( 5, 18.64) int -> rdi "Inline stloc first use temp"
;* V59 tmp35 [V59,T80] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V60 tmp36 [V60,T09] ( 3, 22.37) ref -> rax class-hnd exact "Inlining Arg" <System.Reflection.RuntimeModule>
;* V61 tmp37 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.MetadataImport>
@@ -100,7 +100,7 @@
;* V88 tmp64 [V88 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V89 tmp65 [V89 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V90 tmp66 [V90 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V91 tmp67 [V91,T17] ( 4, 17.90) ref -> [rbp-0x1D8] class-hnd exact spill-single-def "Inlining Arg" <System.Reflection.RuntimeModule>
+; V91 tmp67 [V91,T18] ( 4, 17.90) ref -> [rbp-0x1D8] class-hnd exact spill-single-def "Inlining Arg" <System.Reflection.RuntimeModule>
;* V92 tmp68 [V92 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Reflection.MetadataImport>
;* V93 tmp69 [V93 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V94 tmp70 [V94 ] ( 2, 4.47) long -> [rbp-0xF8] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
@@ -255,7 +255,7 @@
; V243 GsCookie [V243 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie"
; V244 tmp220 [V244,T61] ( 3, 5.47) ref -> [rbp-0x238] spill-single-def ptr "shadowVar"
; V245 tmp221 [V245,T13] ( 14, 20.68) ref -> [rbp-0x240] spill-single-def ptr "shadowVar"
-; V246 tmp222 [V246,T18] ( 10, 17.12) ref -> [rbp-0x248] spill-single-def ptr "shadowVar"
+; V246 tmp222 [V246,T19] ( 10, 17.12) ref -> [rbp-0x248] spill-single-def ptr "shadowVar"
; V247 tmp223 [V247,T87] ( 4, 2.03) struct (16) [rbp-0x198] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" <System.Span`1[ubyte]>
; V248 tmp224 [V248,T81] ( 5, 3.24) byref -> [rbp-0x250] spill-single-def ptr "shadowVar"
; V249 cse0 [V249,T104] ( 3, 0.05) byref -> rax "CSE - conservative"
@@ -656,14 +656,14 @@ G_M9628_IG44: ; bbWeight=1, epilog, nogc, extend
pop rbp
ret
;; size=18 bbWeight=1 PerfScore 4.25
-G_M9628_IG45: ; bbWeight=3.22, gcVars=00000000000200002000000000042000 {V244 V245 V246 V248}, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG45: ; bbWeight=3.22, gcVars=00000000000200002000000000082000 {V244 V245 V246 V248}, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[r14]
- ; GC ptr vars +{V13 V244 V245 V246 V248}
+ ; GC ptr vars +{V13 V19 V244 V245 V246 V248}
jmp G_M9628_IG59
;; size=5 bbWeight=3.22 PerfScore 6.44
-G_M9628_IG46: ; bbWeight=2, gcVars=000000000002000024001004000C2000 {V13 V19 V174 V183 V244 V245 V246 V248}, gcrefRegs=E040 {rsi r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG46: ; bbWeight=2, gcVars=00000000000200002400100400092000 {V13 V19 V174 V183 V244 V245 V246 V248}, gcrefRegs=E040 {rsi r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[rsi r13 r15]
- ; GC ptr vars +{V19 V58 V174 V183}
+ ; GC ptr vars +{V58 V174 V183}
cmp r8d, dword ptr [rsi+0x08]
jae G_M9628_IG89
mov edi, r8d
@@ -674,12 +674,12 @@ G_M9628_IG46: ; bbWeight=2, gcVars=000000000002000024001004000C2000 {V13
; gcrRegs -[rsi]
dec edi
;; size=25 bbWeight=2 PerfScore 17.50
-G_M9628_IG47: ; bbWeight=2.25, gcVars=000000000002000024000004000C2000 {V13 V19 V174 V244 V245 V246 V248}, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG47: ; bbWeight=2.25, gcVars=00000000000200002400000400092000 {V13 V19 V174 V244 V245 V246 V248}, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V58 V183}
cmp dword ptr [rax+0x08], edi
ja G_M9628_IG57
;; size=9 bbWeight=2.25 PerfScore 9.00
-G_M9628_IG48: ; bbWeight=1.12, gcVars=000000000002000020000004000C2000 {V13 V19 V244 V245 V246 V248}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG48: ; bbWeight=1.12, gcVars=00000000000200002000000400092000 {V13 V19 V244 V245 V246 V248}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax]
; GC ptr vars -{V174}
mov rax, gword ptr [rbp-0x1A0]
@@ -687,8 +687,8 @@ G_M9628_IG48: ; bbWeight=1.12, gcVars=000000000002000020000004000C2000 {V
mov rcx, gword ptr [rbp-0x1A8]
; gcrRegs +[rcx]
;; size=14 bbWeight=1.12 PerfScore 2.25
-G_M9628_IG49: ; bbWeight=2, gcVars=00000000000200002000000400042000 {V19 V244 V245 V246 V248}, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
- ; GC ptr vars -{V13 V19}
+G_M9628_IG49: ; bbWeight=2, gcVars=00000000000200002000000400082000 {V19 V244 V245 V246 V248}, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+ ; GC ptr vars -{V13}
xor rdx, rdx
; byrRegs +[rdx]
;; size=2 bbWeight=2 PerfScore 0.50
@@ -701,7 +701,6 @@ G_M9628_IG51: ; bbWeight=2.00, gcrefRegs=E003 {rax rcx r13 r14 r15}, byre
mov gword ptr [rbp-0x1A0], rax
; GC ptr vars +{V13}
mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]
- ; GC ptr vars +{V19}
call CORINFO_HELP_NEWSFAST
; gcrRegs -[rcx]
; gcr arg pop 0
@@ -745,7 +744,7 @@ G_M9628_IG52: ; bbWeight=2, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000
cmp dword ptr [rcx+0x10], 0
jg G_M9628_IG114
;; size=19 bbWeight=2 PerfScore 10.50
-G_M9628_IG53: ; bbWeight=2, gcVars=000000000002000020000000000C2000 {V13 V244 V245 V246 V248}, gcrefRegs=E002 {rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M9628_IG53: ; bbWeight=2, gcVars=00000000000200002000000000092000 {V13 V244 V245 V246 V248}, gcrefRegs=E002 {rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V20}
test rcx, rcx
je SHORT G_M9628_IG56
@@ -771,7 +770,7 @@ G_M9628_IG54: ; bbWeight=1.78, gcrefRegs=E082 {rcx rdi r13 r14 r15}, byre
mov rcx, gword ptr [rbp-0x1A0]
; gcrRegs +[rcx]
;; size=32 bbWeight=1.78 PerfScore 10.22
-G_M9628_IG55: ; bbWeight=2.12, gcVars=00000000000200002000000000042000 {V244 V245 V246 V248}, gcrefRegs=C002 {rcx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG55: ; bbWeight=2.12, gcVars=00000000000200002000000000082000 {V244 V245 V246 V248}, gcrefRegs=C002 {rcx r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[r13]
; GC ptr vars -{V13}
mov rdi, bword ptr [rbp-0x250]
@@ -791,7 +790,7 @@ G_M9628_IG56: ; bbWeight=1, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000
mov r9d, dword ptr [rbp-0x174]
jmp G_M9628_IG41
;; size=12 bbWeight=1 PerfScore 3.00
-G_M9628_IG57: ; bbWeight=0.25, gcVars=000000000002000024000004000C2000 {V13 V19 V174 V244 V245 V246 V248}, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG57: ; bbWeight=0.25, gcVars=00000000000200002400000400092000 {V13 V19 V174 V244 V245 V246 V248}, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[rax]
; GC ptr vars +{V13 V19 V58 V174}
mov edx, ecx
@@ -811,8 +810,8 @@ G_M9628_IG57: ; bbWeight=0.25, gcVars=000000000002000024000004000C2000 {V
cmp dword ptr [rdi+0x10], edx
je G_M9628_IG111
;; size=53 bbWeight=0.25 PerfScore 2.56
-G_M9628_IG58: ; bbWeight=0.25, gcVars=00000020000200002000000400042000 {V19 V172 V244 V245 V246 V248}, gcrefRegs=EC03 {rax rcx r10 r11 r13 r14 r15}, byrefRegs=0080 {rdi}, gcvars, byref
- ; GC ptr vars -{V13 V19 V58 V174}
+G_M9628_IG58: ; bbWeight=0.25, gcVars=00000020000200002000000400082000 {V19 V172 V244 V245 V246 V248}, gcrefRegs=EC03 {rax rcx r10 r11 r13 r14 r15}, byrefRegs=0080 {rdi}, gcvars, byref
+ ; GC ptr vars -{V13 V58 V174}
mov edi, dword ptr [rdi+0x14]
; byrRegs -[rdi]
inc esi
@@ -827,9 +826,9 @@ G_M9628_IG58: ; bbWeight=0.25, gcVars=00000020000200002000000400042000 {V
; gcrRegs -[rcx]
jmp G_M9628_IG47
;; size=39 bbWeight=0.25 PerfScore 2.69
-G_M9628_IG59: ; bbWeight=2.24, gcVars=00000000000200002000000000042000 {V244 V245 V246 V248}, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG59: ; bbWeight=2.24, gcVars=00000000000200002000000000082000 {V244 V245 V246 V248}, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax r10-r11 r13 r15]
- ; GC ptr vars -{V13 V172 V174}
+ ; GC ptr vars -{V13 V19 V172 V174}
mov rdi, 0xD1FFAB1E ; System.Reflection.RuntimePropertyInfo
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
@@ -847,7 +846,7 @@ G_M9628_IG59: ; bbWeight=2.24, gcVars=00000000000200002000000000042000 {V
cmp byte ptr [rcx+0x94], 0
jne G_M9628_IG99
;; size=62 bbWeight=2.24 PerfScore 25.73
-G_M9628_IG60: ; bbWeight=2.24, gcVars=00000000000200002000000000042081 {V28 V79 V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG60: ; bbWeight=2.24, gcVars=00000000000200002000000000082081 {V28 V79 V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax rcx]
mov rdi, r14
; gcrRegs +[rdi]
@@ -982,21 +981,22 @@ G_M9628_IG63: ; bbWeight=2.24, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {
test edi, esi
jne G_M9628_IG83
;; size=57 bbWeight=2.24 PerfScore 26.85
-G_M9628_IG64: ; bbWeight=2.12, gcVars=00000000000200002000000000042000 {V244 V245 V246 V248}, gcrefRegs=C002 {rcx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG64: ; bbWeight=2.12, gcVars=00000000000200002000000000082000 {V244 V245 V246 V248}, gcrefRegs=C002 {rcx r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax]
; GC ptr vars -{V28}
- mov gword ptr [rbp-0x1A0], rcx
- ; GC ptr vars +{V13}
mov rdi, rcx
; gcrRegs +[rdi]
xor esi, esi
- mov rax, qword ptr [(reloc)]
+ mov gword ptr [rbp-0x1A0], rcx
+ ; GC ptr vars +{V13}
+ mov rax, qword ptr [rcx]
+ mov rax, qword ptr [rax+0x60]
call [rax+0x08]<unknown method>
; gcrRegs -[rcx rdi] +[rax]
; gcr arg pop 0
test rax, rax
je G_M9628_IG86
- ;; size=31 bbWeight=2.12 PerfScore 16.42
+ ;; size=31 bbWeight=2.12 PerfScore 20.66
G_M9628_IG65: ; bbWeight=2.12, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0000 {}, byref, isz
test rax, rax
je SHORT G_M9628_IG67
@@ -1019,7 +1019,7 @@ G_M9628_IG66: ; bbWeight=1.86, gcrefRegs=C001 {rax r14 r15}, byrefRegs=00
cmp eax, dword ptr [rbp-0x98]
jl G_M9628_IG84
;; size=63 bbWeight=1.86 PerfScore 25.17
-G_M9628_IG67: ; bbWeight=2.12, gcVars=000000000002000020000000000C2000 {V13 V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG67: ; bbWeight=2.12, gcVars=00000000000200002000000000092000 {V13 V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V30 V100}
mov r13, gword ptr [rbp-0x248]
; gcrRegs +[r13]
@@ -1057,7 +1057,7 @@ G_M9628_IG69: ; bbWeight=2.00, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=00
je G_M9628_IG100
mov eax, dword ptr [rbp-0x164]
;; size=55 bbWeight=2.00 PerfScore 17.50
-G_M9628_IG70: ; bbWeight=2.00, gcVars=000000000002004020000000000C2000 {V13 V116 V244 V245 V246 V248}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0004 {rdx}, gcvars, byref, isz
+G_M9628_IG70: ; bbWeight=2.00, gcVars=00000000000200402000000000092000 {V13 V116 V244 V245 V246 V248}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0004 {rdx}, gcvars, byref, isz
; gcrRegs -[rcx]
; byrRegs +[rdx]
mov bword ptr [rbp-0x118], rdx
@@ -1163,7 +1163,7 @@ G_M9628_IG74: ; bbWeight=2.00, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=00
cmp r9d, r8d
jne G_M9628_IG106
;; size=104 bbWeight=2.00 PerfScore 33.00
-G_M9628_IG75: ; bbWeight=2.00, gcVars=000000000002000020000800000C2000 {V13 V128 V244 V245 V246 V248}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG75: ; bbWeight=2.00, gcVars=00000000000200002000080000092000 {V13 V128 V244 V245 V246 V248}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V116}
mov edx, dword ptr [rbp-0x124]
cmp edx, ecx
@@ -1175,7 +1175,7 @@ G_M9628_IG76: ; bbWeight=2.00, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=00
mov rcx, gword ptr [rbp-0x208]
; gcrRegs +[rcx]
;; size=16 bbWeight=2.00 PerfScore 4.50
-G_M9628_IG77: ; bbWeight=2.00, gcVars=000000000002000020000000000C2000 {V13 V244 V245 V246 V248}, gcrefRegs=E002 {rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG77: ; bbWeight=2.00, gcVars=00000000000200002000000000092000 {V13 V244 V245 V246 V248}, gcrefRegs=E002 {rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V128}
xor rdi, rdi
; byrRegs +[rdi]
@@ -1202,14 +1202,14 @@ G_M9628_IG78: ; bbWeight=2.00, gcrefRegs=E002 {rcx r13 r14 r15}, byrefReg
mov rcx, rax
mov rax, gword ptr [rbp-0x1A0]
;; size=53 bbWeight=2.00 PerfScore 14.50
-G_M9628_IG79: ; bbWeight=2.00, gcVars=00000000000200002000000000042000 {V244 V245 V246 V248}, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG79: ; bbWeight=2.00, gcVars=00000000000200002000000000082000 {V244 V245 V246 V248}, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V13 V125}
mov gword ptr [rbp-0x1A8], rcx
; GC ptr vars +{V19}
test rcx, rcx
je G_M9628_IG122
;; size=16 bbWeight=2.00 PerfScore 4.50
-G_M9628_IG80: ; bbWeight=2, gcVars=00000000000200002000000400042000 {V19 V244 V245 V246 V248}, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG80: ; bbWeight=2, gcVars=00000000000200002000000400082000 {V19 V244 V245 V246 V248}, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
cmp gword ptr [r13+0x08], 0
je G_M9628_IG49
cmp gword ptr [r13+0x10], 0
@@ -1223,7 +1223,7 @@ G_M9628_IG81: ; bbWeight=2, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRe
; GC ptr vars +{V13}
je G_M9628_IG109
;; size=20 bbWeight=2 PerfScore 8.50
-G_M9628_IG82: ; bbWeight=2, gcVars=000000000002000020000004000C2000 {V13 V19 V244 V245 V246 V248}, gcrefRegs=E006 {rcx rdx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG82: ; bbWeight=2, gcVars=00000000000200002000000400092000 {V13 V19 V244 V245 V246 V248}, gcrefRegs=E006 {rcx rdx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax]
mov gword ptr [rbp-0x218], rdx
; GC ptr vars +{V174}
@@ -1257,19 +1257,19 @@ G_M9628_IG82: ; bbWeight=2, gcVars=000000000002000020000004000C2000 {V13
jne G_M9628_IG110
jmp G_M9628_IG46
;; size=98 bbWeight=2 PerfScore 95.00
-G_M9628_IG83: ; bbWeight=1.12, gcVars=00000000000200002000000000042000 {V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG83: ; bbWeight=1.12, gcVars=00000000000200002000000000082000 {V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rsi r13]
; GC ptr vars -{V13 V19 V174 V183}
mov r9d, dword ptr [rbp-0x174]
jmp G_M9628_IG41
;; size=12 bbWeight=1.12 PerfScore 3.36
-G_M9628_IG84: ; bbWeight=0.02, gcVars=000000000002000020000040000C2000 {V13 V30 V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
...
+7 (+0.28%) : 80641.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary
2[System.String,System.Collections.Generic.List1[System.Reflection.RuntimePropertyInfo]],System.Span
1[ubyte],ubyte,byref):this (Tier1)
@@ -22,7 +22,7 @@
; V10 loc3 [V10,T37] ( 3, 2.33) int -> [rbp-0x98] spill-single-def ptr
; V11 loc4 [V11,T03] ( 9, 9.00) int -> [rbp-0x9C] ptr
; V12 loc5 [V12,T08] ( 9, 6.33) int -> [rbp-0xA0] ptr
-; V13 loc6 [V13,T56] ( 9, 1.00) ref -> [rbp-0x138] class-hnd exact ptr <System.Reflection.RuntimePropertyInfo>
+; V13 loc6 [V13,T49] ( 11, 1.33) ref -> [rbp-0x138] class-hnd exact ptr <System.Reflection.RuntimePropertyInfo>
; V14 loc7 [V14 ] ( 2, 0.67) ubyte -> [rbp-0xA8] do-not-enreg[X] addr-exposed ld-addr-op
;* V15 loc8 [V15 ] ( 0, 0 ) struct (16) zero-ref <System.MdUtf8String>
;* V16 loc9 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Reflection.MetadataImport>
@@ -38,8 +38,8 @@
; V26 tmp2 [V26,T39] ( 5, 2 ) int -> registers ptr
; V27 tmp3 [V27,T04] ( 3, 8.00) ref -> rax class-hnd exact "dup spill" <int[]>
; V28 tmp4 [V28,T01] ( 11, 9.33) ref -> [rbp-0x148] class-hnd exact spill-single-def ptr "NewObj constructor temp" <System.Reflection.RuntimePropertyInfo>
-; V29 tmp5 [V29,T53] ( 2, 1.33) ref -> rax class-hnd "dup spill" <System.Reflection.MethodInfo>
-; V30 tmp6 [V30,T49] ( 8, 1.33) ref -> [rbp-0x150] ptr
+; V29 tmp5 [V29,T54] ( 2, 1.33) ref -> rax class-hnd "dup spill" <System.Reflection.MethodInfo>
+; V30 tmp6 [V30,T50] ( 8, 1.33) ref -> [rbp-0x150] ptr
; V31 tmp7 [V31,T69] ( 3, 0 ) ref -> [rbp-0x158] class-hnd exact spill-single-def ptr "NewObj constructor temp" <System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]>
;* V32 tmp8 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.MetadataImport>
;* V33 tmp9 [V33 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
@@ -68,7 +68,7 @@
;* V56 tmp32 [V56 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V57 tmp33 [V57,T35] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V58 tmp34 [V58,T07] ( 5, 6.67) int -> rdi "Inline stloc first use temp"
-; V59 tmp35 [V59,T51] ( 2, 0 ) ubyte -> rdi "Inline return value spill temp"
+; V59 tmp35 [V59,T52] ( 2, 0 ) ubyte -> rdi "Inline return value spill temp"
; V60 tmp36 [V60,T05] ( 3, 8.00) ref -> rax class-hnd exact "Inlining Arg" <System.Reflection.RuntimeModule>
;* V61 tmp37 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.MetadataImport>
;* V62 tmp38 [V62 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
@@ -109,8 +109,8 @@
;* V97 tmp73 [V97 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V98 tmp74 [V98 ] ( 2, 0.67) long -> [rbp-0x100] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V99 tmp75 [V99 ] ( 2, 0.67) int -> [rbp-0x108] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-; V100 tmp76 [V100,T54] ( 2, 1.33) byref -> [rbp-0x170] spill-single-def ptr "Inlining Arg"
-; V101 tmp77 [V101,T55] ( 2, 1.33) byref -> [rbp-0x178] spill-single-def ptr "Inlining Arg"
+; V100 tmp76 [V100,T55] ( 2, 1.33) byref -> [rbp-0x170] spill-single-def ptr "Inlining Arg"
+; V101 tmp77 [V101,T56] ( 2, 1.33) byref -> [rbp-0x178] spill-single-def ptr "Inlining Arg"
;* V102 tmp78 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.RuntimeType+RuntimeTypeCache>
;* V103 tmp79 [V103 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V104 tmp80 [V104,T41] ( 3, 2.00) ref -> [rbp-0x180] class-hnd exact spill-single-def ptr "Inlining Arg" <System.Reflection.RuntimeMethodInfo>
@@ -158,11 +158,11 @@
; V146 GsCookie [V146 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie"
; V147 tmp123 [V147,T30] ( 3, 2.67) ref -> r12 single-def "shadowVar"
; V148 tmp124 [V148,T00] ( 14, 10.67) ref -> r13 single-def "shadowVar"
-; V149 tmp125 [V149,T50] ( 6, 1.33) ref -> r14 single-def "shadowVar"
+; V149 tmp125 [V149,T51] ( 6, 1.33) ref -> r14 single-def "shadowVar"
; V150 tmp126 [V150,T40] ( 5, 2 ) struct (16) [rbp-0x130] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" <System.Span`1[ubyte]>
; V151 tmp127 [V151,T48] ( 5, 1.67) byref -> r15 single-def "shadowVar"
; V152 rat0 [V152,T42] ( 3, 2.00) ref -> rcx "replacement local"
-; V153 rat1 [V153,T52] ( 3, 1.33) long -> rdi "CSE for expectedClsNode"
+; V153 rat1 [V153,T53] ( 3, 1.33) long -> rdi "CSE for expectedClsNode"
;
; Lcl frame size = 408
@@ -613,20 +613,21 @@ G_M9628_IG40: ; bbWeight=0.33, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=80
movzx rsi, byte ptr [rbp-0xA8]
test edi, esi
jne G_M9628_IG47
- mov gword ptr [rbp-0x138], rcx
- ; GC ptr vars +{V13}
mov rdi, rcx
; gcrRegs +[rdi]
xor esi, esi
- mov rax, qword ptr [(reloc)]
+ mov gword ptr [rbp-0x138], rcx
+ ; GC ptr vars +{V13}
+ mov rax, qword ptr [rcx]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x60]
; GC ptr vars -{V28}
call [rax+0x08]<unknown method>
; gcrRegs -[rcx rdi] +[rax]
; gcr arg pop 0
test rax, rax
je G_M9628_IG68
- ;; size=89 bbWeight=0.33 PerfScore 6.58
+ ;; size=89 bbWeight=0.33 PerfScore 7.25
G_M9628_IG41: ; bbWeight=0.33, gcrefRegs=7001 {rax r12 r13 r14}, byrefRegs=8000 {r15}, byref, isz
test rax, rax
je SHORT G_M9628_IG42
@@ -648,7 +649,7 @@ G_M9628_IG41: ; bbWeight=0.33, gcrefRegs=7001 {rax r12 r13 r14}, byrefReg
mov dword ptr [rbp-0x10C], eax
jl G_M9628_IG70
;; size=70 bbWeight=0.33 PerfScore 4.67
-G_M9628_IG42: ; bbWeight=0.33, gcVars=00000000000000000100000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+G_M9628_IG42: ; bbWeight=0.33, gcVars=00000000000000000002000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
; GC ptr vars -{V30 V104}
test r14, r14
jne SHORT G_M9628_IG46
@@ -676,7 +677,7 @@ G_M9628_IG45: ; bbWeight=0.33, gcVars=00000000000000000000000000000000 {}
mov r9d, dword ptr [rbp-0x11C]
jmp G_M9628_IG28
;; size=34 bbWeight=0.33 PerfScore 2.25
-G_M9628_IG46: ; bbWeight=0.17, gcVars=00000000000000000100000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref
+G_M9628_IG46: ; bbWeight=0.17, gcVars=00000000000000000002000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref
; GC ptr vars +{V13}
mov rax, gword ptr [rbp-0x138]
; gcrRegs +[rax]
@@ -851,35 +852,37 @@ G_M9628_IG67: ; bbWeight=0, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000
; gcr arg pop 0
jmp G_M9628_IG37
;; size=31 bbWeight=0 PerfScore 0.00
-G_M9628_IG68: ; bbWeight=0, gcVars=00000000000000000100000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref
+G_M9628_IG68: ; bbWeight=0, gcVars=00000000000000000002000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref
; GC ptr vars -{V01 V06 V28 V83} +{V13}
mov rdi, gword ptr [rbp-0x138]
; gcrRegs +[rdi]
xor esi, esi
- mov rax, qword ptr [(reloc)]
+ mov gword ptr [rbp-0x138], rdi
+ mov rax, qword ptr [rdi]
+ mov rax, qword ptr [rax+0x60]
call [rax+0x18]<unknown method>
; gcrRegs -[rdi] +[rax]
; gcr arg pop 0
jmp G_M9628_IG41
- ;; size=24 bbWeight=0 PerfScore 0.00
-G_M9628_IG69: ; bbWeight=0, gcVars=00000000000000000002000000000000 {V30}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+ ;; size=31 bbWeight=0 PerfScore 0.00
+G_M9628_IG69: ; bbWeight=0, gcVars=00000000000000000004000000000000 {V30}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax r12-r14]
; byrRegs -[r15]
- ; GC ptr vars -{V13} +{V30}
+ ; GC ptr vars -{V13} +{V30 V50}
mov rax, gword ptr [rbp-0x150]
; gcrRegs +[rax]
mov rsi, rax
; gcrRegs +[rsi]
- ; GC ptr vars -{V30}
+ ; GC ptr vars -{V30 V50}
call CORINFO_HELP_CHKCASTCLASS
; gcrRegs -[rsi]
; gcr arg pop 0
int3
;; size=16 bbWeight=0 PerfScore 0.00
-G_M9628_IG70: ; bbWeight=0, gcVars=00000000000000000102000000000000 {V13 V30}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+G_M9628_IG70: ; bbWeight=0, gcVars=00000000000000000006000000000000 {V13 V30}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
; gcrRegs -[rax] +[r12-r14]
; byrRegs +[r15]
- ; GC ptr vars +{V13 V30}
+ ; GC ptr vars +{V13 V30 V50}
mov rax, gword ptr [rbp-0x150]
; gcrRegs +[rax]
mov rdi, rax
@@ -887,7 +890,7 @@ G_M9628_IG70: ; bbWeight=0, gcVars=00000000000000000102000000000000 {V13
mov rax, qword ptr [rax]
; gcrRegs -[rax]
mov rax, qword ptr [rax+0x58]
- ; GC ptr vars -{V30}
+ ; GC ptr vars -{V30 V50}
call [rax+0x20]<unknown method>
; gcrRegs -[rdi]
; gcr arg pop 0
@@ -972,7 +975,7 @@ G_M9628_IG73: ; bbWeight=0, gcVars=00000000000000000000000000000000 {}, g
; GC ptr vars +{V13}
jmp G_M9628_IG43
;; size=12 bbWeight=0 PerfScore 0.00
-G_M9628_IG74: ; bbWeight=0, gcVars=00000000000000000100000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+G_M9628_IG74: ; bbWeight=0, gcVars=00000000000000000002000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
; gcrRegs -[rax]
mov rsi, gword ptr [rbp-0xB0]
; gcrRegs +[rsi]
@@ -1085,7 +1088,7 @@ G_M9628_IG79: ; bbWeight=0, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000
jmp G_M9628_IG45
;; size=103 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2506, prolog size 106, PerfScore 210.17, instruction count 518, allocated bytes for code 2506 (MethodHash=a5a7da63) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
+; Total bytes of code 2513, prolog size 106, PerfScore 210.83, instruction count 521, allocated bytes for code 2513 (MethodHash=a5a7da63) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
; ============================================================
Unwind Info:
+13 (+1.02%) : 119986.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
@@ -162,7 +162,11 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs -[rax]
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xC0]
call [rax+0x30]<unknown method>
; gcrRegs -[rdi] +[rax]
; gcr arg pop 0
@@ -182,7 +186,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcr arg pop 0
test eax, eax
je SHORT G_M22068_IG12
- ;; size=59 bbWeight=1 PerfScore 13.75
+ ;; size=72 bbWeight=1 PerfScore 16.00
G_M22068_IG07: ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov rdi, rbx
; gcrRegs +[rdi]
@@ -766,7 +770,7 @@ G_M22068_IG46: ; bbWeight=0, gcVars=0000000000000001 {V93}, gcrefRegs=000
int3
;; size=42 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1279, prolog size 47, PerfScore 735.88, instruction count 334, allocated bytes for code 1279 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
+; Total bytes of code 1292, prolog size 47, PerfScore 738.12, instruction count 336, allocated bytes for code 1292 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
; ============================================================
Unwind Info:
benchmarks.run_tiered.linux.x64.checked.mch
-2 (-0.02%) : 36367.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
@@ -4200,12 +4200,12 @@ G_M21650_IG223: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, by
;; size=4 bbWeight=0.50 PerfScore 1.12
G_M21650_IG224: ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rax] +[rdi]
- cmp dword ptr [rdi], edi
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rdi]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x08]<unknown method>
; gcrRegs -[rdi] +[rax]
; gcr arg pop 0
- ;; size=12 bbWeight=0.50 PerfScore 4.00
+ ;; size=10 bbWeight=0.50 PerfScore 3.50
G_M21650_IG225: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
@@ -4272,7 +4272,7 @@ G_M21650_IG233: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 8436, prolog size 78, PerfScore 5391.88, instruction count 1907, allocated bytes for code 8436 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
+; Total bytes of code 8434, prolog size 78, PerfScore 5391.38, instruction count 1907, allocated bytes for code 8434 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
; ============================================================
Unwind Info:
+0 (0.00%) : 29777.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
@@ -8,8 +8,8 @@
; 0 inlinees with PGO data; 58 single block inlinees; 33 inlinees without PGO data
; Final local variable assignments
;
-; V00 arg0 [V00,T51] ( 6, 5 ) ref -> rbx class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.String]>
-; V01 loc0 [V01,T52] ( 5, 7 ) ref -> r15 class-hnd <System.IO.MemoryStream>
+; V00 arg0 [V00,T52] ( 6, 5 ) ref -> rbx class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.String]>
+; V01 loc0 [V01,T31] ( 7, 11.50) ref -> r15 class-hnd <System.IO.MemoryStream>
; V02 loc1 [V02,T30] ( 9, 14.50) ref -> r14 class-hnd <ubyte[]>
;* V03 loc2 [V03 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]>
;* V04 loc3 [V04 ] ( 0, 0 ) struct (16) zero-ref <System.Span`1[ubyte]>
@@ -44,7 +44,7 @@
; V33 tmp16 [V33,T17] ( 3, 24 ) int -> rdi "impAppendStmt"
;* V34 tmp17 [V34 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V35 tmp18 [V35 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-; V36 tmp19 [V36,T36] ( 2, 8 ) ref -> r14 class-hnd "dup spill" <ubyte[]>
+; V36 tmp19 [V36,T37] ( 2, 8 ) ref -> r14 class-hnd "dup spill" <ubyte[]>
; V37 tmp20 [V37,T65] ( 2, 4 ) long -> r13 "Inlining Arg"
; V38 tmp21 [V38,T71] ( 2, 2 ) struct (40) [rbp-0x90] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.String]>
;* V39 tmp22 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
@@ -59,7 +59,7 @@
;* V48 tmp31 [V48 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V49 tmp32 [V49 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V50 tmp33 [V50 ] ( 0, 0 ) int -> zero-ref
-; V51 tmp34 [V51,T31] ( 4, 8 ) int -> r8 "Inline stloc first use temp"
+; V51 tmp34 [V51,T32] ( 4, 8 ) int -> r8 "Inline stloc first use temp"
;* V52 tmp35 [V52 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
; V53 tmp36 [V53 ] ( 3, 6 ) byref -> [rbp-0x98] must-init pinned "Inline stloc first use temp"
; V54 tmp37 [V54,T55] ( 3, 6 ) long -> [rbp-0xA0] spill-single-def "Inline stloc first use temp"
@@ -79,7 +79,7 @@
;* V68 tmp51 [V68 ] ( 0, 0 ) int -> zero-ref
; V69 tmp52 [V69,T00] ( 11,156 ) int -> [rbp-0xA4] "Inlining Arg"
; V70 tmp53 [V70,T02] ( 11,128 ) long -> [rbp-0xB0] "Inlining Arg"
-; V71 tmp54 [V71,T44] ( 2, 8 ) long -> rdi "dup spill"
+; V71 tmp54 [V71,T45] ( 2, 8 ) long -> rdi "dup spill"
;* V72 tmp55 [V72 ] ( 0, 0 ) struct ( 8) zero-ref "dup spill" <System.ValueTuple`2[uint,uint]>
; V73 tmp56 [V73,T06] ( 3, 48 ) int -> [rbp-0xB4] spill-single-def "Inline stloc first use temp"
;* V74 tmp57 [V74 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
@@ -113,8 +113,8 @@
;* V102 tmp85 [V102 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V103 tmp86 [V103 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V104 tmp87 [V104 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V105 tmp88 [V105,T45] ( 2, 8 ) int -> rdi "Inlining Arg"
-; V106 tmp89 [V106,T37] ( 2, 8 ) byref -> r8 "Inlining Arg"
+; V105 tmp88 [V105,T46] ( 2, 8 ) int -> rdi "Inlining Arg"
+; V106 tmp89 [V106,T38] ( 2, 8 ) byref -> r8 "Inlining Arg"
;* V107 tmp90 [V107 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V108 tmp91 [V108 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
; V109 tmp92 [V109,T10] ( 4, 32 ) int -> rdi "Inlining Arg"
@@ -125,8 +125,8 @@
;* V114 tmp97 [V114 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V115 tmp98 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V116 tmp99 [V116 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V117 tmp100 [V117,T46] ( 2, 8 ) int -> rdx "Inlining Arg"
-; V118 tmp101 [V118,T38] ( 2, 8 ) byref -> rcx "Inlining Arg"
+; V117 tmp100 [V117,T47] ( 2, 8 ) int -> rdx "Inlining Arg"
+; V118 tmp101 [V118,T39] ( 2, 8 ) byref -> rcx "Inlining Arg"
;* V119 tmp102 [V119 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V120 tmp103 [V120 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
; V121 tmp104 [V121,T11] ( 4, 32 ) int -> rdi "Inlining Arg"
@@ -150,20 +150,20 @@
; V139 tmp122 [V139,T08] ( 13, 45 ) int -> r12 "field V03._length (fldOffset=0x8)" P-INDEP
;* V140 tmp123 [V140 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP
;* V141 tmp124 [V141 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
-; V142 tmp125 [V142,T39] ( 2, 8 ) ref -> rbx "field V08.key (fldOffset=0x0)" P-INDEP
-; V143 tmp126 [V143,T40] ( 2, 8 ) ref -> rax "field V08.value (fldOffset=0x8)" P-INDEP
+; V142 tmp125 [V142,T40] ( 2, 8 ) ref -> rbx "field V08.key (fldOffset=0x0)" P-INDEP
+; V143 tmp126 [V143,T41] ( 2, 8 ) ref -> rax "field V08.value (fldOffset=0x8)" P-INDEP
;* V144 tmp127 [V144 ] ( 0, 0 ) ubyte -> zero-ref "field V16._format (fldOffset=0x0)" P-INDEP
;* V145 tmp128 [V145 ] ( 0, 0 ) ubyte -> zero-ref "field V16._precision (fldOffset=0x1)" P-INDEP
; V146 tmp129 [V146,T70] ( 2, 2 ) byref -> r13 single-def "field V18._reference (fldOffset=0x0)" P-INDEP
;* V147 tmp130 [V147,T74] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP
; V148 tmp131 [V148,T57] ( 2, 6 ) byref -> r8 "field V22._reference (fldOffset=0x0)" P-INDEP
; V149 tmp132 [V149,T58] ( 2, 6 ) int -> r9 "field V22._length (fldOffset=0x8)" P-INDEP
-; V150 tmp133 [V150,T32] ( 3, 8 ) byref -> rbx "field V26._reference (fldOffset=0x0)" P-INDEP
-; V151 tmp134 [V151,T34] ( 3, 8 ) int -> [rbp-0xC0] "field V26._length (fldOffset=0x8)" P-INDEP
+; V150 tmp133 [V150,T33] ( 3, 8 ) byref -> rbx "field V26._reference (fldOffset=0x0)" P-INDEP
+; V151 tmp134 [V151,T35] ( 3, 8 ) int -> [rbp-0xC0] "field V26._length (fldOffset=0x8)" P-INDEP
;* V152 tmp135 [V152 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP
;* V153 tmp136 [V153 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
-; V154 tmp137 [V154,T33] ( 3, 8 ) byref -> [rbp-0xF8] "field V31._reference (fldOffset=0x0)" P-INDEP
-; V155 tmp138 [V155,T35] ( 3, 8 ) int -> [rbp-0xC4] "field V31._length (fldOffset=0x8)" P-INDEP
+; V154 tmp137 [V154,T34] ( 3, 8 ) byref -> [rbp-0xF8] "field V31._reference (fldOffset=0x0)" P-INDEP
+; V155 tmp138 [V155,T36] ( 3, 8 ) int -> [rbp-0xC4] "field V31._length (fldOffset=0x8)" P-INDEP
;* V156 tmp139 [V156 ] ( 0, 0 ) byref -> zero-ref "field V32._reference (fldOffset=0x0)" P-INDEP
;* V157 tmp140 [V157 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
;* V158 tmp141 [V158 ] ( 0, 0 ) byref -> zero-ref "field V34._reference (fldOffset=0x0)" P-INDEP
@@ -198,26 +198,26 @@
; V187 tmp170 [V187,T67] ( 2, 4 ) int -> r8 "field V103._length (fldOffset=0x8)" P-INDEP
;* V188 tmp171 [V188 ] ( 0, 0 ) byref -> zero-ref "field V104._reference (fldOffset=0x0)" P-INDEP
;* V189 tmp172 [V189 ] ( 0, 0 ) int -> zero-ref "field V104._length (fldOffset=0x8)" P-INDEP
-; V190 tmp173 [V190,T41] ( 2, 8 ) byref -> r9 "field V110._reference (fldOffset=0x0)" P-INDEP
-; V191 tmp174 [V191,T47] ( 2, 8 ) int -> r10 "field V110._length (fldOffset=0x8)" P-INDEP
+; V190 tmp173 [V190,T42] ( 2, 8 ) byref -> r9 "field V110._reference (fldOffset=0x0)" P-INDEP
+; V191 tmp174 [V191,T48] ( 2, 8 ) int -> r10 "field V110._length (fldOffset=0x8)" P-INDEP
; V192 tmp175 [V192,T64] ( 2, 4 ) byref -> rcx "field V115._reference (fldOffset=0x0)" P-INDEP
; V193 tmp176 [V193,T68] ( 2, 4 ) int -> rdx "field V115._length (fldOffset=0x8)" P-INDEP
;* V194 tmp177 [V194 ] ( 0, 0 ) byref -> zero-ref "field V116._reference (fldOffset=0x0)" P-INDEP
;* V195 tmp178 [V195 ] ( 0, 0 ) int -> zero-ref "field V116._length (fldOffset=0x8)" P-INDEP
-; V196 tmp179 [V196,T42] ( 2, 8 ) byref -> r8 "field V122._reference (fldOffset=0x0)" P-INDEP
-; V197 tmp180 [V197,T48] ( 2, 8 ) int -> r9 "field V122._length (fldOffset=0x8)" P-INDEP
+; V196 tmp179 [V196,T43] ( 2, 8 ) byref -> r8 "field V122._reference (fldOffset=0x0)" P-INDEP
+; V197 tmp180 [V197,T49] ( 2, 8 ) int -> r9 "field V122._length (fldOffset=0x8)" P-INDEP
;* V198 tmp181 [V198 ] ( 0, 0 ) byref -> zero-ref "field V128._reference (fldOffset=0x0)" P-INDEP
;* V199 tmp182 [V199 ] ( 0, 0 ) int -> zero-ref "field V128._length (fldOffset=0x8)" P-INDEP
;* V200 tmp183 [V200 ] ( 0, 0 ) byref -> zero-ref "field V132._reference (fldOffset=0x0)" P-INDEP
;* V201 tmp184 [V201 ] ( 0, 0 ) int -> zero-ref "field V132._length (fldOffset=0x8)" P-INDEP
-; V202 tmp185 [V202,T43] ( 2, 8 ) byref -> rsi "field V133._reference (fldOffset=0x0)" P-INDEP
-; V203 tmp186 [V203,T49] ( 2, 8 ) int -> rdx "field V133._length (fldOffset=0x8)" P-INDEP
+; V202 tmp185 [V202,T44] ( 2, 8 ) byref -> rsi "field V133._reference (fldOffset=0x0)" P-INDEP
+; V203 tmp186 [V203,T50] ( 2, 8 ) int -> rdx "field V133._length (fldOffset=0x8)" P-INDEP
;* V204 tmp187 [V204 ] ( 0, 0 ) ref -> zero-ref single-def "V38.[000..008)"
; V205 tmp188 [V205,T73] ( 2, 1 ) int -> rdi "V38.[008..012)"
;* V206 tmp189 [V206 ] ( 0, 0 ) int -> zero-ref "V38.[012..016)"
;* V207 tmp190 [V207 ] ( 0, 0 ) int -> zero-ref "V38.[016..020)"
;* V208 tmp191 [V208 ] ( 0, 0 ) struct ( 8) zero-ref do-not-enreg[SF] "by-value struct argument" <System.Buffers.StandardFormat>
-; V209 tmp192 [V209,T50] ( 2, 8 ) long -> rcx "Cast away GC"
+; V209 tmp192 [V209,T51] ( 2, 8 ) long -> rcx "Cast away GC"
; V210 GsCookie [V210 ] ( 1, 1 ) long -> [rbp-0x118] do-not-enreg[X] addr-exposed "GSSecurityCookie"
; V211 cse0 [V211,T20] ( 4, 21 ) ref -> [rbp-0x100] hoist multi-def "CSE - moderate"
; V212 cse1 [V212,T21] ( 5, 20 ) ref -> [rbp-0x108] spill-single-def "CSE - moderate"
@@ -734,7 +734,7 @@ G_M33777_IG37: ; bbWeight=4, gcVars=00000000000000000000000002000000 {V30
; GC ptr vars +{V154}
jge SHORT G_M33777_IG39
;; size=50 bbWeight=4 PerfScore 30.00
-G_M33777_IG38: ; bbWeight=2, gcVars=0000000000000000000000020A000000 {V30 V124 V154}, gcrefRegs=C001 {rax r14 r15}, byrefRegs=2000 {r13}, gcvars, byref
+G_M33777_IG38: ; bbWeight=2, gcVars=0000000000000000000000040A000000 {V30 V124 V154}, gcrefRegs=C001 {rax r14 r15}, byrefRegs=2000 {r13}, gcvars, byref
; byrRegs -[rcx r8]
mov dword ptr [rbp-0xC4], edx
mov r11, 0xD1FFAB1E
@@ -813,7 +813,8 @@ G_M33777_IG41: ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2000 {r1
mov edx, ebx
mov rdi, r15
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r15]
+ mov rax, qword ptr [rax+0x68]
call [rax+0x38]<unknown method>
; gcrRegs -[rdi]
; byrRegs -[rsi]
@@ -824,17 +825,18 @@ G_M33777_IG41: ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2000 {r1
; gcr arg pop 0
test eax, eax
jne G_M33777_IG06
- ;; size=46 bbWeight=4 PerfScore 43.00
+ ;; size=46 bbWeight=4 PerfScore 51.00
G_M33777_IG42: ; bbWeight=0.50, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref
; byrRegs -[r13]
mov rdi, r15
; gcrRegs +[rdi]
xor esi, esi
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r15]
+ mov rax, qword ptr [rax+0x50]
call [rax+0x18]<unknown method>
; gcrRegs -[rdi]
; gcr arg pop 0
- ;; size=15 bbWeight=0.50 PerfScore 2.75
+ ;; size=15 bbWeight=0.50 PerfScore 3.75
G_M33777_IG43: ; bbWeight=1, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref, isz
test r14, r14
je SHORT G_M33777_IG45
@@ -886,7 +888,7 @@ G_M33777_IG49: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1629, prolog size 81, PerfScore 1264.25, instruction count 384, allocated bytes for code 1629 (MethodHash=d24f7c0e) for method System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
+; Total bytes of code 1629, prolog size 81, PerfScore 1273.25, instruction count 386, allocated bytes for code 1629 (MethodHash=d24f7c0e) for method System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
; ============================================================
Unwind Info:
+0 (0.00%) : 35161.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ParsePkcs12(System.ReadOnlySpan`1[ubyte]):this (Tier1)
@@ -40,7 +40,7 @@
;* V29 tmp20 [V29 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
; V30 tmp21 [V30,T14] ( 2, 4 ) long -> rdx "Inlining Arg"
;* V31 tmp22 [V31 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V32 tmp23 [V32,T00] ( 10, 15 ) ref -> r15 class-hnd exact single-def "Inlining Arg" <System.Buffers.PointerMemoryManager`1[ubyte]>
+; V32 tmp23 [V32,T00] ( 11, 16 ) ref -> r15 class-hnd exact single-def "Inlining Arg" <System.Buffers.PointerMemoryManager`1[ubyte]>
;* V33 tmp24 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
; V34 tmp25 [V34 ] ( 5, 10 ) struct (16) [rbp-0xE0] do-not-enreg[SFA] multireg-arg must-init ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
;* V35 tmp26 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
@@ -261,7 +261,8 @@ G_M27305_IG10: ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000
; gcr arg pop 0
mov rdi, r15
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r15]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x28]<unknown method>
; gcrRegs -[rdi r15]
; byrRegs +[rax]
@@ -269,7 +270,7 @@ G_M27305_IG10: ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000
mov r13, rax
; byrRegs +[r13]
mov r12d, edx
- ;; size=52 bbWeight=0.50 PerfScore 5.88
+ ;; size=52 bbWeight=0.50 PerfScore 6.88
G_M27305_IG11: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=2000 {r13}, byref
; byrRegs -[rax]
cmp r14d, r12d
@@ -445,7 +446,7 @@ RWD00 dq 002E0032002E0031h, 002E003000340038h, 0035003300310031h, 0031002E0039
RWD32 dq 002E003000340038h, 0035003300310031h, 0031002E00390034h, 0031002E0037002Eh
-; Total bytes of code 796, prolog size 85, PerfScore 131.58, instruction count 194, allocated bytes for code 796 (MethodHash=c9589556) for method System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ParsePkcs12(System.ReadOnlySpan`1[ubyte]):this (Tier1)
+; Total bytes of code 796, prolog size 85, PerfScore 132.58, instruction count 195, allocated bytes for code 796 (MethodHash=c9589556) for method System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ParsePkcs12(System.ReadOnlySpan`1[ubyte]):this (Tier1)
; ============================================================
Unwind Info:
+1 (+0.11%) : 49003.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
@@ -8,11 +8,11 @@
; 0 inlinees with PGO data; 21 single block inlinees; 14 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T05] ( 10, 16 ) ref -> rbx this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.LocalBinderFactory>
+; V00 this [V00,T00] ( 11, 18 ) ref -> rbx this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.LocalBinderFactory>
; V01 arg1 [V01,T12] ( 11, 8 ) ref -> r15 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax>
; V02 loc0 [V02 ] ( 7, 26 ) struct (32) [rbp-0x48] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SeparatedSyntaxList`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax]>
; V03 loc1 [V03 ] ( 2, 2 ) struct (24) [rbp-0x60] do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax]>
-; V04 loc2 [V04,T00] ( 10, 20 ) ref -> r15 class-hnd exact <Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax>
+; V04 loc2 [V04,T01] ( 10, 20 ) ref -> r15 class-hnd exact <Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax>
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V06 tmp1 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclarationSyntax>
; V07 tmp2 [V07,T28] ( 5, 7 ) byref -> r14 single-def "Inlining Arg"
@@ -36,28 +36,28 @@
;* V25 tmp20 [V25 ] ( 0, 0 ) ref -> zero-ref
; V26 tmp21 [V26,T30] ( 3, 6 ) ref -> rsi
;* V27 tmp22 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax>
-; V28 tmp23 [V28,T01] ( 5, 20 ) byref -> r14 "Inlining Arg"
+; V28 tmp23 [V28,T02] ( 5, 20 ) byref -> r14 "Inlining Arg"
; V29 tmp24 [V29,T13] ( 4, 8 ) ref -> r13 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax>
; V30 tmp25 [V30,T14] ( 4, 8 ) ref -> r12 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
;* V31 tmp26 [V31 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax>
; V32 tmp27 [V32,T20] ( 2, 8 ) ref -> rsi class-hnd exact "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax>
;* V33 tmp28 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax>
;* V34 tmp29 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
-; V35 tmp30 [V35,T02] ( 5, 20 ) byref -> r14 "Inlining Arg"
-; V36 tmp31 [V36,T06] ( 8, 16 ) ref -> r13 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
+; V35 tmp30 [V35,T03] ( 5, 20 ) byref -> r14 "Inlining Arg"
+; V36 tmp31 [V36,T06] ( 9, 18 ) ref -> r13 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
; V37 tmp32 [V37,T15] ( 4, 8 ) ref -> r12 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
;* V38 tmp33 [V38 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
; V39 tmp34 [V39,T21] ( 2, 8 ) ref -> rsi class-hnd exact "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
;* V40 tmp35 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
;* V41 tmp36 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax>
-; V42 tmp37 [V42,T03] ( 5, 20 ) byref -> r15 "Inlining Arg"
+; V42 tmp37 [V42,T04] ( 5, 20 ) byref -> r15 "Inlining Arg"
; V43 tmp38 [V43,T16] ( 4, 8 ) ref -> r14 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax>
; V44 tmp39 [V44,T17] ( 4, 8 ) ref -> r12 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode>
;* V45 tmp40 [V45 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax>
; V46 tmp41 [V46,T22] ( 2, 8 ) ref -> rsi class-hnd "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax>
;* V47 tmp42 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax>
;* V48 tmp43 [V48,T24] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V49 tmp44 [V49,T04] ( 3, 20 ) int -> rdi "Inline stloc first use temp"
+; V49 tmp44 [V49,T05] ( 3, 20 ) int -> rdi "Inline stloc first use temp"
;* V50 tmp45 [V50 ] ( 0, 0 ) int -> zero-ref "V20.[000..004)"
; V51 tmp46 [V51,T40] ( 3, 3 ) ref -> rdi single-def "argument with side effect"
; V52 tmp47 [V52,T48] ( 2, 2 ) int -> rdx "argument with side effect"
@@ -436,8 +436,9 @@ G_M45453_IG22: ; bbWeight=2, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {},
mov rdi, r13
; gcrRegs +[rdi]
mov esi, 1
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r13]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x50]
call [rax]Microsoft.CodeAnalysis.SyntaxNode:GetChildPosition(int):int:this
; gcrRegs -[rdi r14]
mov edx, eax
@@ -467,7 +468,7 @@ G_M45453_IG22: ; bbWeight=2, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {},
; byrRegs -[rdi]
mov r14, gword ptr [r15]
; gcrRegs +[r14]
- ;; size=114 bbWeight=2 PerfScore 68.50
+ ;; size=115 bbWeight=2 PerfScore 72.50
G_M45453_IG23: ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
; byrRegs -[r15]
@@ -478,11 +479,12 @@ G_M45453_IG24: ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
; gcrRegs -[r14]
mov rdi, rbx
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x20]<unknown method>
; gcrRegs -[rsi rdi]
dec dword ptr [rbx+0x0C]
- ;; size=16 bbWeight=2 PerfScore 16.50
+ ;; size=16 bbWeight=2 PerfScore 20.50
G_M45453_IG25: ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov edi, dword ptr [rbp-0x48]
inc edi
@@ -540,7 +542,7 @@ G_M45453_IG32: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 925, prolog size 48, PerfScore 415.46, instruction count 256, allocated bytes for code 925 (MethodHash=66e04e72) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
+; Total bytes of code 926, prolog size 48, PerfScore 423.46, instruction count 258, allocated bytes for code 926 (MethodHash=66e04e72) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
; ============================================================
Unwind Info:
+1 (+0.25%) : 51659.dasm - Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable1[System.Type],System.Collections.Generic.IEnumerable
1[System.Type],Sigil.Impl.VerificationCallback):this (Tier1)
@@ -27,7 +27,7 @@
; V16 tmp12 [V16,T17] ( 4, 3.50) ref -> r14
; V17 tmp13 [V17,T04] ( 5, 5 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V18 tmp14 [V18,T05] ( 5, 5 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-; V19 tmp15 [V19,T00] ( 3, 6 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V19 tmp15 [V19,T00] ( 4, 8 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V20 tmp16 [V20,T19] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <<unknown class>>
;* V21 tmp17 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <Sigil.Impl.LinqRoot`1[System.__Canon]>
; V22 tmp18 [V22,T01] ( 3, 6 ) ref -> [rbp-0x30] class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
@@ -105,7 +105,8 @@ G_M19944_IG03: ; bbWeight=0.50, gcrefRegs=7008 {rbx r12 r13 r14}, byrefRe
G_M19944_IG04: ; bbWeight=1, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
mov rdi, r12
; gcrRegs +[rdi]
- mov r12, qword ptr [(reloc)]
+ mov rax, qword ptr [r12]
+ mov r12, qword ptr [rax+0x48]
; gcrRegs -[r12]
call [r12+0x20]<unknown method>
; gcrRegs -[rdi] +[rax]
@@ -141,7 +142,7 @@ G_M19944_IG04: ; bbWeight=1, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefR
; gcrRegs +[r14]
test r14, r14
jne SHORT G_M19944_IG06
- ;; size=102 bbWeight=1 PerfScore 24.00
+ ;; size=103 bbWeight=1 PerfScore 26.00
G_M19944_IG05: ; bbWeight=0.50, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref
; gcrRegs -[r14]
mov rdi, 0xD1FFAB1E ; <unknown class>
@@ -205,7 +206,7 @@ G_M19944_IG07: ; bbWeight=1, epilog, nogc, extend
tail.jmp [Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable`1[Sigil.Impl.TypeOnStack],System.Collections.Generic.IEnumerable`1[Sigil.Impl.TypeOnStack],Sigil.Impl.VerificationCallback):this]
;; size=20 bbWeight=1 PerfScore 5.25
-; Total bytes of code 399, prolog size 16, PerfScore 68.50, instruction count 90, allocated bytes for code 399 (MethodHash=50d1b217) for method Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable`1[System.Type],System.Collections.Generic.IEnumerable`1[System.Type],Sigil.Impl.VerificationCallback):this (Tier1)
+; Total bytes of code 400, prolog size 16, PerfScore 70.50, instruction count 91, allocated bytes for code 400 (MethodHash=50d1b217) for method Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable`1[System.Type],System.Collections.Generic.IEnumerable`1[System.Type],Sigil.Impl.VerificationCallback):this (Tier1)
; ============================================================
Unwind Info:
+13 (+1.04%) : 52308.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
@@ -161,7 +161,11 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs -[rax]
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xC0]
call [rax+0x30]<unknown method>
; gcrRegs -[rdi] +[rax]
; gcr arg pop 0
@@ -181,7 +185,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcr arg pop 0
test eax, eax
je SHORT G_M22068_IG12
- ;; size=59 bbWeight=1 PerfScore 13.75
+ ;; size=72 bbWeight=1 PerfScore 16.00
G_M22068_IG07: ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov rdi, rbx
; gcrRegs +[rdi]
@@ -748,7 +752,7 @@ G_M22068_IG44: ; bbWeight=0, gcVars=0000000000000001 {V91}, gcrefRegs=000
int3
;; size=42 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1252, prolog size 47, PerfScore 744.88, instruction count 326, allocated bytes for code 1252 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
+; Total bytes of code 1265, prolog size 47, PerfScore 747.12, instruction count 328, allocated bytes for code 1265 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
; ============================================================
Unwind Info:
coreclr_tests.run.linux.x64.checked.mch
-27 (-23.28%) : 246612.dasm - bug1:TestEntryPoint() (FullOpts)
@@ -9,7 +9,7 @@
;
;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V01 cse0 [V01,T01] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
-; V02 cse1 [V02,T00] ( 2, 2 ) long -> rax "CSE - aggressive"
+; V02 cse1 [V02,T00] ( 5, 5 ) long -> rax "CSE - aggressive"
;
; Lcl frame size = 8
@@ -23,17 +23,14 @@ G_M5006_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M5006_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
mov dword ptr [rax], 3
- mov rax, 0xD1FFAB1E ; global ptr
- mov dword ptr [rax], 2
- mov rax, 0xD1FFAB1E
- mov rcx, 0xD1FFAB1E ; global ptr
- mov qword ptr [rcx], rax
- mov rax, 0xD1FFAB1E ; global ptr
- mov qword ptr [rax], 1
+ mov dword ptr [rax+0x04], 2
+ mov rcx, 0xD1FFAB1E
+ mov qword ptr [rax+0x08], rcx
+ mov qword ptr [rax+0x10], 1
call [bug1:f():int]
; gcr arg pop 0
nop
- ;; size=79 bbWeight=1 PerfScore 8.50
+ ;; size=52 bbWeight=1 PerfScore 7.75
G_M5006_IG04: ; bbWeight=1, epilog, nogc, extend
add rsp, 8
ret
@@ -46,7 +43,7 @@ G_M5006_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
jmp SHORT G_M5006_IG03
;; size=22 bbWeight=0 PerfScore 0.00
-; Total bytes of code 116, prolog size 1, PerfScore 14.75, instruction count 20, allocated bytes for code 116 (MethodHash=c14fec71) for method bug1:TestEntryPoint() (FullOpts)
+; Total bytes of code 89, prolog size 1, PerfScore 14.00, instruction count 17, allocated bytes for code 89 (MethodHash=c14fec71) for method bug1:TestEntryPoint() (FullOpts)
; ============================================================
Unwind Info:
-9 (-20.45%) : 193518.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
@@ -12,8 +12,8 @@
;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
;* V02 tmp2 [V02,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP
;* V03 tmp3 [V03,T03] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> rax "CSE - aggressive"
-; V05 cse1 [V05,T01] ( 2, 1 ) long -> rax "CSE - moderate"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> rax "CSE - aggressive"
+; V05 cse1 [V05,T01] ( 2, 1 ) long -> rcx "CSE - moderate"
;
; Lcl frame size = 0
@@ -25,20 +25,19 @@ G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
cmp byte ptr [rax], 0
jne SHORT G_M5950_IG04
;; size=15 bbWeight=1 PerfScore 4.25
-G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[rax]
- mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- mov word ptr [rax], 257
+G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
+ mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
+ mov word ptr [rcx], 257
;; size=15 bbWeight=0.50 PerfScore 0.62
-G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rax, 0xD1FFAB1E ; global ptr
- movzx rax, byte ptr [rax]
- ;; size=13 bbWeight=1 PerfScore 2.25
+G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
+ movzx rax, byte ptr [rax+0x01]
+ ; byrRegs -[rax]
+ ;; size=4 bbWeight=1 PerfScore 2.00
G_M5950_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=1 bbWeight=1 PerfScore 1.00
-; Total bytes of code 44, prolog size 0, PerfScore 8.12, instruction count 8, allocated bytes for code 44 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
+; Total bytes of code 35, prolog size 0, PerfScore 7.88, instruction count 7, allocated bytes for code 35 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
; ============================================================
Unwind Info:
-18 (-16.98%) : 174995.dasm - StaticValueField:TestEntryPoint():int (FullOpts)
@@ -9,7 +9,7 @@
;
;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V01 cse0 [V01,T01] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
-; V02 cse1 [V02,T00] ( 2, 2 ) long -> rax "CSE - aggressive"
+; V02 cse1 [V02,T00] ( 4, 3 ) long -> rax "CSE - aggressive"
;
; Lcl frame size = 0
@@ -28,14 +28,12 @@ G_M39159_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
jne SHORT G_M39159_IG06
;; size=15 bbWeight=1 PerfScore 4.25
G_M39159_IG04: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rax, 0xD1FFAB1E ; global ptr
- cmp word ptr [rax], 200
+ cmp word ptr [rax+0x04], 200
jne SHORT G_M39159_IG06
- mov rax, 0xD1FFAB1E ; global ptr
- cmp qword ptr [rax], 300
+ cmp qword ptr [rax+0x08], 300
jne SHORT G_M39159_IG06
mov eax, 100
- ;; size=41 bbWeight=0.50 PerfScore 4.38
+ ;; size=23 bbWeight=0.50 PerfScore 4.12
G_M39159_IG05: ; bbWeight=0.50, epilog, nogc, extend
pop rbp
ret
@@ -54,7 +52,7 @@ G_M39159_IG08: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
jmp SHORT G_M39159_IG03
;; size=22 bbWeight=0 PerfScore 0.00
-; Total bytes of code 106, prolog size 4, PerfScore 18.50, instruction count 24, allocated bytes for code 106 (MethodHash=a53a6708) for method StaticValueField:TestEntryPoint():int (FullOpts)
+; Total bytes of code 88, prolog size 4, PerfScore 18.25, instruction count 22, allocated bytes for code 88 (MethodHash=a53a6708) for method StaticValueField:TestEntryPoint():int (FullOpts)
; ============================================================
Unwind Info:
+10 (+12.99%) : 175681.dasm - Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
@@ -37,7 +37,11 @@ G_M39253_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
xor ebx, ebx
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x08]<unknown method>
; gcrRegs -[rdi] +[rax]
mov rsi, rax
@@ -50,7 +54,7 @@ G_M39253_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
; gcrRegs +[rdi]
call [<unknown method>]
; gcrRegs -[rax rdi]
- ;; size=50 bbWeight=0.50 PerfScore 6.12
+ ;; size=60 bbWeight=0.50 PerfScore 7.25
G_M39253_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov eax, ebx
;; size=2 bbWeight=1 PerfScore 0.25
@@ -61,7 +65,7 @@ G_M39253_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=7 bbWeight=1 PerfScore 2.25
-; Total bytes of code 77, prolog size 8, PerfScore 13.62, instruction count 21, allocated bytes for code 77 (MethodHash=124366aa) for method Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
+; Total bytes of code 87, prolog size 8, PerfScore 14.75, instruction count 23, allocated bytes for code 87 (MethodHash=124366aa) for method Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
; ============================================================
Unwind Info:
+10 (+15.38%) : 242281.dasm - Runtime_95347:Test():int (FullOpts)
@@ -25,12 +25,16 @@ G_M13057_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
G_M13057_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x08]<unknown method>
; gcrRegs -[rdi] +[rax]
test rax, rax
je SHORT G_M13057_IG07
- ;; size=25 bbWeight=1 PerfScore 6.50
+ ;; size=35 bbWeight=1 PerfScore 8.75
G_M13057_IG03: ; bbWeight=0.25, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
cmp dword ptr [rax+0x08], 4
jne SHORT G_M13057_IG07
@@ -56,7 +60,7 @@ G_M13057_IG08: ; bbWeight=0.50, epilog, nogc, extend
ret
;; size=2 bbWeight=0.50 PerfScore 0.75
-; Total bytes of code 65, prolog size 4, PerfScore 11.03, instruction count 18, allocated bytes for code 65 (MethodHash=260fccfe) for method Runtime_95347:Test():int (FullOpts)
+; Total bytes of code 75, prolog size 4, PerfScore 13.28, instruction count 20, allocated bytes for code 75 (MethodHash=260fccfe) for method Runtime_95347:Test():int (FullOpts)
; ============================================================
Unwind Info:
+10 (+23.26%) : 304873.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
@@ -22,7 +22,11 @@ G_M26176_IG01: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
G_M26176_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x58]
call [rax+0x28]<unknown method>
; gcrRegs -[rdi] +[rax]
mov rdi, rax
@@ -31,13 +35,13 @@ G_M26176_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
; gcrRegs -[rdi]
mov rdi, rax
; gcrRegs +[rdi]
- ;; size=32 bbWeight=1.00 PerfScore 8.75
+ ;; size=42 bbWeight=1.00 PerfScore 11.00
G_M26176_IG03: ; bbWeight=1.00, epilog, nogc, extend
pop rbp
tail.jmp [System.IO.Path:GetFullPath(System.String):System.String]
;; size=7 bbWeight=1.00 PerfScore 2.50
-; Total bytes of code 43, prolog size 4, PerfScore 12.50, instruction count 10, allocated bytes for code 43 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
+; Total bytes of code 53, prolog size 4, PerfScore 14.75, instruction count 12, allocated bytes for code 53 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
; ============================================================
Unwind Info:
libraries.pmi.linux.x64.checked.mch
-2 (-3.70%) : 275502.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
@@ -45,16 +45,16 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0280 {rdi r9}, byrefRegs=0000 {},
mov rsi, gword ptr [rbp-0x10]
; gcrRegs +[rsi]
mov rdx, qword ptr [rbp-0x08]
- cmp dword ptr [rdi], edi
- mov rax, qword ptr [(reloc)]
- ;; size=28 bbWeight=1 PerfScore 8.50
+ mov rax, qword ptr [rdi]
+ mov rax, qword ptr [rax+0x58]
+ ;; size=26 bbWeight=1 PerfScore 7.50
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 16
pop rbp
tail.jmp [rax]<unknown method>
;; size=8 bbWeight=1 PerfScore 2.75
-; Total bytes of code 54, prolog size 18, PerfScore 15.00, instruction count 15, allocated bytes for code 54 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
+; Total bytes of code 52, prolog size 18, PerfScore 14.00, instruction count 15, allocated bytes for code 52 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
; ============================================================
Unwind Info:
-33 (-3.31%) : 97913.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlnsAttribute(Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute:this (FullOpts)
@@ -12,23 +12,23 @@
; V01 arg1 [V01,T01] ( 11, 7 ) ref -> rbx class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax>
; V02 arg2 [V02,T02] ( 7, 5 ) ref -> r15 class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.BoundExpression>
; V03 arg3 [V03,T03] ( 7, 5 ) ref -> r14 class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.BoundExpression>
-; V04 arg4 [V04,T07] ( 3, 3 ) ubyte -> r8 single-def
-; V05 arg5 [V05,T08] ( 3, 3 ) ubyte -> r12 single-def
+; V04 arg4 [V04,T08] ( 3, 3 ) ubyte -> r8 single-def
+; V05 arg5 [V05,T09] ( 3, 3 ) ubyte -> [rbp-0x2C] single-def
; V06 arg6 [V06,T47] ( 1, 1 ) ubyte -> [rbp+0x10] single-def
; V07 arg7 [V07,T48] ( 1, 1 ) ubyte -> [rbp+0x18] single-def
-; V08 arg8 [V08,T09] ( 9, 4.50) ref -> [rbp+0x20] class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag>
-; V09 loc0 [V09,T13] ( 5, 3.50) ref -> r13 class-hnd <Microsoft.CodeAnalysis.VisualBasic.BoundExpression>
+; V08 arg8 [V08,T05] ( 10, 5 ) ref -> r12 class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag>
+; V09 loc0 [V09,T13] ( 5, 3.50) ref -> r12 class-hnd <Microsoft.CodeAnalysis.VisualBasic.BoundExpression>
;* V10 loc1 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute>
;* V11 loc2 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd <Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol>
-; V12 loc3 [V12,T34] ( 2, 1 ) ref -> [rbp-0x48] class-hnd spill-single-def <Microsoft.CodeAnalysis.VisualBasic.BoundMethodOrPropertyGroup>
+; V12 loc3 [V12,T34] ( 2, 1 ) ref -> [rbp-0x50] class-hnd spill-single-def <Microsoft.CodeAnalysis.VisualBasic.BoundMethodOrPropertyGroup>
; V13 OutArgs [V13 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V14 tmp1 [V14 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Collections.Immutable.ImmutableArray`1[System.__Canon]>
-; V15 tmp2 [V15,T00] ( 12, 21 ) ref -> [rbp-0x50] class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute>
+; V15 tmp2 [V15,T00] ( 12, 21 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute>
;* V16 tmp3 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol>
;* V17 tmp4 [V17 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Collections.Immutable.ImmutableArray`1[System.__Canon]>
;* V18 tmp5 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation>
; V19 tmp6 [V19,T10] ( 4, 4 ) ref -> [rbp-0x58] class-hnd spill-single-def "dup spill" <Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol>
-; V20 tmp7 [V20 ] ( 4, 2 ) struct (24) [rbp-0x40] do-not-enreg[XS] must-init addr-exposed "Inline stloc first use temp" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol]>
+; V20 tmp7 [V20 ] ( 4, 2 ) struct (24) [rbp-0x48] do-not-enreg[XS] must-init addr-exposed "Inline stloc first use temp" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol]>
;* V21 tmp8 [V21 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "spilled call-like call argument" <Microsoft.CodeAnalysis.SyntaxNodeOrToken>
;* V22 tmp9 [V22 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxNodeOrToken>
;* V23 tmp10 [V23 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.SyntaxNodeOrToken>
@@ -61,7 +61,7 @@
;* V50 tmp37 [V50 ] ( 0, 0 ) ref -> zero-ref single-def
;* V51 tmp38 [V51 ] ( 0, 0 ) struct (24) zero-ref <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol]>
; V52 tmp39 [V52,T15] ( 5, 2.50) ref -> rax
-; V53 tmp40 [V53,T05] ( 5, 5 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
+; V53 tmp40 [V53,T06] ( 5, 5 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
; V54 tmp41 [V54,T14] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <<unknown class>>
;* V55 tmp42 [V55 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V56 tmp43 [V56,T30] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
@@ -77,11 +77,11 @@
; V66 tmp53 [V66,T12] ( 4, 4 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "dup spill" <<unknown class>>
;* V67 tmp54 [V67 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <<unknown class>>
;* V68 tmp55 [V68 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]>
-; V69 tmp56 [V69,T06] ( 3, 5 ) ref -> rcx class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
+; V69 tmp56 [V69,T07] ( 3, 5 ) ref -> rax class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
;* V70 tmp57 [V70,T46] ( 0, 0 ) ref -> zero-ref single-def
;* V71 tmp58 [V71,T49] ( 0, 0 ) int -> zero-ref single-def
; V72 tmp59 [V72,T32] ( 2, 1.50) ref -> rsi single-def
-; V73 tmp60 [V73,T33] ( 2, 1.50) ref -> rdx single-def
+; V73 tmp60 [V73,T33] ( 2, 1.50) ref -> rcx single-def
;* V74 tmp61 [V74,T36] ( 0, 0 ) ref -> zero-ref
;* V75 tmp62 [V75,T43] ( 0, 0 ) int -> zero-ref
; V76 tmp63 [V76,T18] ( 3, 2 ) ref -> rsi
@@ -97,9 +97,9 @@
;* V86 tmp73 [V86 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V87 tmp74 [V87 ] ( 0, 0 ) ref -> zero-ref "field V14.array (fldOffset=0x0)" P-INDEP
;* V88 tmp75 [V88 ] ( 0, 0 ) ref -> zero-ref single-def "field V17.array (fldOffset=0x0)" P-INDEP
-; V89 tmp76 [V89 ] ( 2, 1 ) ref -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V20.DiagnosticInfo (fldOffset=0x0)" P-DEP
-; V90 tmp77 [V90 ] ( 2, 1 ) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V20.PrimaryDependency (fldOffset=0x8)" P-DEP
-; V91 tmp78 [V91 ] ( 2, 1 ) ref -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V20.SecondaryDependencies (fldOffset=0x10)" P-DEP
+; V89 tmp76 [V89 ] ( 2, 1 ) ref -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V20.DiagnosticInfo (fldOffset=0x0)" P-DEP
+; V90 tmp77 [V90 ] ( 2, 1 ) ref -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V20.PrimaryDependency (fldOffset=0x8)" P-DEP
+; V91 tmp78 [V91 ] ( 2, 1 ) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V20.SecondaryDependencies (fldOffset=0x10)" P-DEP
;* V92 tmp79 [V92 ] ( 0, 0 ) ref -> zero-ref single-def "field V23._nodeOrParent (fldOffset=0x0)" P-INDEP
;* V93 tmp80 [V93 ] ( 0, 0 ) ref -> zero-ref single-def "field V23._token (fldOffset=0x8)" P-INDEP
;* V94 tmp81 [V94 ] ( 0, 0 ) int -> zero-ref single-def "field V23._position (fldOffset=0x10)" P-INDEP
@@ -154,7 +154,7 @@
; V143 tmp130 [V143,T23] ( 2, 2 ) ref -> rcx single-def "argument with side effect"
; V144 tmp131 [V144,T24] ( 2, 2 ) ref -> [rbp-0xA0] spill-single-def "argument with side effect"
;* V145 cse0 [V145,T57] ( 0, 0 ) long -> zero-ref "CSE - conservative"
-; V146 cse1 [V146,T28] ( 3, 1.50) ref -> r9 "CSE - conservative"
+; V146 cse1 [V146,T28] ( 3, 1.50) ref -> r8 "CSE - conservative"
; V147 cse2 [V147,T29] ( 3, 1.50) ref -> rdi "CSE - conservative"
;
; Lcl frame size = 152
@@ -169,9 +169,10 @@ G_M32486_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
sub rsp, 152
lea rbp, [rsp+0xC0]
vxorps xmm8, xmm8, xmm8
- vmovdqa xmmword ptr [rbp-0x40], xmm8
+ vmovdqu xmmword ptr [rbp-0x48], xmm8
xor eax, eax
- mov qword ptr [rbp-0x30], rax
+ mov qword ptr [rbp-0x38], rax
+ mov dword ptr [rbp-0x2C], r9d
mov r13, rdi
; gcrRegs +[r13]
mov rbx, rsi
@@ -180,13 +181,14 @@ G_M32486_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs +[r15]
mov r14, rcx
; gcrRegs +[r14]
- mov r12d, r9d
- ;; size=56 bbWeight=1 PerfScore 11.58
-G_M32486_IG02: ; bbWeight=1, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+ mov r12, gword ptr [rbp+0x20]
+ ; gcrRegs +[r12]
+ ;; size=61 bbWeight=1 PerfScore 13.33
+G_M32486_IG02: ; bbWeight=1, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref
test r8b, r8b
je G_M32486_IG18
;; size=9 bbWeight=1 PerfScore 1.25
-G_M32486_IG03: ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M32486_IG03: ; bbWeight=0.50, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
mov rdi, gword ptr [r13+0x18]
; gcrRegs +[rdi]
mov esi, 225
@@ -195,7 +197,7 @@ G_M32486_IG03: ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRe
; gcrRegs -[rdi] +[rax]
mov gword ptr [rbp-0x58], rax
; GC ptr vars +{V19}
- lea rsi, [rbp-0x40]
+ lea rsi, [rbp-0x48]
mov rdi, rax
; gcrRegs +[rdi]
mov rcx, qword ptr [rax]
@@ -209,19 +211,19 @@ G_M32486_IG03: ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRe
xor eax, eax
jmp SHORT G_M32486_IG05
;; size=48 bbWeight=0.50 PerfScore 10.38
-G_M32486_IG04: ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+G_M32486_IG04: ; bbWeight=0.50, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi]
mov rdi, rbx
; gcrRegs +[rdi]
mov eax, -1
;; size=8 bbWeight=0.50 PerfScore 0.25
-G_M32486_IG05: ; bbWeight=0.50, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M32486_IG05: ; bbWeight=0.50, gcrefRegs=F088 {rbx rdi r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
test eax, eax
jl SHORT G_M32486_IG07
test byte ptr [(reloc)], 1 ; global ptr
je G_M32486_IG30
;; size=17 bbWeight=0.50 PerfScore 2.62
-G_M32486_IG06: ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M32486_IG06: ; bbWeight=0.50, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
mov rax, gword ptr [rdi]
@@ -230,7 +232,7 @@ G_M32486_IG06: ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRe
; GC ptr vars +{V26}
jmp SHORT G_M32486_IG09
;; size=19 bbWeight=0.50 PerfScore 2.62
-G_M32486_IG07: ; bbWeight=0.50, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M32486_IG07: ; bbWeight=0.50, gcrefRegs=F088 {rbx rdi r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rax] +[rdi]
; GC ptr vars -{V26}
test rdi, rdi
@@ -241,7 +243,7 @@ G_M32486_IG07: ; bbWeight=0.50, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byr
; GC ptr vars +{V26}
jmp SHORT G_M32486_IG09
;; size=13 bbWeight=0.50 PerfScore 2.25
-G_M32486_IG08: ; bbWeight=0.50, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byrefRegs=0000 {}, byref
+G_M32486_IG08: ; bbWeight=0.50, gcrefRegs=F088 {rbx rdi r12 r13 r14 r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
; GC ptr vars -{V26}
call [Microsoft.CodeAnalysis.SyntaxNode:GetLocation():Microsoft.CodeAnalysis.Location:this]
@@ -249,27 +251,24 @@ G_M32486_IG08: ; bbWeight=0.50, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byr
mov gword ptr [rbp-0x60], rax
; GC ptr vars +{V26}
;; size=10 bbWeight=0.50 PerfScore 2.00
-G_M32486_IG09: ; bbWeight=0.50, gcVars=0000000000010400 {V19 V26}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M32486_IG09: ; bbWeight=0.50, gcVars=0000000000010400 {V19 V26}, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[rax]
- mov rcx, gword ptr [rbp+0x20]
- ; gcrRegs +[rcx]
- cmp byte ptr [rcx], cl
+ cmp byte ptr [r12], r12b
mov rdi, 0xD1FFAB1E
mov esi, 24
call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
- ; gcrRegs -[rcx]
mov rdi, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
mov rax, gword ptr [rdi]
; gcrRegs +[rax]
- mov rcx, gword ptr [rbp-0x40]
+ mov rcx, gword ptr [rbp-0x48]
; gcrRegs +[rcx]
mov gword ptr [rbp-0x88], rcx
; GC ptr vars +{V116}
- mov rdx, gword ptr [rbp-0x38]
+ mov rdx, gword ptr [rbp-0x40]
; gcrRegs +[rdx]
mov gword ptr [rbp-0x90], rdx
; GC ptr vars +{V117}
- mov rsi, gword ptr [rbp-0x30]
+ mov rsi, gword ptr [rbp-0x38]
; gcrRegs +[rsi]
mov gword ptr [rbp-0x98], rsi
; GC ptr vars +{V118}
@@ -301,18 +300,16 @@ G_M32486_IG09: ; bbWeight=0.50, gcVars=0000000000010400 {V19 V26}, gcrefR
; gcrRegs -[rax rsi]
mov rax, gword ptr [rbp-0x68]
; gcrRegs +[rax]
- ;; size=167 bbWeight=0.50 PerfScore 13.50
-G_M32486_IG10: ; bbWeight=0.50, gcVars=0000008004030400 {V19 V26 V116 V117 V118}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+ ;; size=165 bbWeight=0.50 PerfScore 13.00
+G_M32486_IG10: ; bbWeight=0.50, gcVars=0000008004030400 {V19 V26 V116 V117 V118}, gcrefRegs=F009 {rax rbx r12 r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V53}
cmp gword ptr [rbp-0x88], 0
je SHORT G_M32486_IG13
- mov r8, gword ptr [rbp+0x20]
+ mov r8, gword ptr [r12+0x08]
; gcrRegs +[r8]
- mov r9, gword ptr [r8+0x08]
- ; gcrRegs +[r9]
- test r9, r9
+ test r8, r8
je SHORT G_M32486_IG11
- mov gword ptr [rbp-0xA0], r9
+ mov gword ptr [rbp-0xA0], r8
; GC ptr vars +{V144}
mov rsi, gword ptr [rbp-0x60]
; gcrRegs +[rsi]
@@ -320,23 +317,24 @@ G_M32486_IG10: ; bbWeight=0.50, gcVars=0000008004030400 {V19 V26 V116 V11
; gcrRegs +[rdi]
; GC ptr vars -{V26}
call [rax+0x18]<unknown method>
- ; gcrRegs -[rsi rdi r8-r9]
+ ; gcrRegs -[rsi rdi r8]
mov rcx, rax
; gcrRegs +[rcx]
mov rdx, gword ptr [rbp-0xA0]
; gcrRegs +[rdx]
mov rsi, gword ptr [rbp-0x88]
; gcrRegs +[rsi]
- mov rdi, gword ptr [rbp+0x20]
+ mov rdi, r12
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r12]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x48]
; GC ptr vars -{V116 V144}
call [rax+0x28]<unknown method>
; gcrRegs -[rcx rdx rsi rdi]
jmp SHORT G_M32486_IG12
- ;; size=74 bbWeight=0.50 PerfScore 12.25
-G_M32486_IG11: ; bbWeight=0.50, gcVars=0000008004020400 {V19 V116 V117 V118}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+ ;; size=71 bbWeight=0.50 PerfScore 12.38
+G_M32486_IG11: ; bbWeight=0.50, gcVars=0000008004020400 {V19 V116 V117 V118}, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars +{V116}
mov rcx, gword ptr [rbp-0x88]
; gcrRegs +[rcx]
@@ -344,45 +342,38 @@ G_M32486_IG11: ; bbWeight=0.50, gcVars=0000008004020400 {V19 V116 V117 V1
jne SHORT G_M32486_IG13
jmp SHORT G_M32486_IG15
;; size=15 bbWeight=0.50 PerfScore 3.50
-G_M32486_IG12: ; bbWeight=0.50, gcVars=0000008004000400 {V19 V117 V118}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
...
-2 (-2.74%) : 166813.dasm - System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
@@ -52,8 +52,8 @@ G_M37260_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
mov rdi, rcx
; gcrRegs +[rdi]
; byrRegs -[rdi]
- cmp dword ptr [rcx], ecx
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rcx]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x08]<unknown method>
; gcrRegs -[rcx rdi] +[rax]
; gcr arg pop 0
@@ -63,7 +63,7 @@ G_M37260_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
; gcrRegs +[rdi]
mov rsi, 0xD1FFAB1E
; gcrRegs +[rsi]
- ;; size=34 bbWeight=0.50 PerfScore 5.50
+ ;; size=32 bbWeight=0.50 PerfScore 5.00
G_M37260_IG06: ; bbWeight=0.50, epilog, nogc, extend
add rsp, 8
pop rbx
@@ -72,7 +72,7 @@ G_M37260_IG06: ; bbWeight=0.50, epilog, nogc, extend
; gcr arg pop 0
;; size=12 bbWeight=0.50 PerfScore 1.62
-; Total bytes of code 73, prolog size 8, PerfScore 16.00, instruction count 24, allocated bytes for code 73 (MethodHash=da936e73) for method System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
+; Total bytes of code 71, prolog size 8, PerfScore 15.50, instruction count 24, allocated bytes for code 71 (MethodHash=da936e73) for method System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
; ============================================================
Unwind Info:
+13 (+23.64%) : 257767.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
@@ -24,7 +24,11 @@ G_M7230_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
; gcrRegs +[rdi]
mov rsi, 0xD1FFAB1E
; gcrRegs +[rsi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xC0]
call [rax+0x10]<unknown method>
; gcrRegs -[rsi rdi] +[rax]
mov rdi, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
@@ -33,13 +37,13 @@ G_M7230_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
nop
- ;; size=49 bbWeight=1.00 PerfScore 7.25
+ ;; size=62 bbWeight=1.00 PerfScore 9.50
G_M7230_IG03: ; bbWeight=1.00, epilog, nogc, extend
pop rbp
ret
;; size=2 bbWeight=1.00 PerfScore 1.50
-; Total bytes of code 55, prolog size 4, PerfScore 10.00, instruction count 12, allocated bytes for code 55 (MethodHash=7446e3c1) for method System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 68, prolog size 4, PerfScore 12.25, instruction count 14, allocated bytes for code 68 (MethodHash=7446e3c1) for method System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================
Unwind Info:
+13 (+23.64%) : 257775.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
@@ -24,7 +24,11 @@ G_M51153_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
; gcrRegs +[rdi]
mov rsi, 0xD1FFAB1E
; gcrRegs +[rsi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xC0]
call [rax+0x10]<unknown method>
; gcrRegs -[rsi rdi] +[rax]
mov rdi, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
@@ -33,13 +37,13 @@ G_M51153_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
nop
- ;; size=49 bbWeight=1.00 PerfScore 7.25
+ ;; size=62 bbWeight=1.00 PerfScore 9.50
G_M51153_IG03: ; bbWeight=1.00, epilog, nogc, extend
pop rbp
ret
;; size=2 bbWeight=1.00 PerfScore 1.50
-; Total bytes of code 55, prolog size 4, PerfScore 10.00, instruction count 12, allocated bytes for code 55 (MethodHash=fed8382e) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 68, prolog size 4, PerfScore 12.25, instruction count 14, allocated bytes for code 68 (MethodHash=fed8382e) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================
Unwind Info:
+13 (+23.64%) : 257779.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
@@ -24,7 +24,11 @@ G_M2750_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
; gcrRegs +[rdi]
mov rsi, 0xD1FFAB1E
; gcrRegs +[rsi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xC0]
call [rax+0x10]<unknown method>
; gcrRegs -[rsi rdi] +[rax]
mov rdi, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
@@ -33,13 +37,13 @@ G_M2750_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
nop
- ;; size=49 bbWeight=1.00 PerfScore 7.25
+ ;; size=62 bbWeight=1.00 PerfScore 9.50
G_M2750_IG03: ; bbWeight=1.00, epilog, nogc, extend
pop rbp
ret
;; size=2 bbWeight=1.00 PerfScore 1.50
-; Total bytes of code 55, prolog size 4, PerfScore 10.00, instruction count 12, allocated bytes for code 55 (MethodHash=43b3f541) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 68, prolog size 4, PerfScore 12.25, instruction count 14, allocated bytes for code 68 (MethodHash=43b3f541) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================
Unwind Info:
libraries_tests.run.linux.x64.Release.mch
-9 (-15.79%) : 656845.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
@@ -13,27 +13,25 @@
;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
;* V02 tmp2 [V02,T01] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP
;* V03 tmp3 [V03,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> rax "CSE - aggressive"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> rcx "CSE - aggressive"
;
; Lcl frame size = 0
G_M5950_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
;; size=0 bbWeight=1 PerfScore 0.00
G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rax, 0xD1FFAB1E ; static handle
- ; byrRegs +[rax]
- cmp byte ptr [rax], 0
+ mov rcx, 0xD1FFAB1E ; static handle
+ ; byrRegs +[rcx]
+ cmp byte ptr [rcx], 0
je SHORT G_M5950_IG05
;; size=15 bbWeight=1 PerfScore 4.25
-G_M5950_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[rax]
- mov rax, 0xD1FFAB1E ; global ptr
- movzx rax, byte ptr [rax]
- ;; size=13 bbWeight=1 PerfScore 2.25
+G_M5950_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref
+ movzx rax, byte ptr [rcx+0x01]
+ ;; size=4 bbWeight=1 PerfScore 2.00
G_M5950_IG04: ; bbWeight=1, epilog, nogc, extend
ret
;; size=1 bbWeight=1 PerfScore 1.00
-G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, gcvars, byref, isz
mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
mov byte ptr [rax], 1
mov rax, 0xD1FFAB1E
@@ -41,7 +39,7 @@ G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
jmp SHORT G_M5950_IG03
;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 57, prolog size 0, PerfScore 7.50, instruction count 11, allocated bytes for code 57 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
+; Total bytes of code 48, prolog size 0, PerfScore 7.25, instruction count 10, allocated bytes for code 48 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
; ============================================================
Unwind Info:
-17 (-9.83%) : 48006.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
@@ -18,7 +18,7 @@
;* V06 tmp5 [V06 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V07 tmp6 [V07,T04] ( 0, 0 ) ubyte -> zero-ref single-def "field V04.hasValue (fldOffset=0x0)" P-INDEP
; V08 tmp7 [V08,T03] ( 2, 0 ) ubyte -> rax single-def "field V04.value (fldOffset=0x1)" P-INDEP
-; V09 cse0 [V09,T00] ( 4, 3 ) byref -> rbx "CSE - aggressive"
+; V09 cse0 [V09,T00] ( 5, 4 ) byref -> rbx "CSE - aggressive"
;
; Lcl frame size = 0
@@ -34,13 +34,11 @@ G_M26216_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
cmp byte ptr [rbx], 0
je SHORT G_M26216_IG05
cmp byte ptr [rbx], 0
- je G_M26216_IG08
- ;; size=24 bbWeight=1 PerfScore 8.25
-G_M26216_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[rbx]
- mov rax, 0xD1FFAB1E ; global ptr
- movzx rax, byte ptr [rax]
- ;; size=13 bbWeight=1 PerfScore 2.25
+ je SHORT G_M26216_IG08
+ ;; size=20 bbWeight=1 PerfScore 8.25
+G_M26216_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
+ movzx rax, byte ptr [rbx+0x01]
+ ;; size=4 bbWeight=1 PerfScore 2.00
G_M26216_IG04: ; bbWeight=1, epilog, nogc, extend
pop rbx
pop r15
@@ -48,7 +46,6 @@ G_M26216_IG04: ; bbWeight=1, epilog, nogc, extend
ret
;; size=5 bbWeight=1 PerfScore 2.50
G_M26216_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref, isz
- ; byrRegs +[rbx]
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
call [System.Environment:GetEnvironmentVariable(System.String):System.String]
@@ -76,22 +73,22 @@ G_M26216_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
G_M26216_IG06: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
mov eax, 1
;; size=5 bbWeight=0 PerfScore 0.00
-G_M26216_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
+G_M26216_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
movzx rax, al
mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
mov byte ptr [rcx], 1
mov rcx, 0xD1FFAB1E
mov byte ptr [rcx], al
cmp byte ptr [rbx], 0
- jne G_M26216_IG03
- ;; size=37 bbWeight=0 PerfScore 0.00
+ jne SHORT G_M26216_IG03
+ ;; size=33 bbWeight=0 PerfScore 0.00
G_M26216_IG08: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; byrRegs -[rbx]
call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_NoValue()]
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 173, prolog size 9, PerfScore 16.50, instruction count 39, allocated bytes for code 173 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
+; Total bytes of code 156, prolog size 9, PerfScore 16.25, instruction count 38, allocated bytes for code 156 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
; ============================================================
Unwind Info:
-17 (-9.83%) : 92892.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
@@ -18,7 +18,7 @@
;* V06 tmp5 [V06 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V07 tmp6 [V07,T04] ( 0, 0 ) ubyte -> zero-ref single-def "field V04.hasValue (fldOffset=0x0)" P-INDEP
; V08 tmp7 [V08,T03] ( 2, 0 ) ubyte -> rax single-def "field V04.value (fldOffset=0x1)" P-INDEP
-; V09 cse0 [V09,T00] ( 4, 3 ) byref -> rbx "CSE - aggressive"
+; V09 cse0 [V09,T00] ( 5, 4 ) byref -> rbx "CSE - aggressive"
;
; Lcl frame size = 0
@@ -34,13 +34,11 @@ G_M26216_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
cmp byte ptr [rbx], 0
je SHORT G_M26216_IG05
cmp byte ptr [rbx], 0
- je G_M26216_IG08
- ;; size=24 bbWeight=1 PerfScore 8.25
-G_M26216_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[rbx]
- mov rax, 0xD1FFAB1E ; global ptr
- movzx rax, byte ptr [rax]
- ;; size=13 bbWeight=1 PerfScore 2.25
+ je SHORT G_M26216_IG08
+ ;; size=20 bbWeight=1 PerfScore 8.25
+G_M26216_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
+ movzx rax, byte ptr [rbx+0x01]
+ ;; size=4 bbWeight=1 PerfScore 2.00
G_M26216_IG04: ; bbWeight=1, epilog, nogc, extend
pop rbx
pop r15
@@ -48,7 +46,6 @@ G_M26216_IG04: ; bbWeight=1, epilog, nogc, extend
ret
;; size=5 bbWeight=1 PerfScore 2.50
G_M26216_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref, isz
- ; byrRegs +[rbx]
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
call [System.Environment:GetEnvironmentVariable(System.String):System.String]
@@ -76,22 +73,22 @@ G_M26216_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
G_M26216_IG06: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
mov eax, 1
;; size=5 bbWeight=0 PerfScore 0.00
-G_M26216_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
+G_M26216_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
movzx rax, al
mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
mov byte ptr [rcx], 1
mov rcx, 0xD1FFAB1E
mov byte ptr [rcx], al
cmp byte ptr [rbx], 0
- jne G_M26216_IG03
- ;; size=37 bbWeight=0 PerfScore 0.00
+ jne SHORT G_M26216_IG03
+ ;; size=33 bbWeight=0 PerfScore 0.00
G_M26216_IG08: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; byrRegs -[rbx]
call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_NoValue()]
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 173, prolog size 9, PerfScore 16.50, instruction count 39, allocated bytes for code 173 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
+; Total bytes of code 156, prolog size 9, PerfScore 16.25, instruction count 38, allocated bytes for code 156 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
; ============================================================
Unwind Info:
+13 (+7.88%) : 70468.dasm - System.GC:AllocateUninitializedArrayubyte:ubyte
@@ -64,12 +64,16 @@ G_M39911_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs -[rdi]
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xA0]
call [rax+0x08]<unknown method>
; gcrRegs -[rdi] +[rax]
test rax, rax
je SHORT G_M39911_IG10
- ;; size=65 bbWeight=1 PerfScore 9.25
+ ;; size=78 bbWeight=1 PerfScore 11.50
G_M39911_IG07: ; bbWeight=0.46, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
mov rdi, qword ptr [rax+0x18]
;; size=4 bbWeight=0.46 PerfScore 0.92
@@ -95,7 +99,7 @@ G_M39911_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=000
jmp SHORT G_M39911_IG08
;; size=4 bbWeight=0.04 PerfScore 0.09
-; Total bytes of code 165, prolog size 12, PerfScore 25.38, instruction count 41, allocated bytes for code 165 (MethodHash=4acc6418) for method System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
+; Total bytes of code 178, prolog size 12, PerfScore 27.63, instruction count 43, allocated bytes for code 178 (MethodHash=4acc6418) for method System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
; ============================================================
Unwind Info:
+13 (+7.88%) : 211712.dasm - System.GC:AllocateUninitializedArrayint:int
@@ -64,12 +64,16 @@ G_M50407_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs -[rdi]
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xA0]
call [rax+0x08]<unknown method>
; gcrRegs -[rdi] +[rax]
test rax, rax
je SHORT G_M50407_IG10
- ;; size=65 bbWeight=1 PerfScore 9.25
+ ;; size=78 bbWeight=1 PerfScore 11.50
G_M50407_IG07: ; bbWeight=0.46, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
mov rdi, qword ptr [rax+0x18]
;; size=4 bbWeight=0.46 PerfScore 0.92
@@ -95,7 +99,7 @@ G_M50407_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=000
jmp SHORT G_M50407_IG08
;; size=4 bbWeight=0.04 PerfScore 0.09
-; Total bytes of code 165, prolog size 12, PerfScore 25.38, instruction count 41, allocated bytes for code 165 (MethodHash=a3303b18) for method System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
+; Total bytes of code 178, prolog size 12, PerfScore 27.63, instruction count 43, allocated bytes for code 178 (MethodHash=a3303b18) for method System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
; ============================================================
Unwind Info:
+28 (+9.79%) : 122803.dasm - System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
@@ -43,13 +43,13 @@ G_M32019_IG01: ; bbWeight=7.07, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
mov r15, gword ptr [rbp+0x48]
; gcrRegs +[r15]
;; size=62 bbWeight=7.07 PerfScore 90.14
-G_M32019_IG02: ; bbWeight=7.07, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+G_M32019_IG02: ; bbWeight=7.07, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
mov r14d, dword ptr [r15+0x08]
mov r13d, dword ptr [rbp+0x54]
cmp r14d, r13d
- jbe SHORT G_M32019_IG09
- ;; size=13 bbWeight=7.07 PerfScore 30.05
-G_M32019_IG03: ; bbWeight=98.02, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+ jbe G_M32019_IG09
+ ;; size=17 bbWeight=7.07 PerfScore 30.05
+G_M32019_IG03: ; bbWeight=98.02, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
cmp r13d, r14d
jae G_M32019_IG13
mov edi, r13d
@@ -65,8 +65,8 @@ G_M32019_IG03: ; bbWeight=98.02, gcrefRegs=8008 {rbx r15}, byrefRegs=0000
jne G_M32019_IG15
mov rdi, 0xD1FFAB1E ; System.RuntimeType
cmp qword ptr [r12], rdi
- jne SHORT G_M32019_IG14
- ;; size=68 bbWeight=98.02 PerfScore 1715.29
+ jne G_M32019_IG14
+ ;; size=72 bbWeight=98.02 PerfScore 1715.29
G_M32019_IG04: ; bbWeight=392.07, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
mov rdi, r12
@@ -84,20 +84,24 @@ G_M32019_IG06: ; bbWeight=98.02, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=
; gcrRegs +[rdi]
mov rsi, r12
; gcrRegs +[rsi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xC8]
call [rax+0x30]<unknown method>
; gcrRegs -[rsi rdi]
; gcr arg pop 0
- ;; size=23 bbWeight=98.02 PerfScore 539.09
+ ;; size=36 bbWeight=98.02 PerfScore 759.63
G_M32019_IG07: ; bbWeight=98.02, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref, isz
test eax, eax
jne SHORT G_M32019_IG11
;; size=4 bbWeight=98.02 PerfScore 122.52
-G_M32019_IG08: ; bbWeight=100, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+G_M32019_IG08: ; bbWeight=100, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
; gcrRegs -[r12]
cmp r14d, r13d
- ja SHORT G_M32019_IG03
- ;; size=5 bbWeight=100 PerfScore 125.00
+ ja G_M32019_IG03
+ ;; size=9 bbWeight=100 PerfScore 125.00
G_M32019_IG09: ; bbWeight=1.98, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
; gcrRegs -[r15]
xor rax, rax
@@ -141,7 +145,7 @@ G_M32019_IG13: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M32019_IG14: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref, isz
+G_M32019_IG14: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
; gcrRegs +[rbx r12 r15]
mov rdi, r12
; gcrRegs +[rdi]
@@ -150,8 +154,8 @@ G_M32019_IG14: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000
call [rax+0x18]<unknown method>
; gcrRegs -[rdi]
; gcr arg pop 0
- jmp SHORT G_M32019_IG05
- ;; size=16 bbWeight=0 PerfScore 0.00
+ jmp G_M32019_IG05
+ ;; size=19 bbWeight=0 PerfScore 0.00
G_M32019_IG15: ; bbWeight=0, gcrefRegs=9009 {rax rbx r12 r15}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rax]
mov rsi, r12
@@ -164,7 +168,7 @@ G_M32019_IG15: ; bbWeight=0, gcrefRegs=9009 {rax rbx r12 r15}, byrefRegs=
jmp SHORT G_M32019_IG07
;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 286, prolog size 62, PerfScore 3646.89, instruction count 74, allocated bytes for code 286 (MethodHash=645382ec) for method System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
+; Total bytes of code 314, prolog size 62, PerfScore 3867.43, instruction count 76, allocated bytes for code 314 (MethodHash=645382ec) for method System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
; ============================================================
Unwind Info:
librariestestsnotieredcompilation.run.linux.x64.Release.mch
-9 (-20.45%) : 21355.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
@@ -12,8 +12,8 @@
;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
;* V02 tmp2 [V02,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP
;* V03 tmp3 [V03,T03] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> rax "CSE - aggressive"
-; V05 cse1 [V05,T01] ( 2, 1 ) long -> rax "CSE - moderate"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> rax "CSE - aggressive"
+; V05 cse1 [V05,T01] ( 2, 1 ) long -> rcx "CSE - moderate"
;
; Lcl frame size = 0
@@ -25,20 +25,19 @@ G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
cmp byte ptr [rax], 0
jne SHORT G_M5950_IG04
;; size=15 bbWeight=1 PerfScore 4.25
-G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[rax]
- mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
- mov word ptr [rax], 257
+G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
+ mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field>
+ mov word ptr [rcx], 257
;; size=15 bbWeight=0.50 PerfScore 0.62
-G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rax, 0xD1FFAB1E ; global ptr
- movzx rax, byte ptr [rax]
- ;; size=13 bbWeight=1 PerfScore 2.25
+G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref
+ movzx rax, byte ptr [rax+0x01]
+ ; byrRegs -[rax]
+ ;; size=4 bbWeight=1 PerfScore 2.00
G_M5950_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=1 bbWeight=1 PerfScore 1.00
-; Total bytes of code 44, prolog size 0, PerfScore 8.12, instruction count 8, allocated bytes for code 44 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
+; Total bytes of code 35, prolog size 0, PerfScore 7.88, instruction count 7, allocated bytes for code 35 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
; ============================================================
Unwind Info:
-2 (-3.70%) : 158872.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
@@ -45,16 +45,16 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0280 {rdi r9}, byrefRegs=0000 {},
mov rsi, gword ptr [rbp-0x10]
; gcrRegs +[rsi]
mov rdx, qword ptr [rbp-0x08]
- cmp dword ptr [rdi], edi
- mov rax, qword ptr [(reloc)]
- ;; size=28 bbWeight=1 PerfScore 8.50
+ mov rax, qword ptr [rdi]
+ mov rax, qword ptr [rax+0x58]
+ ;; size=26 bbWeight=1 PerfScore 7.50
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 16
pop rbp
tail.jmp [rax]<unknown method>
;; size=8 bbWeight=1 PerfScore 2.75
-; Total bytes of code 54, prolog size 18, PerfScore 15.00, instruction count 15, allocated bytes for code 54 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
+; Total bytes of code 52, prolog size 18, PerfScore 14.00, instruction count 15, allocated bytes for code 52 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
; ============================================================
Unwind Info:
-2 (-2.60%) : 131187.dasm - System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
@@ -35,15 +35,15 @@ G_M60981_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
; gcrRegs +[rsi]
cmovne rsi, rdi
mov rdi, rbx
- cmp dword ptr [rbx], ebx
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x60]
call [rax+0x10]<unknown method>
; gcrRegs -[rsi rdi]
mov rax, 0xD1FFAB1E
; gcrRegs +[rax]
mov gword ptr [rbx+0x30], rax
- ;; size=59 bbWeight=1 PerfScore 10.75
+ ;; size=57 bbWeight=1 PerfScore 9.75
G_M60981_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 8
pop rbx
@@ -51,7 +51,7 @@ G_M60981_IG03: ; bbWeight=1, epilog, nogc, extend
ret
;; size=7 bbWeight=1 PerfScore 2.25
-; Total bytes of code 77, prolog size 8, PerfScore 16.75, instruction count 20, allocated bytes for code 77 (MethodHash=a44a11ca) for method System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
+; Total bytes of code 75, prolog size 8, PerfScore 15.75, instruction count 20, allocated bytes for code 75 (MethodHash=a44a11ca) for method System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
; ============================================================
Unwind Info:
+13 (+30.23%) : 35517.dasm - LightInject.ServiceContainer:g_IsNotServiceFactory|1750(System.Type):ubyte (FullOpts)
@@ -29,20 +29,22 @@ G_M24257_IG02: ; bbWeight=1.00, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
; gcrRegs +[rsi]
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ mov rax, qword ptr [rax]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xC8]
call [rax+0x30]<unknown method>
; gcrRegs -[rsi rdi]
test eax, eax
sete al
movzx rax, al
- ;; size=37 bbWeight=1.00 PerfScore 10.00
+ ;; size=50 bbWeight=1.00 PerfScore 12.25
G_M24257_IG03: ; bbWeight=1.00, epilog, nogc, extend
pop rbp
ret
;; size=2 bbWeight=1.00 PerfScore 1.50
-; Total bytes of code 43, prolog size 4, PerfScore 12.75, instruction count 12, allocated bytes for code 43 (MethodHash=df39a13e) for method LightInject.ServiceContainer:<EmitNewInstance>g__IsNotServiceFactory|175_0(System.Type):ubyte (FullOpts)
+; Total bytes of code 56, prolog size 4, PerfScore 15.00, instruction count 14, allocated bytes for code 56 (MethodHash=df39a13e) for method LightInject.ServiceContainer:<EmitNewInstance>g__IsNotServiceFactory|175_0(System.Type):ubyte (FullOpts)
; ============================================================
Unwind Info:
+13 (+30.95%) : 200310.dasm - System.Tests.Types.GenericTypeParameter2Of2Tests:CreateType():System.Type:this (FullOpts)
@@ -24,13 +24,17 @@ G_M65217_IG01: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
G_M65217_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xB8]
call [rax+0x38]<unknown method>
; gcrRegs -[rdi] +[rax]
cmp dword ptr [rax+0x08], 1
jbe SHORT G_M65217_IG04
mov rax, gword ptr [rax+0x18]
- ;; size=30 bbWeight=1.00 PerfScore 11.25
+ ;; size=43 bbWeight=1.00 PerfScore 13.50
G_M65217_IG03: ; bbWeight=1.00, epilog, nogc, extend
pop rbp
ret
@@ -41,7 +45,7 @@ G_M65217_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 42, prolog size 4, PerfScore 14.00, instruction count 12, allocated bytes for code 42 (MethodHash=5365013e) for method System.Tests.Types.GenericTypeParameter2Of2Tests:CreateType():System.Type:this (FullOpts)
+; Total bytes of code 55, prolog size 4, PerfScore 16.25, instruction count 14, allocated bytes for code 55 (MethodHash=5365013e) for method System.Tests.Types.GenericTypeParameter2Of2Tests:CreateType():System.Type:this (FullOpts)
; ============================================================
Unwind Info:
+10 (+38.46%) : 177994.dasm - System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
@@ -22,14 +22,18 @@ G_M34055_IG01: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
G_M34055_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
- ;; size=17 bbWeight=1.00 PerfScore 2.25
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x58]
+ ;; size=27 bbWeight=1.00 PerfScore 4.50
G_M34055_IG03: ; bbWeight=1.00, epilog, nogc, extend
pop rbp
tail.jmp [rax+0x28]<unknown method>
;; size=5 bbWeight=1.00 PerfScore 2.50
-; Total bytes of code 26, prolog size 4, PerfScore 6.00, instruction count 6, allocated bytes for code 26 (MethodHash=b4987af8) for method System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
+; Total bytes of code 36, prolog size 4, PerfScore 8.25, instruction count 8, allocated bytes for code 36 (MethodHash=b4987af8) for method System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
; ============================================================
Unwind Info:
realworld.run.linux.x64.checked.mch
-27 (-7.11%) : 3305.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
@@ -13,7 +13,7 @@
;* V02 loc2 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd <<unknown class>>
; V03 loc3 [V03,T05] ( 3, 1.50) ubyte -> r15
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V05 tmp1 [V05,T00] ( 4, 3.50) ref -> r15 single-def "inline UNBOX clone1"
+; V05 tmp1 [V05,T01] ( 4, 3.50) ref -> r15 single-def "inline UNBOX clone1"
;* V06 tmp2 [V06 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]>
;* V07 tmp3 [V07 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
;* V08 tmp4 [V08,T10] ( 0, 0 ) ubyte -> zero-ref single-def "field V06.hasValue (fldOffset=0x0)" P-INDEP
@@ -22,7 +22,7 @@
; V11 tmp7 [V11,T02] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V12 tmp8 [V12,T03] ( 3, 3 ) ref -> rax single-def "argument with side effect"
; V13 PSPSym [V13,T09] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[V] "PSPSym"
-; V14 cse0 [V14,T01] ( 4, 3 ) byref -> rbx "CSE - aggressive"
+; V14 cse0 [V14,T00] ( 7, 4.50) byref -> rbx "CSE - aggressive"
; V15 cse1 [V15,T06] ( 3, 1.50) long -> rax "CSE - moderate"
;
; Lcl frame size = 32
@@ -43,11 +43,9 @@ G_M36239_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
cmp byte ptr [rbx], 0
je SHORT G_M36239_IG05
;; size=15 bbWeight=1 PerfScore 4.25
-G_M36239_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[rbx]
- mov rax, 0xD1FFAB1E ; global ptr
- movzx rax, byte ptr [rax]
- ;; size=13 bbWeight=0.50 PerfScore 1.12
+G_M36239_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
+ movzx rax, byte ptr [rbx+0x01]
+ ;; size=4 bbWeight=0.50 PerfScore 1.00
G_M36239_IG04: ; bbWeight=0.50, epilog, nogc, extend
add rsp, 32
pop rbx
@@ -56,7 +54,6 @@ G_M36239_IG04: ; bbWeight=0.50, epilog, nogc, extend
ret
;; size=9 bbWeight=0.50 PerfScore 1.38
G_M36239_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref
- ; byrRegs +[rbx]
mov rsi, 0xD1FFAB1E ; const ptr
mov rdi, gword ptr [rsi]
; gcrRegs +[rdi]
@@ -77,10 +74,9 @@ G_M36239_IG06: ; bbWeight=0.50, gcVars=0000000000000080 {V00}, gcrefRegs=
; gcr arg pop 0
cmp byte ptr [rbx], 0
je SHORT G_M36239_IG07
- mov rdi, 0xD1FFAB1E ; global ptr
- movzx r15, byte ptr [rdi]
+ movzx r15, byte ptr [rbx+0x01]
jmp G_M36239_IG13
- ;; size=54 bbWeight=0.50 PerfScore 8.38
+ ;; size=45 bbWeight=0.50 PerfScore 8.25
G_M36239_IG07: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
@@ -151,11 +147,12 @@ G_M36239_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
int3
;; size=7 bbWeight=0 PerfScore 0.00
-G_M36239_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov rdi, 0xD1FFAB1E ; global ptr
- movzx r15, byte ptr [rdi]
- ;; size=14 bbWeight=0.50 PerfScore 1.12
+G_M36239_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
+ ; byrRegs +[rbx]
+ movzx r15, byte ptr [rbx+0x01]
+ ;; size=5 bbWeight=0.50 PerfScore 1.00
G_M36239_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ; byrRegs -[rbx]
cmp byte ptr [rbp-0x18], 0
je SHORT G_M36239_IG14
mov rdi, gword ptr [rbp-0x20]
@@ -206,7 +203,7 @@ G_M36239_IG19: ; bbWeight=0, funclet epilog, nogc, extend
ret
;; size=9 bbWeight=0 PerfScore 0.00
-; Total bytes of code 380, prolog size 23, PerfScore 47.25, instruction count 97, allocated bytes for code 380 (MethodHash=70747270) for method Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
+; Total bytes of code 353, prolog size 23, PerfScore 46.88, instruction count 94, allocated bytes for code 353 (MethodHash=70747270) for method Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
; ============================================================
Unwind Info:
-9 (-3.63%) : 3273.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)
@@ -18,7 +18,7 @@
;* V07 tmp5 [V07,T06] ( 0, 0 ) ubyte -> zero-ref single-def "field V04.hasValue (fldOffset=0x0)" P-INDEP
; V08 tmp6 [V08,T04] ( 2, 1 ) ubyte -> rdi single-def "field V04.value (fldOffset=0x1)" P-INDEP
; V09 PSPSym [V09,T05] ( 1, 1 ) long -> [rbp-0x20] do-not-enreg[V] "PSPSym"
-; V10 cse0 [V10,T00] ( 4, 3 ) byref -> rbx "CSE - aggressive"
+; V10 cse0 [V10,T00] ( 5, 4 ) byref -> rbx "CSE - aggressive"
; V11 cse1 [V11,T02] ( 3, 1.50) long -> rax "CSE - moderate"
;
; Lcl frame size = 24
@@ -38,11 +38,9 @@ G_M27573_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
cmp byte ptr [rbx], 0
je SHORT G_M27573_IG05
;; size=15 bbWeight=1 PerfScore 4.25
-G_M27573_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[rbx]
- mov rax, 0xD1FFAB1E ; global ptr
- movzx rax, byte ptr [rax]
- ;; size=13 bbWeight=1 PerfScore 2.25
+G_M27573_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
+ movzx rax, byte ptr [rbx+0x01]
+ ;; size=4 bbWeight=1 PerfScore 2.00
G_M27573_IG04: ; bbWeight=1, epilog, nogc, extend
add rsp, 24
pop rbx
@@ -50,7 +48,6 @@ G_M27573_IG04: ; bbWeight=1, epilog, nogc, extend
ret
;; size=7 bbWeight=1 PerfScore 2.25
G_M27573_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref
- ; byrRegs +[rbx]
mov rsi, 0xD1FFAB1E ; const ptr
mov rdi, gword ptr [rsi]
; gcrRegs +[rdi]
@@ -153,7 +150,7 @@ G_M27573_IG16: ; bbWeight=0, funclet epilog, nogc, extend
ret
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 248, prolog size 21, PerfScore 36.00, instruction count 69, allocated bytes for code 248 (MethodHash=7e7f944a) for method Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)
+; Total bytes of code 239, prolog size 21, PerfScore 35.75, instruction count 68, allocated bytes for code 239 (MethodHash=7e7f944a) for method Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)
; ============================================================
Unwind Info:
-3 (-1.09%) : 14917.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
@@ -102,8 +102,8 @@ G_M60946_IG05: ; bbWeight=2, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rb
G_M60946_IG06: ; bbWeight=2, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008 {rbx}, byref
mov rdi, r15
; gcrRegs +[rdi]
- cmp dword ptr [r15], r15d
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r15]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x18]<unknown method>
; gcrRegs -[rdi]
; gcr arg pop 0
@@ -120,7 +120,7 @@ G_M60946_IG06: ; bbWeight=2, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008
call [<unknown method>]
; gcrRegs -[rdi r9 r13-r14]
; gcr arg pop 0
- ;; size=51 bbWeight=2 PerfScore 27.50
+ ;; size=48 bbWeight=2 PerfScore 25.50
G_M60946_IG07: ; bbWeight=4, gcrefRegs=8000 {r15}, byrefRegs=0008 {rbx}, byref, isz
mov eax, dword ptr [rbx+0x08]
mov rcx, gword ptr [rbx]
@@ -176,7 +176,7 @@ G_M60946_IG13: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 276, prolog size 23, PerfScore 348.75, instruction count 75, allocated bytes for code 276 (MethodHash=ebf011ed) for method System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
+; Total bytes of code 273, prolog size 23, PerfScore 346.75, instruction count 75, allocated bytes for code 273 (MethodHash=ebf011ed) for method System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
; ============================================================
Unwind Info:
+13 (+8.78%) : 12641.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
@@ -43,13 +43,15 @@ G_M46437_IG02: ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
; gcrRegs +[rsi]
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ mov rax, qword ptr [rax]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xC8]
call [rax+0x30]<unknown method>
; gcrRegs -[rsi rdi]
test eax, eax
jne SHORT G_M46437_IG04
- ;; size=46 bbWeight=1 PerfScore 15.00
+ ;; size=59 bbWeight=1 PerfScore 17.25
G_M46437_IG03: ; bbWeight=1, epilog, nogc, extend
pop rbx
pop r15
@@ -85,7 +87,7 @@ G_M46437_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
int3
;; size=85 bbWeight=0 PerfScore 0.00
-; Total bytes of code 148, prolog size 9, PerfScore 21.25, instruction count 36, allocated bytes for code 148 (MethodHash=3cf14a9a) for method Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
+; Total bytes of code 161, prolog size 9, PerfScore 23.50, instruction count 38, allocated bytes for code 161 (MethodHash=3cf14a9a) for method Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
; ============================================================
Unwind Info:
+10 (+10.00%) : 3332.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
@@ -32,7 +32,11 @@ G_M45653_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M45653_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x58]
call [rax+0x28]<unknown method>
; gcrRegs -[rdi] +[rax]
mov rdi, rax
@@ -53,7 +57,7 @@ G_M45653_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
; gcrRegs -[rdi]
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
- ;; size=66 bbWeight=0.50 PerfScore 7.00
+ ;; size=76 bbWeight=0.50 PerfScore 8.12
G_M45653_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rax, gword ptr [rbx]
; gcrRegs +[rax]
@@ -65,7 +69,7 @@ G_M45653_IG05: ; bbWeight=1, epilog, nogc, extend
ret
;; size=7 bbWeight=1 PerfScore 2.25
-; Total bytes of code 100, prolog size 8, PerfScore 19.00, instruction count 25, allocated bytes for code 100 (MethodHash=2cf24daa) for method Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
+; Total bytes of code 110, prolog size 8, PerfScore 20.12, instruction count 27, allocated bytes for code 110 (MethodHash=2cf24daa) for method Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
; ============================================================
Unwind Info:
+10 (+23.26%) : 3295.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
@@ -22,7 +22,11 @@ G_M26176_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E
+ ; gcrRegs +[rax]
+ mov rax, qword ptr [rax]
+ ; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x58]
call [rax+0x28]<unknown method>
; gcrRegs -[rdi] +[rax]
mov rdi, rax
@@ -31,13 +35,13 @@ G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi]
mov rdi, rax
; gcrRegs +[rdi]
- ;; size=32 bbWeight=1 PerfScore 8.75
+ ;; size=42 bbWeight=1 PerfScore 11.00
G_M26176_IG03: ; bbWeight=1, epilog, nogc, extend
pop rbp
tail.jmp [System.IO.Path:GetFullPath(System.String):System.String]
;; size=7 bbWeight=1 PerfScore 2.50
-; Total bytes of code 43, prolog size 4, PerfScore 12.50, instruction count 10, allocated bytes for code 43 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
+; Total bytes of code 53, prolog size 4, PerfScore 14.75, instruction count 12, allocated bytes for code 53 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
; ============================================================
Unwind Info:
smoke_tests.nativeaot.linux.x64.checked.mch
+25 (+9.19%) : 2981.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
@@ -11,7 +11,7 @@
; V01 arg1 [V01,T03] ( 3, 18 ) long -> rbx single-def
; V02 arg2 [V02,T04] ( 3, 18 ) ushort -> r15 single-def
; V03 arg3 [V03,T05] ( 3, 18 ) long -> r14 single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r12
+; V04 loc0 [V04,T00] ( 12,126 ) long -> registers
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> [rbp-0x2C]
; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op
; V07 loc3 [V07,T13] ( 3, 1.50) long -> rax
@@ -53,7 +53,7 @@ G_M48740_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
;; size=5 bbWeight=1 PerfScore 0.50
G_M48740_IG03: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
test r12, r12
- je SHORT G_M48740_IG09
+ je SHORT G_M48740_IG08
;; size=5 bbWeight=8 PerfScore 10.00
G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movzx rdx, r15w
@@ -66,16 +66,16 @@ G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call System.Runtime.DispatchResolve:FindImplSlotForCurrentType(ulong,ulong,ushort,ubyte,ulong,ulong):ubyte
; gcr arg pop 0
test eax, eax
- jne SHORT G_M48740_IG10
+ jne SHORT G_M48740_IG12
mov edi, dword ptr [r12]
shr edi, 26
and edi, 31
cmp edi, 23
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=46 bbWeight=16 PerfScore 144.00
G_M48740_IG05: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp edi, 24
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=5 bbWeight=8 PerfScore 10.00
G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rdi, r12
@@ -87,34 +87,46 @@ G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
jne SHORT G_M48740_IG04
;; size=19 bbWeight=16 PerfScore 60.00
G_M48740_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- jmp SHORT G_M48740_IG09
- ;; size=2 bbWeight=1 PerfScore 2.00
-G_M48740_IG08: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov dword ptr [rbp-0x2C], eax
+ jmp SHORT G_M48740_IG10
+ ;; size=5 bbWeight=1 PerfScore 3.00
+G_M48740_IG08: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov dword ptr [rbp-0x2C], eax
+ jmp SHORT G_M48740_IG10
+ ;; size=5 bbWeight=4 PerfScore 12.00
+G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lea r12, [(reloc)]
+ test r12, r12
+ jne SHORT G_M48740_IG11
+ ;; size=12 bbWeight=16 PerfScore 28.00
+G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ cmp dword ptr [rbp-0x2C], 0
+ jne SHORT G_M48740_IG15
+ mov r12d, 1
+ mov rax, r13
+ mov rcx, rax
+ mov eax, r12d
+ mov r12, rcx
+ jmp SHORT G_M48740_IG03
+ ;; size=26 bbWeight=4 PerfScore 25.00
+G_M48740_IG11: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov eax, dword ptr [rbp-0x2C]
jmp SHORT G_M48740_IG04
- ;; size=12 bbWeight=16 PerfScore 56.00
-G_M48740_IG09: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- test eax, eax
- jne SHORT G_M48740_IG13
- mov eax, 1
- mov r12, r13
- jmp SHORT G_M48740_IG03
- ;; size=14 bbWeight=4 PerfScore 15.00
-G_M48740_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ;; size=5 bbWeight=8 PerfScore 24.00
+G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movzx rdi, word ptr [rbp-0x38]
mov eax, edi
movzx rcx, word ptr [r12+0x10]
cmp eax, ecx
- jge SHORT G_M48740_IG11
+ jge SHORT G_M48740_IG13
mov rax, qword ptr [r13+8*rdi+0x18]
- jmp SHORT G_M48740_IG12
+ jmp SHORT G_M48740_IG14
;; size=23 bbWeight=0.50 PerfScore 4.25
-G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48740_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp edi, 0xFFFF
- je SHORT G_M48740_IG15
+ je SHORT G_M48740_IG17
cmp edi, 0xFFFE
- je SHORT G_M48740_IG16
+ je SHORT G_M48740_IG18
sub edi, ecx
movzx rbx, di
mov rdi, r12
@@ -127,7 +139,7 @@ G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
movsxd rdi, dword ptr [rax]
add rax, rdi
;; size=41 bbWeight=0.50 PerfScore 4.62
-G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M48740_IG14: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
add rsp, 24
pop rbx
pop r12
@@ -137,10 +149,10 @@ G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG13: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG15: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend
+G_M48740_IG16: ; bbWeight=0.50, epilog, nogc, extend
add rsp, 24
pop rbx
pop r12
@@ -150,7 +162,7 @@ G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov edi, 11
call <unknown method>
; gcrRegs +[rax]
@@ -161,7 +173,7 @@ G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
; gcrRegs -[rax rdi]
; gcr arg pop 0
;; size=18 bbWeight=0 PerfScore 0.00
-G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48740_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edi, 12
call <unknown method>
; gcrRegs +[rax]
@@ -174,7 +186,7 @@ G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 31, PerfScore 318.50, instruction count 93, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 297, prolog size 31, PerfScore 337.50, instruction count 101, allocated bytes for code 297 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================
Cfi Info:
+25 (+9.19%) : 20329.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
@@ -11,7 +11,7 @@
; V01 arg1 [V01,T03] ( 3, 18 ) long -> rbx single-def
; V02 arg2 [V02,T04] ( 3, 18 ) ushort -> r15 single-def
; V03 arg3 [V03,T05] ( 3, 18 ) long -> r14 single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r12
+; V04 loc0 [V04,T00] ( 12,126 ) long -> registers
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> [rbp-0x2C]
; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op
; V07 loc3 [V07,T13] ( 3, 1.50) long -> rax
@@ -53,7 +53,7 @@ G_M48740_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
;; size=5 bbWeight=1 PerfScore 0.50
G_M48740_IG03: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
test r12, r12
- je SHORT G_M48740_IG09
+ je SHORT G_M48740_IG08
;; size=5 bbWeight=8 PerfScore 10.00
G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movzx rdx, r15w
@@ -66,16 +66,16 @@ G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call System.Runtime.DispatchResolve:FindImplSlotForCurrentType(ulong,ulong,ushort,ubyte,ulong,ulong):ubyte
; gcr arg pop 0
test eax, eax
- jne SHORT G_M48740_IG10
+ jne SHORT G_M48740_IG12
mov edi, dword ptr [r12]
shr edi, 26
and edi, 31
cmp edi, 23
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=46 bbWeight=16 PerfScore 144.00
G_M48740_IG05: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp edi, 24
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=5 bbWeight=8 PerfScore 10.00
G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rdi, r12
@@ -87,34 +87,46 @@ G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
jne SHORT G_M48740_IG04
;; size=19 bbWeight=16 PerfScore 60.00
G_M48740_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- jmp SHORT G_M48740_IG09
- ;; size=2 bbWeight=1 PerfScore 2.00
-G_M48740_IG08: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov dword ptr [rbp-0x2C], eax
+ jmp SHORT G_M48740_IG10
+ ;; size=5 bbWeight=1 PerfScore 3.00
+G_M48740_IG08: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov dword ptr [rbp-0x2C], eax
+ jmp SHORT G_M48740_IG10
+ ;; size=5 bbWeight=4 PerfScore 12.00
+G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lea r12, [(reloc)]
+ test r12, r12
+ jne SHORT G_M48740_IG11
+ ;; size=12 bbWeight=16 PerfScore 28.00
+G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ cmp dword ptr [rbp-0x2C], 0
+ jne SHORT G_M48740_IG15
+ mov r12d, 1
+ mov rax, r13
+ mov rcx, rax
+ mov eax, r12d
+ mov r12, rcx
+ jmp SHORT G_M48740_IG03
+ ;; size=26 bbWeight=4 PerfScore 25.00
+G_M48740_IG11: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov eax, dword ptr [rbp-0x2C]
jmp SHORT G_M48740_IG04
- ;; size=12 bbWeight=16 PerfScore 56.00
-G_M48740_IG09: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- test eax, eax
- jne SHORT G_M48740_IG13
- mov eax, 1
- mov r12, r13
- jmp SHORT G_M48740_IG03
- ;; size=14 bbWeight=4 PerfScore 15.00
-G_M48740_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ;; size=5 bbWeight=8 PerfScore 24.00
+G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movzx rdi, word ptr [rbp-0x38]
mov eax, edi
movzx rcx, word ptr [r12+0x10]
cmp eax, ecx
- jge SHORT G_M48740_IG11
+ jge SHORT G_M48740_IG13
mov rax, qword ptr [r13+8*rdi+0x18]
- jmp SHORT G_M48740_IG12
+ jmp SHORT G_M48740_IG14
;; size=23 bbWeight=0.50 PerfScore 4.25
-G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48740_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp edi, 0xFFFF
- je SHORT G_M48740_IG15
+ je SHORT G_M48740_IG17
cmp edi, 0xFFFE
- je SHORT G_M48740_IG16
+ je SHORT G_M48740_IG18
sub edi, ecx
movzx rbx, di
mov rdi, r12
@@ -127,7 +139,7 @@ G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
movsxd rdi, dword ptr [rax]
add rax, rdi
;; size=41 bbWeight=0.50 PerfScore 4.62
-G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M48740_IG14: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
add rsp, 24
pop rbx
pop r12
@@ -137,10 +149,10 @@ G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG13: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG15: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend
+G_M48740_IG16: ; bbWeight=0.50, epilog, nogc, extend
add rsp, 24
pop rbx
pop r12
@@ -150,7 +162,7 @@ G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov edi, 11
call <unknown method>
; gcrRegs +[rax]
@@ -161,7 +173,7 @@ G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
; gcrRegs -[rax rdi]
; gcr arg pop 0
;; size=18 bbWeight=0 PerfScore 0.00
-G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48740_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edi, 12
call <unknown method>
; gcrRegs +[rax]
@@ -174,7 +186,7 @@ G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 31, PerfScore 318.50, instruction count 93, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 297, prolog size 31, PerfScore 337.50, instruction count 101, allocated bytes for code 297 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================
Cfi Info:
+25 (+9.19%) : 23126.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
@@ -11,7 +11,7 @@
; V01 arg1 [V01,T03] ( 3, 18 ) long -> rbx single-def
; V02 arg2 [V02,T04] ( 3, 18 ) ushort -> r15 single-def
; V03 arg3 [V03,T05] ( 3, 18 ) long -> r14 single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r12
+; V04 loc0 [V04,T00] ( 12,126 ) long -> registers
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> [rbp-0x2C]
; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op
; V07 loc3 [V07,T13] ( 3, 1.50) long -> rax
@@ -53,7 +53,7 @@ G_M48740_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
;; size=5 bbWeight=1 PerfScore 0.50
G_M48740_IG03: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
test r12, r12
- je SHORT G_M48740_IG09
+ je SHORT G_M48740_IG08
;; size=5 bbWeight=8 PerfScore 10.00
G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movzx rdx, r15w
@@ -66,16 +66,16 @@ G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call System.Runtime.DispatchResolve:FindImplSlotForCurrentType(ulong,ulong,ushort,ubyte,ulong,ulong):ubyte
; gcr arg pop 0
test eax, eax
- jne SHORT G_M48740_IG10
+ jne SHORT G_M48740_IG12
mov edi, dword ptr [r12]
shr edi, 26
and edi, 31
cmp edi, 23
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=46 bbWeight=16 PerfScore 144.00
G_M48740_IG05: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp edi, 24
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=5 bbWeight=8 PerfScore 10.00
G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rdi, r12
@@ -87,34 +87,46 @@ G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
jne SHORT G_M48740_IG04
;; size=19 bbWeight=16 PerfScore 60.00
G_M48740_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- jmp SHORT G_M48740_IG09
- ;; size=2 bbWeight=1 PerfScore 2.00
-G_M48740_IG08: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov dword ptr [rbp-0x2C], eax
+ jmp SHORT G_M48740_IG10
+ ;; size=5 bbWeight=1 PerfScore 3.00
+G_M48740_IG08: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov dword ptr [rbp-0x2C], eax
+ jmp SHORT G_M48740_IG10
+ ;; size=5 bbWeight=4 PerfScore 12.00
+G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lea r12, [(reloc)]
+ test r12, r12
+ jne SHORT G_M48740_IG11
+ ;; size=12 bbWeight=16 PerfScore 28.00
+G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ cmp dword ptr [rbp-0x2C], 0
+ jne SHORT G_M48740_IG15
+ mov r12d, 1
+ mov rax, r13
+ mov rcx, rax
+ mov eax, r12d
+ mov r12, rcx
+ jmp SHORT G_M48740_IG03
+ ;; size=26 bbWeight=4 PerfScore 25.00
+G_M48740_IG11: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov eax, dword ptr [rbp-0x2C]
jmp SHORT G_M48740_IG04
- ;; size=12 bbWeight=16 PerfScore 56.00
-G_M48740_IG09: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- test eax, eax
- jne SHORT G_M48740_IG13
- mov eax, 1
- mov r12, r13
- jmp SHORT G_M48740_IG03
- ;; size=14 bbWeight=4 PerfScore 15.00
-G_M48740_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ;; size=5 bbWeight=8 PerfScore 24.00
+G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movzx rdi, word ptr [rbp-0x38]
mov eax, edi
movzx rcx, word ptr [r12+0x10]
cmp eax, ecx
- jge SHORT G_M48740_IG11
+ jge SHORT G_M48740_IG13
mov rax, qword ptr [r13+8*rdi+0x18]
- jmp SHORT G_M48740_IG12
+ jmp SHORT G_M48740_IG14
;; size=23 bbWeight=0.50 PerfScore 4.25
-G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48740_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp edi, 0xFFFF
- je SHORT G_M48740_IG15
+ je SHORT G_M48740_IG17
cmp edi, 0xFFFE
- je SHORT G_M48740_IG16
+ je SHORT G_M48740_IG18
sub edi, ecx
movzx rbx, di
mov rdi, r12
@@ -127,7 +139,7 @@ G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
movsxd rdi, dword ptr [rax]
add rax, rdi
;; size=41 bbWeight=0.50 PerfScore 4.62
-G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M48740_IG14: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
add rsp, 24
pop rbx
pop r12
@@ -137,10 +149,10 @@ G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG13: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG15: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend
+G_M48740_IG16: ; bbWeight=0.50, epilog, nogc, extend
add rsp, 24
pop rbx
pop r12
@@ -150,7 +162,7 @@ G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov edi, 11
call <unknown method>
; gcrRegs +[rax]
@@ -161,7 +173,7 @@ G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
; gcrRegs -[rax rdi]
; gcr arg pop 0
;; size=18 bbWeight=0 PerfScore 0.00
-G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48740_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edi, 12
call <unknown method>
; gcrRegs +[rax]
@@ -174,7 +186,7 @@ G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 31, PerfScore 318.50, instruction count 93, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 297, prolog size 31, PerfScore 337.50, instruction count 101, allocated bytes for code 297 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================
Cfi Info:
+25 (+9.19%) : 272.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
@@ -11,7 +11,7 @@
; V01 arg1 [V01,T03] ( 3, 18 ) long -> rbx single-def
; V02 arg2 [V02,T04] ( 3, 18 ) ushort -> r15 single-def
; V03 arg3 [V03,T05] ( 3, 18 ) long -> r14 single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r12
+; V04 loc0 [V04,T00] ( 12,126 ) long -> registers
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> [rbp-0x2C]
; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op
; V07 loc3 [V07,T13] ( 3, 1.50) long -> rax
@@ -53,7 +53,7 @@ G_M48740_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
;; size=5 bbWeight=1 PerfScore 0.50
G_M48740_IG03: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
test r12, r12
- je SHORT G_M48740_IG09
+ je SHORT G_M48740_IG08
;; size=5 bbWeight=8 PerfScore 10.00
G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movzx rdx, r15w
@@ -66,16 +66,16 @@ G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call System.Runtime.DispatchResolve:FindImplSlotForCurrentType(ulong,ulong,ushort,ubyte,ulong,ulong):ubyte
; gcr arg pop 0
test eax, eax
- jne SHORT G_M48740_IG10
+ jne SHORT G_M48740_IG12
mov edi, dword ptr [r12]
shr edi, 26
and edi, 31
cmp edi, 23
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=46 bbWeight=16 PerfScore 144.00
G_M48740_IG05: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp edi, 24
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=5 bbWeight=8 PerfScore 10.00
G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rdi, r12
@@ -87,34 +87,46 @@ G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
jne SHORT G_M48740_IG04
;; size=19 bbWeight=16 PerfScore 60.00
G_M48740_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- jmp SHORT G_M48740_IG09
- ;; size=2 bbWeight=1 PerfScore 2.00
-G_M48740_IG08: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov dword ptr [rbp-0x2C], eax
+ jmp SHORT G_M48740_IG10
+ ;; size=5 bbWeight=1 PerfScore 3.00
+G_M48740_IG08: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov dword ptr [rbp-0x2C], eax
+ jmp SHORT G_M48740_IG10
+ ;; size=5 bbWeight=4 PerfScore 12.00
+G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lea r12, [(reloc)]
+ test r12, r12
+ jne SHORT G_M48740_IG11
+ ;; size=12 bbWeight=16 PerfScore 28.00
+G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ cmp dword ptr [rbp-0x2C], 0
+ jne SHORT G_M48740_IG15
+ mov r12d, 1
+ mov rax, r13
+ mov rcx, rax
+ mov eax, r12d
+ mov r12, rcx
+ jmp SHORT G_M48740_IG03
+ ;; size=26 bbWeight=4 PerfScore 25.00
+G_M48740_IG11: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov eax, dword ptr [rbp-0x2C]
jmp SHORT G_M48740_IG04
- ;; size=12 bbWeight=16 PerfScore 56.00
-G_M48740_IG09: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- test eax, eax
- jne SHORT G_M48740_IG13
- mov eax, 1
- mov r12, r13
- jmp SHORT G_M48740_IG03
- ;; size=14 bbWeight=4 PerfScore 15.00
-G_M48740_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ;; size=5 bbWeight=8 PerfScore 24.00
+G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movzx rdi, word ptr [rbp-0x38]
mov eax, edi
movzx rcx, word ptr [r12+0x10]
cmp eax, ecx
- jge SHORT G_M48740_IG11
+ jge SHORT G_M48740_IG13
mov rax, qword ptr [r13+8*rdi+0x18]
- jmp SHORT G_M48740_IG12
+ jmp SHORT G_M48740_IG14
;; size=23 bbWeight=0.50 PerfScore 4.25
-G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48740_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp edi, 0xFFFF
- je SHORT G_M48740_IG15
+ je SHORT G_M48740_IG17
cmp edi, 0xFFFE
- je SHORT G_M48740_IG16
+ je SHORT G_M48740_IG18
sub edi, ecx
movzx rbx, di
mov rdi, r12
@@ -127,7 +139,7 @@ G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
movsxd rdi, dword ptr [rax]
add rax, rdi
;; size=41 bbWeight=0.50 PerfScore 4.62
-G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M48740_IG14: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
add rsp, 24
pop rbx
pop r12
@@ -137,10 +149,10 @@ G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG13: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG15: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend
+G_M48740_IG16: ; bbWeight=0.50, epilog, nogc, extend
add rsp, 24
pop rbx
pop r12
@@ -150,7 +162,7 @@ G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend
pop rbp
ret
;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov edi, 11
call <unknown method>
; gcrRegs +[rax]
@@ -161,7 +173,7 @@ G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
; gcrRegs -[rax rdi]
; gcr arg pop 0
;; size=18 bbWeight=0 PerfScore 0.00
-G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48740_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edi, 12
call <unknown method>
; gcrRegs +[rax]
@@ -174,7 +186,7 @@ G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 31, PerfScore 318.50, instruction count 93, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 297, prolog size 31, PerfScore 337.50, instruction count 101, allocated bytes for code 297 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================
Cfi Info:
Details
Improvements/regressions per collection
Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
benchmarks.run.linux.x64.checked.mch |
90 |
10 |
29 |
51 |
-51 |
+555 |
benchmarks.run_pgo.linux.x64.checked.mch |
481 |
3 |
11 |
467 |
-7 |
+92 |
benchmarks.run_tiered.linux.x64.checked.mch |
13 |
1 |
4 |
8 |
-2 |
+16 |
coreclr_tests.run.linux.x64.checked.mch |
1,670 |
68 |
347 |
1,255 |
-1,658 |
+8,510 |
libraries.crossgen2.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
libraries.pmi.linux.x64.checked.mch |
876 |
34 |
263 |
579 |
-133 |
+2,505 |
libraries_tests.run.linux.x64.Release.mch |
3,675 |
148 |
2,779 |
748 |
-534 |
+20,404 |
librariestestsnotieredcompilation.run.linux.x64.Release.mch |
2,678 |
387 |
1,592 |
699 |
-3,468 |
+22,397 |
realworld.run.linux.x64.checked.mch |
298 |
13 |
104 |
181 |
-67 |
+462 |
smoke_tests.nativeaot.linux.x64.checked.mch |
4 |
0 |
4 |
0 |
-0 |
+100 |
|
9,785 |
664 |
5,133 |
3,988 |
-5,920 |
+55,041 |
Context information
Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
benchmarks.run.linux.x64.checked.mch |
31,764 |
2,052 |
29,712 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_pgo.linux.x64.checked.mch |
155,049 |
57,390 |
97,659 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_tiered.linux.x64.checked.mch |
58,135 |
43,840 |
14,295 |
0 (0.00%) |
0 (0.00%) |
coreclr_tests.run.linux.x64.checked.mch |
608,390 |
362,472 |
245,918 |
0 (0.00%) |
0 (0.00%) |
libraries.crossgen2.linux.x64.checked.mch |
265,301 |
15 |
265,286 |
0 (0.00%) |
0 (0.00%) |
libraries.pmi.linux.x64.checked.mch |
298,707 |
6 |
298,701 |
0 (0.00%) |
0 (0.00%) |
libraries_tests.run.linux.x64.Release.mch |
751,536 |
496,905 |
254,631 |
0 (0.00%) |
0 (0.00%) |
librariestestsnotieredcompilation.run.linux.x64.Release.mch |
305,831 |
21,933 |
283,898 |
0 (0.00%) |
6 (0.00%) |
realworld.run.linux.x64.checked.mch |
33,245 |
45 |
33,200 |
0 (0.00%) |
0 (0.00%) |
smoke_tests.nativeaot.linux.x64.checked.mch |
27,407 |
10 |
27,397 |
0 (0.00%) |
0 (0.00%) |
|
2,535,365 |
984,668 |
1,550,697 |
0 (0.00%) |
6 (0.00%) |
jit-analyze output
benchmarks.run.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 12166543 (overridden on cmd)
Total bytes of diff: 12167047 (overridden on cmd)
Total bytes of delta: 504 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
93 : 5412.dasm (2.18 % of base)
90 : 5523.dasm (3.58 % of base)
60 : 7395.dasm (5.66 % of base)
60 : 5473.dasm (2.26 % of base)
50 : 10871.dasm (0.38 % of base)
30 : 7385.dasm (9.23 % of base)
14 : 10817.dasm (0.43 % of base)
13 : 21674.dasm (0.66 % of base)
13 : 5289.dasm (1.83 % of base)
13 : 5498.dasm (1.18 % of base)
13 : 5571.dasm (1.63 % of base)
13 : 9223.dasm (0.53 % of base)
13 : 27090.dasm (1.01 % of base)
13 : 9310.dasm (0.65 % of base)
10 : 6456.dasm (1.46 % of base)
10 : 17923.dasm (0.63 % of base)
10 : 18979.dasm (2.09 % of base)
10 : 17944.dasm (2.89 % of base)
9 : 9854.dasm (0.91 % of base)
4 : 2884.dasm (0.46 % of base)
Top file improvements (bytes):
-10 : 19025.dasm (-0.31 % of base)
-9 : 3409.dasm (-1.57 % of base)
-9 : 9684.dasm (-20.45 % of base)
-8 : 4855.dasm (-0.38 % of base)
-4 : 4859.dasm (-0.04 % of base)
-3 : 4777.dasm (-1.09 % of base)
-2 : 15282.dasm (-0.02 % of base)
-2 : 9768.dasm (-0.33 % of base)
-2 : 15189.dasm (-3.70 % of base)
-2 : 19708.dasm (-0.05 % of base)
31 total files with Code Size differences (10 improved, 21 regressed), 25 unchanged.
Top method regressions (bytes):
93 (2.18 % of base) : 5412.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
90 (3.58 % of base) : 5523.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
60 (5.66 % of base) : 7395.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
60 (2.26 % of base) : 5473.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
50 (0.38 % of base) : 10871.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
30 (9.23 % of base) : 7385.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
14 (0.43 % of base) : 10817.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (FullOpts)
13 (0.65 % of base) : 9310.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
13 (0.53 % of base) : 9223.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
13 (1.01 % of base) : 27090.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
13 (0.66 % of base) : 21674.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
13 (1.83 % of base) : 5289.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildFormatterToAssembly[System.__Canon](Utf8Json.Internal.Emit.DynamicAssembly,Utf8Json.IJsonFormatterResolver,System.Func`2[System.String,System.String],ubyte):System.Object (FullOpts)
13 (1.63 % of base) : 5571.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitDeserializeValue(System.Reflection.Emit.ILGenerator,Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+DeserializeInfo,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
13 (1.18 % of base) : 5498.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitSerializeValue(System.Reflection.TypeInfo,Utf8Json.Internal.Emit.MetaMember,System.Reflection.Emit.ILGenerator,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
10 (0.63 % of base) : 17923.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
10 (2.89 % of base) : 17944.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
10 (1.46 % of base) : 6456.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
10 (2.09 % of base) : 18979.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
9 (0.91 % of base) : 9854.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[System.__Canon](System.Reflection.PropertyInfo):System.Action`2[System.__Canon,System.__Canon]:this (FullOpts)
4 (0.46 % of base) : 2884.dasm - System.Net.CertificateValidationPal:GetRemoteCertificate(System.Net.Security.SafeDeleteContext,ubyte,byref,System.Security.Cryptography.X509Certificates.X509ChainPolicy):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts)
Top method improvements (bytes):
-10 (-0.31 % of base) : 19025.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-9 (-20.45 % of base) : 9684.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
-9 (-1.57 % of base) : 3409.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
-8 (-0.38 % of base) : 4855.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
-4 (-0.04 % of base) : 4859.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
-3 (-1.09 % of base) : 4777.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
-2 (-0.05 % of base) : 19708.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterConstraintClause]]:this (FullOpts)
-2 (-0.33 % of base) : 9768.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateGet[System.__Canon](System.Reflection.PropertyInfo):System.Func`2[System.__Canon,System.__Canon]:this (FullOpts)
-2 (-0.02 % of base) : 15282.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
-2 (-3.70 % of base) : 15189.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
Top method regressions (percentages):
30 (9.23 % of base) : 7385.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
60 (5.66 % of base) : 7395.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
90 (3.58 % of base) : 5523.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
10 (2.89 % of base) : 17944.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
60 (2.26 % of base) : 5473.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
93 (2.18 % of base) : 5412.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
10 (2.09 % of base) : 18979.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
13 (1.83 % of base) : 5289.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildFormatterToAssembly[System.__Canon](Utf8Json.Internal.Emit.DynamicAssembly,Utf8Json.IJsonFormatterResolver,System.Func`2[System.String,System.String],ubyte):System.Object (FullOpts)
13 (1.63 % of base) : 5571.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitDeserializeValue(System.Reflection.Emit.ILGenerator,Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+DeserializeInfo,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
10 (1.46 % of base) : 6456.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
13 (1.18 % of base) : 5498.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitSerializeValue(System.Reflection.TypeInfo,Utf8Json.Internal.Emit.MetaMember,System.Reflection.Emit.ILGenerator,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
13 (1.01 % of base) : 27090.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
9 (0.91 % of base) : 9854.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[System.__Canon](System.Reflection.PropertyInfo):System.Action`2[System.__Canon,System.__Canon]:this (FullOpts)
13 (0.66 % of base) : 21674.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
13 (0.65 % of base) : 9310.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
10 (0.63 % of base) : 17923.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
13 (0.53 % of base) : 9223.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
4 (0.46 % of base) : 2884.dasm - System.Net.CertificateValidationPal:GetRemoteCertificate(System.Net.Security.SafeDeleteContext,ubyte,byref,System.Security.Cryptography.X509Certificates.X509ChainPolicy):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts)
14 (0.43 % of base) : 10817.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (FullOpts)
50 (0.38 % of base) : 10871.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
Top method improvements (percentages):
-9 (-20.45 % of base) : 9684.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
-2 (-3.70 % of base) : 15189.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
-9 (-1.57 % of base) : 3409.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
-3 (-1.09 % of base) : 4777.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
-8 (-0.38 % of base) : 4855.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
-2 (-0.33 % of base) : 9768.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateGet[System.__Canon](System.Reflection.PropertyInfo):System.Func`2[System.__Canon,System.__Canon]:this (FullOpts)
-10 (-0.31 % of base) : 19025.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-2 (-0.05 % of base) : 19708.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterConstraintClause]]:this (FullOpts)
-4 (-0.04 % of base) : 4859.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
-2 (-0.02 % of base) : 15282.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
benchmarks.run_pgo.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 67166891 (overridden on cmd)
Total bytes of diff: 67166976 (overridden on cmd)
Total bytes of delta: 85 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
13 : 119986.dasm (1.02 % of base)
11 : 41674.dasm (0.26 % of base)
11 : 52366.dasm (0.26 % of base)
11 : 64250.dasm (0.26 % of base)
11 : 154105.dasm (0.26 % of base)
11 : 57571.dasm (0.26 % of base)
7 : 74961.dasm (0.18 % of base)
7 : 80641.dasm (0.28 % of base)
7 : 47528.dasm (0.20 % of base)
2 : 142099.dasm (0.05 % of base)
1 : 102149.dasm (0.14 % of base)
Top file improvements (bytes):
-3 : 96264.dasm (-0.07 % of base)
-2 : 69831.dasm (-0.02 % of base)
-2 : 102153.dasm (-0.10 % of base)
14 total files with Code Size differences (3 improved, 11 regressed), 46 unchanged.
Top method regressions (bytes):
13 (1.02 % of base) : 119986.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
11 (0.26 % of base) : 41674.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
11 (0.26 % of base) : 52366.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
11 (0.26 % of base) : 64250.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
11 (0.26 % of base) : 154105.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
11 (0.26 % of base) : 57571.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
7 (0.18 % of base) : 74961.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
7 (0.28 % of base) : 80641.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
7 (0.20 % of base) : 47528.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
2 (0.05 % of base) : 142099.dasm - System.Net.Sockets.Tests.SocketSendReceivePerfTest+<SendAsyncThenReceiveAsync_Task>d__9:MoveNext():this (Tier1-OSR)
1 (0.14 % of base) : 102149.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)
Top method improvements (bytes):
-3 (-0.07 % of base) : 96264.dasm - Microsoft.Cci.MetadataVisitor:Visit(System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]):this (Tier1)
-2 (-0.10 % of base) : 102153.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
-2 (-0.02 % of base) : 69831.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
Top method regressions (percentages):
13 (1.02 % of base) : 119986.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
7 (0.28 % of base) : 80641.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
11 (0.26 % of base) : 52366.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
11 (0.26 % of base) : 154105.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
11 (0.26 % of base) : 41674.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
11 (0.26 % of base) : 64250.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
11 (0.26 % of base) : 57571.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
7 (0.20 % of base) : 47528.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
7 (0.18 % of base) : 74961.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
1 (0.14 % of base) : 102149.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)
2 (0.05 % of base) : 142099.dasm - System.Net.Sockets.Tests.SocketSendReceivePerfTest+<SendAsyncThenReceiveAsync_Task>d__9:MoveNext():this (Tier1-OSR)
Top method improvements (percentages):
-2 (-0.10 % of base) : 102153.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
-3 (-0.07 % of base) : 96264.dasm - Microsoft.Cci.MetadataVisitor:Visit(System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]):this (Tier1)
-2 (-0.02 % of base) : 69831.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
benchmarks.run_tiered.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 16810899 (overridden on cmd)
Total bytes of diff: 16810913 (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):
13 : 52308.dasm (1.04 % of base)
1 : 47449.dasm (0.05 % of base)
1 : 49003.dasm (0.11 % of base)
1 : 51659.dasm (0.25 % of base)
Top file improvements (bytes):
-2 : 36367.dasm (-0.02 % of base)
5 total files with Code Size differences (1 improved, 4 regressed), 8 unchanged.
Top method regressions (bytes):
13 (1.04 % of base) : 52308.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
1 (0.11 % of base) : 49003.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
1 (0.05 % of base) : 47449.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (Tier1)
1 (0.25 % of base) : 51659.dasm - Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable`1[System.Type],System.Collections.Generic.IEnumerable`1[System.Type],Sigil.Impl.VerificationCallback):this (Tier1)
Top method improvements (bytes):
-2 (-0.02 % of base) : 36367.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
Top method regressions (percentages):
13 (1.04 % of base) : 52308.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
1 (0.25 % of base) : 51659.dasm - Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable`1[System.Type],System.Collections.Generic.IEnumerable`1[System.Type],Sigil.Impl.VerificationCallback):this (Tier1)
1 (0.11 % of base) : 49003.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
1 (0.05 % of base) : 47449.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (Tier1)
Top method improvements (percentages):
-2 (-0.02 % of base) : 36367.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
5 total methods with Code Size differences (1 improved, 4 regressed).
coreclr_tests.run.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 418408742 (overridden on cmd)
Total bytes of diff: 418415594 (overridden on cmd)
Total bytes of delta: 6852 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
370 : 175223.dasm (5.71 % of base)
370 : 217729.dasm (5.71 % of base)
370 : 175475.dasm (5.71 % of base)
370 : 176079.dasm (7.23 % of base)
370 : 216847.dasm (5.71 % of base)
370 : 217098.dasm (5.71 % of base)
370 : 217368.dasm (7.23 % of base)
370 : 217545.dasm (5.71 % of base)
370 : 217652.dasm (7.23 % of base)
120 : 177066.dasm (4.34 % of base)
120 : 304344.dasm (2.72 % of base)
60 : 217667.dasm (5.14 % of base)
60 : 217768.dasm (5.19 % of base)
60 : 175568.dasm (5.60 % of base)
60 : 176096.dasm (5.06 % of base)
60 : 176107.dasm (5.32 % of base)
60 : 176111.dasm (5.32 % of base)
60 : 217527.dasm (5.06 % of base)
60 : 217560.dasm (5.60 % of base)
60 : 217591.dasm (5.14 % of base)
Top file improvements (bytes):
-142 : 232182.dasm (-2.05 % of base)
-127 : 220975.dasm (-1.80 % of base)
-74 : 219439.dasm (-1.13 % of base)
-74 : 220783.dasm (-1.13 % of base)
-72 : 229769.dasm (-16.11 % of base)
-70 : 246832.dasm (-19.77 % of base)
-63 : 232187.dasm (-0.89 % of base)
-63 : 231801.dasm (-0.94 % of base)
-55 : 232144.dasm (-0.79 % of base)
-55 : 221081.dasm (-1.28 % of base)
-55 : 219891.dasm (-0.94 % of base)
-54 : 231754.dasm (-0.77 % of base)
-54 : 231812.dasm (-0.76 % of base)
-54 : 232196.dasm (-0.76 % of base)
-45 : 219756.dasm (-0.64 % of base)
-45 : 221003.dasm (-0.61 % of base)
-40 : 231760.dasm (-0.65 % of base)
-40 : 232150.dasm (-0.65 % of base)
-40 : 246820.dasm (-11.76 % of base)
-39 : 232153.dasm (-0.64 % of base)
80 total files with Code Size differences (37 improved, 43 regressed), 20 unchanged.
Top method regressions (bytes):
370 (5.71 % of base) : 217729.dasm - Test_AbstractBase02:TestEntryPoint():int (FullOpts)
370 (5.71 % of base) : 175223.dasm - Test_BaseClass02:TestEntryPoint():int (FullOpts)
370 (5.71 % of base) : 175475.dasm - Test_class01:TestEntryPoint():int (FullOpts)
370 (5.71 % of base) : 217545.dasm - Test_NestedBaseClass05:TestEntryPoint():int (FullOpts)
370 (5.71 % of base) : 217098.dasm - Test_NestedClass01:TestEntryPoint():int (FullOpts)
370 (5.71 % of base) : 216847.dasm - Test_NestedClass03:TestEntryPoint():int (FullOpts)
370 (7.23 % of base) : 217368.dasm - Test_NestedStruct01:TestEntryPoint():int (FullOpts)
370 (7.23 % of base) : 217652.dasm - Test_NestedStruct03:TestEntryPoint():int (FullOpts)
370 (7.23 % of base) : 176079.dasm - Test_struct01:TestEntryPoint():int (FullOpts)
120 (2.72 % of base) : 304344.dasm - Program:RuntimeMethodHandle():ubyte (FullOpts)
120 (4.34 % of base) : 177066.dasm - VectorTest:TestEntryPoint():int (FullOpts)
60 (5.60 % of base) : 217560.dasm - Test_AbstractBase06:TestEntryPoint():int (FullOpts)
60 (5.19 % of base) : 217768.dasm - Test_AbstractBase07:TestEntryPoint():int (FullOpts)
60 (5.60 % of base) : 175568.dasm - Test_Class05:TestEntryPoint():int (FullOpts)
60 (5.14 % of base) : 217591.dasm - Test_NestedBaseClass01:TestEntryPoint():int (FullOpts)
60 (5.14 % of base) : 217667.dasm - Test_NestedBaseClass03:TestEntryPoint():int (FullOpts)
60 (5.06 % of base) : 217527.dasm - Test_NestedInterface08:TestEntryPoint():int (FullOpts)
60 (5.06 % of base) : 176096.dasm - Test_Struct03:TestEntryPoint():int (FullOpts)
60 (5.32 % of base) : 176107.dasm - Test_Struct04:TestEntryPoint():int (FullOpts)
60 (5.32 % of base) : 176111.dasm - Test_Struct05:TestEntryPoint():int (FullOpts)
Top method improvements (bytes):
-142 (-2.05 % of base) : 232182.dasm - TestApp:RunAllTests():int (FullOpts)
-127 (-1.80 % of base) : 220975.dasm - TestApp:RunAllTests():int (FullOpts)
-74 (-1.13 % of base) : 219439.dasm - TestApp:RunAllTests():int (FullOpts)
-74 (-1.13 % of base) : 220783.dasm - TestApp:RunAllTests():int (FullOpts)
-72 (-16.11 % of base) : 229769.dasm - Test_200w1d_02.testout1:TestEntryPoint():int (FullOpts)
-70 (-19.77 % of base) : 246832.dasm - testout1:Func(testout1+CL,testout1+VT):long (FullOpts)
-63 (-0.89 % of base) : 232187.dasm - TestApp:RunAllTests():int (FullOpts)
-63 (-0.94 % of base) : 231801.dasm - TestApp:RunAllTests():int (FullOpts)
-55 (-0.79 % of base) : 232144.dasm - TestApp:RunAllTests():int (FullOpts)
-55 (-1.28 % of base) : 221081.dasm - TestApp:RunAllTests():int (FullOpts)
-55 (-0.94 % of base) : 219891.dasm - TestApp:RunAllTests():int (FullOpts)
-54 (-0.77 % of base) : 231754.dasm - TestApp:RunAllTests():int (FullOpts)
-54 (-0.76 % of base) : 231812.dasm - TestApp:RunAllTests():int (FullOpts)
-54 (-0.76 % of base) : 232196.dasm - TestApp:RunAllTests():int (FullOpts)
-45 (-0.64 % of base) : 219756.dasm - TestApp:RunAllTests():int (FullOpts)
-45 (-0.61 % of base) : 221003.dasm - TestApp:RunAllTests():int (FullOpts)
-40 (-11.76 % of base) : 246820.dasm - bug1:TestEntryPoint() (FullOpts)
-40 (-0.65 % of base) : 231760.dasm - TestApp:RunAllTests():int (FullOpts)
-40 (-0.65 % of base) : 232150.dasm - TestApp:RunAllTests():int (FullOpts)
-39 (-0.64 % of base) : 232153.dasm - TestApp:RunAllTests():int (FullOpts)
Top method regressions (percentages):
10 (23.26 % of base) : 304873.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
10 (15.38 % of base) : 242281.dasm - Runtime_95347:Test():int (FullOpts)
10 (12.99 % of base) : 175681.dasm - Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
10 (12.82 % of base) : 287207.dasm - ILVerify.Verifier+<>c:<.ctor>b__5_0():System.Resources.ResourceManager:this (FullOpts)
20 (11.70 % of base) : 175546.dasm - Gen`2[double,System.Guid]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
30 (11.67 % of base) : 175549.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
30 (11.67 % of base) : 175559.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
30 (11.67 % of base) : 175239.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
30 (11.67 % of base) : 217510.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
20 (11.36 % of base) : 175533.dasm - Gen`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
20 (11.36 % of base) : 175235.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
20 (11.36 % of base) : 175229.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
20 (11.36 % of base) : 217045.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
20 (11.36 % of base) : 217386.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
10 (10.87 % of base) : 175510.dasm - Gen`1[ValX1`1[int]]:InstVerify(System.Type):ubyte:this (FullOpts)
10 (10.87 % of base) : 175477.dasm - Gen`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
10 (10.87 % of base) : 217731.dasm - GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
10 (10.87 % of base) : 216848.dasm - GenOuter+GenInner`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
10 (10.87 % of base) : 217702.dasm - Outer`1+GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]],ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
10 (10.87 % of base) : 217546.dasm - Outer+GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
Top method improvements (percentages):
-27 (-23.28 % of base) : 246612.dasm - bug1:TestEntryPoint() (FullOpts)
-9 (-20.45 % of base) : 193518.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
-70 (-19.77 % of base) : 246832.dasm - testout1:Func(testout1+CL,testout1+VT):long (FullOpts)
-18 (-16.98 % of base) : 174995.dasm - StaticValueField:TestEntryPoint():int (FullOpts)
-72 (-16.11 % of base) : 229769.dasm - Test_200w1d_02.testout1:TestEntryPoint():int (FullOpts)
-9 (-14.75 % of base) : 304948.dasm - Microsoft.Build.Framework.NativeMethods:get_IsOSX():ubyte (FullOpts)
-9 (-14.75 % of base) : 304833.dasm - Microsoft.Build.Framework.NativeMethods:get_IsWindows():ubyte (FullOpts)
-40 (-11.76 % of base) : 246820.dasm - bug1:TestEntryPoint() (FullOpts)
-9 (-9.47 % of base) : 237470.dasm - testout1:Func_0():double (FullOpts)
-9 (-9.28 % of base) : 243353.dasm - Test4:Run():uint (FullOpts)
-6 (-8.45 % of base) : 237738.dasm - Test_b18049:main():int (FullOpts)
-7 (-8.24 % of base) : 188562.dasm - ZeroOffsetFieldSeqs:ProblemWithStaticUnions():ubyte (FullOpts)
-9 (-7.50 % of base) : 246801.dasm - testout1:Func_0_2(testout1+CL_0_2,ulong) (FullOpts)
-6 (-7.32 % of base) : 243379.dasm - GitHub_18522:TestEntryPoint():int (FullOpts)
-27 (-6.80 % of base) : 304882.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
-16 (-6.67 % of base) : 239013.dasm - TestClass13:Method0():this (FullOpts)
-18 (-5.20 % of base) : 246803.dasm - testout1:Func():long (FullOpts)
-18 (-4.36 % of base) : 2748.dasm - testout1:TestEntryPoint():int (FullOpts)
-18 (-4.36 % of base) : 2779.dasm - testout1:TestEntryPoint():int (FullOpts)
-9 (-3.45 % of base) : 243375.dasm - GitHub_18497:TestEntryPoint():int (FullOpts)
libraries.pmi.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 60685927 (overridden on cmd)
Total bytes of diff: 60688299 (overridden on cmd)
Total bytes of delta: 2372 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
72 : 257750.dasm (2.80 % of base)
50 : 199819.dasm (0.38 % of base)
50 : 283563.dasm (4.37 % of base)
40 : 16242.dasm (2.04 % of base)
40 : 16624.dasm (4.66 % of base)
40 : 16625.dasm (4.64 % of base)
40 : 16626.dasm (6.06 % of base)
30 : 20313.dasm (10.79 % of base)
30 : 295562.dasm (1.60 % of base)
30 : 29682.dasm (3.18 % of base)
30 : 214308.dasm (3.18 % of base)
26 : 290749.dasm (1.24 % of base)
24 : 15785.dasm (1.26 % of base)
20 : 15780.dasm (0.66 % of base)
20 : 137523.dasm (3.41 % of base)
20 : 137524.dasm (3.84 % of base)
20 : 137535.dasm (2.21 % of base)
20 : 205395.dasm (1.02 % of base)
20 : 283527.dasm (6.31 % of base)
20 : 295532.dasm (3.21 % of base)
Top file improvements (bytes):
-33 : 97913.dasm (-3.31 % of base)
-10 : 65485.dasm (-0.24 % of base)
-9 : 178100.dasm (-1.57 % of base)
-8 : 133026.dasm (-0.32 % of base)
-6 : 43442.dasm (-0.11 % of base)
-6 : 119656.dasm (-0.21 % of base)
-4 : 258850.dasm (-0.04 % of base)
-3 : 102381.dasm (-0.26 % of base)
-3 : 252728.dasm (-0.59 % of base)
-3 : 252924.dasm (-0.64 % of base)
-3 : 275501.dasm (-0.54 % of base)
-3 : 68384.dasm (-0.15 % of base)
-3 : 97929.dasm (-0.33 % of base)
-3 : 97931.dasm (-0.36 % of base)
-3 : 98127.dasm (-0.25 % of base)
-3 : 121212.dasm (-0.06 % of base)
-2 : 123554.dasm (-0.04 % of base)
-2 : 111425.dasm (-0.74 % of base)
-2 : 166813.dasm (-2.74 % of base)
-2 : 97906.dasm (-0.08 % of base)
64 total files with Code Size differences (25 improved, 39 regressed), 20 unchanged.
Top method regressions (bytes):
72 (2.80 % of base) : 257750.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[ubyte]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],ubyte] (FullOpts)
50 (4.37 % of base) : 283563.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
50 (0.38 % of base) : 199819.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
40 (2.04 % of base) : 16242.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.Adapters:ConvImmutableTypeToMutableType(Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,System.Type):System.Type (FullOpts)
40 (4.64 % of base) : 16625.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transBinOp(Microsoft.FSharp.Core.FSharpFunc`2[System.Type,ubyte],Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`3[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.RuntimeMethodHandle):System.Linq.Expressions.Expression (FullOpts)
40 (6.06 % of base) : 16626.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transBoolOpNoWitness(Microsoft.FSharp.Core.FSharpFunc`2[System.Type,ubyte],Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`4[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,ubyte,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.Reflection.MethodInfo):System.Linq.Expressions.Expression (FullOpts)
40 (4.66 % of base) : 16624.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transShiftOp(Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`3[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.RuntimeMethodHandle):System.Linq.Expressions.Expression (FullOpts)
30 (10.79 % of base) : 20313.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
30 (1.60 % of base) : 295562.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:RewriteActivator(System.Reflection.TypeInfo,System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
30 (3.18 % of base) : 29682.dasm - System.Configuration.ConfigurationLockCollection:Add(System.String):this (FullOpts)
30 (3.18 % of base) : 214308.dasm - System.Configuration.ConfigurationLockCollection:Add(System.String):this (FullOpts)
26 (1.24 % of base) : 290749.dasm - System.Reflection.Emit.IgnoreAccessChecksToAttributeBuilder:AddToModule(System.Reflection.Emit.ModuleBuilder):System.Reflection.ConstructorInfo (FullOpts)
24 (1.26 % of base) : 15785.dasm - Microsoft.FSharp.Linq.QueryModule:TransFor@1295(int,ubyte,System.Type,Microsoft.FSharp.Quotations.FSharpVar,System.Type,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Quotations.FSharpExpr):System.Tuple`2[Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription] (FullOpts)
20 (1.02 % of base) : 205395.dasm - Microsoft.Build.BackEnd.TaskExecutionHost:FindTaskInRegistry(System.Collections.Generic.IDictionary`2[System.String,System.String]):Microsoft.Build.Execution.TaskFactoryWrapper:this (FullOpts)
20 (6.31 % of base) : 283527.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
20 (0.66 % of base) : 15780.dasm - Microsoft.FSharp.Linq.QueryModule:ConvMutableToImmutable(Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,Microsoft.FSharp.Quotations.FSharpExpr):Microsoft.FSharp.Quotations.FSharpExpr (FullOpts)
20 (3.41 % of base) : 137523.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateMethodCall[System.__Canon](System.Reflection.MethodBase):Newtonsoft.Json.Utilities.MethodCall`2[System.__Canon,System.__Canon]:this (FullOpts)
20 (3.84 % of base) : 137524.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateMethodCall[ubyte](System.Reflection.MethodBase):Newtonsoft.Json.Utilities.MethodCall`2[ubyte,System.Object]:this (FullOpts)
20 (2.21 % of base) : 137535.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[ubyte](System.Reflection.PropertyInfo):System.Action`2[ubyte,System.Object]:this (FullOpts)
20 (3.21 % of base) : 295532.dasm - System.Composition.TypedParts.Discovery.DiscoveredPropertyExport:GetExportDescriptor(System.Composition.Hosting.Core.CompositeActivator):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
Top method improvements (bytes):
-33 (-3.31 % of base) : 97913.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlnsAttribute(Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute:this (FullOpts)
-10 (-0.24 % of base) : 65485.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-9 (-1.57 % of base) : 178100.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
-8 (-0.32 % of base) : 133026.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
-6 (-0.11 % of base) : 43442.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions:ValidateOptions(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic]):this (FullOpts)
-6 (-0.21 % of base) : 119656.dasm - Microsoft.CodeAnalysis.VisualBasic.LambdaRewriter:MakeFrameCtor(Microsoft.CodeAnalysis.VisualBasic.LambdaFrame,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundBlock:this (FullOpts)
-4 (-0.04 % of base) : 258850.dasm - R2RTest.BuildFolderSet:WriteBuildStatistics(System.IO.StreamWriter):this (FullOpts)
-3 (-0.15 % of base) : 68384.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceUserDefinedOperatorSymbolBase:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol]]:this (FullOpts)
-3 (-0.33 % of base) : 97929.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlName(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
-3 (-0.36 % of base) : 97931.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlNamespace(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
-3 (-0.25 % of base) : 98127.dasm - Microsoft.CodeAnalysis.VisualBasic.DocumentationCommentCrefBinder:CollectSimpleNameSymbolsStrict(Microsoft.CodeAnalysis.VisualBasic.Syntax.SimpleNameSyntax,System.Collections.Generic.Dictionary`2[System.String,Microsoft.CodeAnalysis.VisualBasic.Symbols.CrefTypeParameterSymbol],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],ubyte,byref,ubyte):this (FullOpts)
-3 (-0.26 % of base) : 102381.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedSubmissionConstructorSymbol:.ctor(Microsoft.CodeAnalysis.SyntaxReference,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,ubyte,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
-3 (-0.06 % of base) : 121212.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilationOptions:ValidateOptions(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic]):this (FullOpts)
-3 (-0.64 % of base) : 252924.dasm - System.Net.HttpListenerResponse:Close(ubyte[],ubyte):this (FullOpts)
-3 (-0.59 % of base) : 252728.dasm - System.Net.HttpResponseStream:GetChunkSizeBytes(int,ubyte):ubyte[] (FullOpts)
-3 (-0.54 % of base) : 275501.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ArraySegment`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts)
-2 (-0.45 % of base) : 57356.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
-2 (-0.08 % of base) : 97906.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlElementWithoutAddingNamespaces(Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax,Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax,byref,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax],Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax],Microsoft.CodeAnalysis.VisualBasic.Binder+XmlElementRootInfo,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
-2 (-0.04 % of base) : 123554.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+TypeBinder:LookupTupleType(Microsoft.CodeAnalysis.VisualBasic.Syntax.TupleTypeSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol (FullOpts)
-2 (-0.53 % of base) : 98132.dasm - Microsoft.CodeAnalysis.VisualBasic.DocumentationCommentCrefBinder:CollectSimpleNameSymbolsStrict(System.String,int,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],ubyte,byref,ubyte):this (FullOpts)
Top method regressions (percentages):
13 (23.64 % of base) : 257775.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
13 (23.64 % of base) : 257779.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
13 (23.64 % of base) : 257763.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
13 (23.64 % of base) : 257767.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
13 (23.64 % of base) : 257758.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)
13 (23.64 % of base) : 295565.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
10 (23.26 % of base) : 206928.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
10 (16.13 % of base) : 78245.dasm - Microsoft.Diagnostics.Tracing.Stacks.StackSourceWriterHelper:GetExporterInfo():System.String (FullOpts)
13 (15.48 % of base) : 204340.dasm - Microsoft.Build.BackEnd.TaskParameterTypeVerifier:IsAssignableToITask(System.Type):ubyte (FullOpts)
10 (12.82 % of base) : 173171.dasm - Internal.TypeSystem.TypeSystemException+<>c:<.cctor>b__20_0():System.Resources.ResourceManager:this (FullOpts)
13 (11.50 % of base) : 295531.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:.cctor() (FullOpts)
30 (10.79 % of base) : 20313.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
13 (9.63 % of base) : 257771.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:.cctor() (FullOpts)
13 (9.42 % of base) : 76134.dasm - Dia2Lib.DiaLoader:GetDiaSourceObject():Dia2Lib.IDiaDataSource3 (FullOpts)
13 (8.78 % of base) : 295553.dasm - System.Composition.TypedParts.ActivationFeatures.DisposalFeature:RewriteActivator(System.Reflection.TypeInfo,System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
14 (8.54 % of base) : 43799.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
14 (8.54 % of base) : 106102.dasm - Microsoft.CodeAnalysis.VisualBasic.ErrorFactory:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
13 (8.33 % of base) : 245300.dasm - Xunit.Serialization.XunitSerializationInfo:GetValue[int](System.String):int:this (FullOpts)
13 (8.33 % of base) : 220392.dasm - Xunit.Serialization.XunitSerializationInfo:GetValue[int](System.String):int:this (FullOpts)
13 (8.28 % of base) : 245303.dasm - Xunit.Serialization.XunitSerializationInfo:GetValue[long](System.String):long:this (FullOpts)
Top method improvements (percentages):
-2 (-3.70 % of base) : 275502.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
-33 (-3.31 % of base) : 97913.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlnsAttribute(Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute:this (FullOpts)
-2 (-2.74 % of base) : 166813.dasm - System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
-9 (-1.57 % of base) : 178100.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
-2 (-0.74 % of base) : 111425.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ForBlockContext:EndBlock(Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.StatementSyntax):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.BlockContext:this (FullOpts)
-2 (-0.69 % of base) : 252579.dasm - System.IO.Ports.SerialStream:Write(ubyte[],int,int,int):this (FullOpts)
-3 (-0.64 % of base) : 252924.dasm - System.Net.HttpListenerResponse:Close(ubyte[],ubyte):this (FullOpts)
-2 (-0.59 % of base) : 252571.dasm - System.IO.Ports.SerialStream:Read(ubyte[],int,int,int):int:this (FullOpts)
-3 (-0.59 % of base) : 252728.dasm - System.Net.HttpResponseStream:GetChunkSizeBytes(int,ubyte):ubyte[] (FullOpts)
-3 (-0.54 % of base) : 275501.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ArraySegment`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts)
-2 (-0.53 % of base) : 98132.dasm - Microsoft.CodeAnalysis.VisualBasic.DocumentationCommentCrefBinder:CollectSimpleNameSymbolsStrict(System.String,int,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],ubyte,byref,ubyte):this (FullOpts)
-2 (-0.45 % of base) : 57356.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
-3 (-0.36 % of base) : 97931.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlNamespace(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
-3 (-0.33 % of base) : 97929.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlName(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
-8 (-0.32 % of base) : 133026.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
-3 (-0.26 % of base) : 102381.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedSubmissionConstructorSymbol:.ctor(Microsoft.CodeAnalysis.SyntaxReference,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,ubyte,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
-3 (-0.25 % of base) : 98127.dasm - Microsoft.CodeAnalysis.VisualBasic.DocumentationCommentCrefBinder:CollectSimpleNameSymbolsStrict(Microsoft.CodeAnalysis.VisualBasic.Syntax.SimpleNameSyntax,System.Collections.Generic.Dictionary`2[System.String,Microsoft.CodeAnalysis.VisualBasic.Symbols.CrefTypeParameterSymbol],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],ubyte,byref,ubyte):this (FullOpts)
-10 (-0.24 % of base) : 65485.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-6 (-0.21 % of base) : 119656.dasm - Microsoft.CodeAnalysis.VisualBasic.LambdaRewriter:MakeFrameCtor(Microsoft.CodeAnalysis.VisualBasic.LambdaFrame,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundBlock:this (FullOpts)
-3 (-0.15 % of base) : 68384.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceUserDefinedOperatorSymbolBase:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol]]:this (FullOpts)
libraries_tests.run.linux.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 331729851 (overridden on cmd)
Total bytes of diff: 331749721 (overridden on cmd)
Total bytes of delta: 19870 (0.01 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
40 : 597470.dasm (0.33 % of base)
29 : 106647.dasm (0.69 % of base)
28 : 122803.dasm (9.79 % of base)
26 : 70701.dasm (2.32 % of base)
20 : 127523.dasm (0.96 % of base)
20 : 127569.dasm (0.87 % of base)
20 : 209142.dasm (0.15 % of base)
20 : 452053.dasm (0.79 % of base)
20 : 596694.dasm (0.54 % of base)
20 : 127524.dasm (4.02 % of base)
20 : 135839.dasm (0.69 % of base)
20 : 306630.dasm (2.93 % of base)
20 : 524644.dasm (0.16 % of base)
20 : 597487.dasm (0.35 % of base)
20 : 135908.dasm (0.89 % of base)
14 : 127802.dasm (0.36 % of base)
14 : 127447.dasm (0.17 % of base)
13 : 336844.dasm (2.38 % of base)
13 : 593087.dasm (2.38 % of base)
13 : 597844.dasm (2.38 % of base)
Top file improvements (bytes):
-17 : 48006.dasm (-9.83 % of base)
-17 : 721972.dasm (-9.83 % of base)
-17 : 92892.dasm (-9.83 % of base)
-9 : 656845.dasm (-15.79 % of base)
-6 : 620557.dasm (-1.13 % of base)
-6 : 621350.dasm (-1.13 % of base)
-6 : 621762.dasm (-1.13 % of base)
-6 : 622209.dasm (-1.13 % of base)
-6 : 634997.dasm (-1.13 % of base)
-6 : 639326.dasm (-1.13 % of base)
-6 : 640093.dasm (-1.13 % of base)
-6 : 647117.dasm (-1.13 % of base)
-6 : 649282.dasm (-1.13 % of base)
-6 : 649293.dasm (-1.13 % of base)
-6 : 651101.dasm (-1.13 % of base)
-6 : 651241.dasm (-1.13 % of base)
-6 : 651258.dasm (-1.13 % of base)
-6 : 651857.dasm (-1.13 % of base)
-6 : 652057.dasm (-1.13 % of base)
-6 : 652650.dasm (-1.13 % of base)
63 total files with Code Size differences (23 improved, 40 regressed), 20 unchanged.
Top method regressions (bytes):
40 (0.33 % of base) : 597470.dasm - System.Text.Tests.TranscodingStreamTests+<RunReadTestAsync>d__29:MoveNext():this (Tier1)
29 (0.69 % of base) : 106647.dasm - System.Runtime.CompilerServices.CallSiteBinder:BindCore[System.__Canon](System.Runtime.CompilerServices.CallSite`1[System.__Canon],System.Object[]):System.__Canon:this (Tier1)
28 (9.79 % of base) : 122803.dasm - System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
26 (2.32 % of base) : 70701.dasm - System.Reflection.FieldAccessor:Initialize():this (Instrumented Tier1)
20 (0.96 % of base) : 127523.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactory(System.Type,System.Type[]):Microsoft.Extensions.DependencyInjection.ObjectFactory (Tier1)
20 (4.02 % of base) : 127524.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (Tier1)
20 (0.87 % of base) : 127569.dasm - Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests:CreateInstanceFromFactory(System.IServiceProvider,System.Type,System.Object[]):System.Object (Tier1)
20 (0.69 % of base) : 135839.dasm - Microsoft.Extensions.Hosting.HostBuilder:Build():Microsoft.Extensions.Hosting.IHost:this (Tier1)
20 (0.89 % of base) : 135908.dasm - Microsoft.Extensions.Hosting.HostBuilder:ResolveHost(System.IServiceProvider,System.Diagnostics.DiagnosticListener):Microsoft.Extensions.Hosting.IHost (Tier1)
20 (2.93 % of base) : 306630.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (Tier0-FullOpts)
20 (0.54 % of base) : 596694.dasm - Moq.ExpressionExtensions:IsMatch(System.Linq.Expressions.Expression,byref):ubyte (Tier1)
20 (0.35 % of base) : 597487.dasm - Moq.It:IsAny[System.Memory`1[ubyte]]():System.Memory`1[ubyte] (Tier1)
20 (0.15 % of base) : 209142.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
20 (0.16 % of base) : 524644.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
20 (0.79 % of base) : 452053.dasm - System.Xml.Serialization.XmlSerializationILGen:.ctor(System.Xml.Serialization.TypeScope[],System.String,System.String):this (Tier1)
14 (0.17 % of base) : 127447.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateInstance(System.IServiceProvider,System.Type,System.Object[]):System.Object (Tier1)
14 (0.36 % of base) : 127802.dasm - Microsoft.Extensions.DependencyInjection.Tests.ServiceProviderContainerTests:MultipleServicesAreOrdered(int):this (Tier1)
13 (1.74 % of base) : 747256.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
13 (1.74 % of base) : 750536.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
13 (7.88 % of base) : 211712.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
Top method improvements (bytes):
-17 (-9.83 % of base) : 48006.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
-17 (-9.83 % of base) : 721972.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
-17 (-9.83 % of base) : 92892.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
-9 (-15.79 % of base) : 656845.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
-6 (-1.13 % of base) : 622209.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 634997.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 649293.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 621762.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 620557.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 647117.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 651241.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 651101.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.DateTime]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 651857.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.DateTimeOffset]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 651258.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Guid]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 652057.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[System.DateTimeOffset]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 652650.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.JsonElement]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 621350.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.ReferenceHandlerTests_IgnoreCycles+EmptyStruct]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 639326.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.ReferenceHandlerTests+JobStruct]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 649282.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.SimpleStruct]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 640093.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.TimeSpan]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
Top method regressions (percentages):
28 (9.79 % of base) : 122803.dasm - System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
13 (7.88 % of base) : 211712.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
13 (7.88 % of base) : 70468.dasm - System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
13 (7.88 % of base) : 89710.dasm - System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
20 (4.02 % of base) : 127524.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (Tier1)
10 (3.91 % of base) : 315785.dasm - System.Globalization.CompareInfo:GetCompareInfo(int,System.Reflection.Assembly):System.Globalization.CompareInfo (Instrumented Tier1)
10 (3.39 % of base) : 315786.dasm - System.Globalization.CompareInfo:GetCompareInfo(System.String,System.Reflection.Assembly):System.Globalization.CompareInfo (Instrumented Tier1)
20 (2.93 % of base) : 306630.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (Tier0-FullOpts)
10 (2.78 % of base) : 540733.dasm - System.Text.StringBuilder:AppendSpanFormattable[ulong](ulong):System.Text.StringBuilder:this (Instrumented Tier1)
10 (2.60 % of base) : 540751.dasm - System.Text.StringBuilder:AppendSpanFormattable[System.Decimal](System.Decimal):System.Text.StringBuilder:this (Instrumented Tier1)
10 (2.44 % of base) : 643053.dasm - System.Text.StringBuilder:AppendSpanFormattable[double](double):System.Text.StringBuilder:this (Instrumented Tier1)
13 (2.38 % of base) : 336844.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
13 (2.38 % of base) : 593087.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
13 (2.38 % of base) : 597844.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
13 (2.38 % of base) : 744015.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
13 (2.38 % of base) : 747108.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
13 (2.38 % of base) : 135192.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
13 (2.38 % of base) : 255596.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
13 (2.38 % of base) : 742104.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
13 (2.38 % of base) : 95812.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
Top method improvements (percentages):
-9 (-15.79 % of base) : 656845.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
-17 (-9.83 % of base) : 48006.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
-17 (-9.83 % of base) : 721972.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
-17 (-9.83 % of base) : 92892.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
-3 (-1.27 % of base) : 408936.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (Tier1)
-3 (-1.27 % of base) : 418026.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (Tier1)
-3 (-1.27 % of base) : 571916.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (Tier1)
-6 (-1.13 % of base) : 622209.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 634997.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 649293.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 621762.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 620557.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 651241.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 651101.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.DateTime]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 651857.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.DateTimeOffset]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 651258.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Guid]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 652057.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[System.DateTimeOffset]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 652650.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.JsonElement]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 621350.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.ReferenceHandlerTests_IgnoreCycles+EmptyStruct]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
-6 (-1.13 % of base) : 639326.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.ReferenceHandlerTests+JobStruct]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
librariestestsnotieredcompilation.run.linux.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 132523929 (overridden on cmd)
Total bytes of diff: 132542858 (overridden on cmd)
Total bytes of delta: 18929 (0.01 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
202 : 262830.dasm (13.65 % of base)
150 : 88653.dasm (1.73 % of base)
150 : 88758.dasm (1.73 % of base)
150 : 88762.dasm (1.73 % of base)
150 : 88636.dasm (1.73 % of base)
90 : 84222.dasm (1.74 % of base)
90 : 84282.dasm (1.76 % of base)
80 : 88767.dasm (1.54 % of base)
80 : 88641.dasm (1.53 % of base)
80 : 88751.dasm (1.54 % of base)
80 : 84186.dasm (2.01 % of base)
80 : 88622.dasm (1.53 % of base)
72 : 89464.dasm (3.33 % of base)
70 : 88759.dasm (1.59 % of base)
70 : 88679.dasm (1.60 % of base)
70 : 88760.dasm (1.60 % of base)
70 : 88761.dasm (1.59 % of base)
70 : 231617.dasm (1.43 % of base)
70 : 87480.dasm (1.49 % of base)
60 : 136592.dasm (2.14 % of base)
Top file improvements (bytes):
-150 : 144814.dasm (-2.38 % of base)
-10 : 45797.dasm (-0.35 % of base)
-10 : 52432.dasm (-0.35 % of base)
-10 : 5484.dasm (-0.30 % of base)
-9 : 104205.dasm (-1.97 % of base)
-9 : 104965.dasm (-1.96 % of base)
-9 : 104029.dasm (-1.97 % of base)
-9 : 105009.dasm (-1.97 % of base)
-9 : 103309.dasm (-1.97 % of base)
-9 : 105033.dasm (-1.97 % of base)
-9 : 104913.dasm (-1.96 % of base)
-9 : 104945.dasm (-1.97 % of base)
-9 : 105057.dasm (-1.97 % of base)
-9 : 105081.dasm (-1.96 % of base)
-9 : 105101.dasm (-1.97 % of base)
-9 : 105109.dasm (-1.97 % of base)
-9 : 105153.dasm (-1.96 % of base)
-9 : 105169.dasm (-1.97 % of base)
-9 : 106109.dasm (-1.97 % of base)
-9 : 106133.dasm (-1.97 % of base)
73 total files with Code Size differences (30 improved, 43 regressed), 20 unchanged.
Top method regressions (bytes):
202 (13.65 % of base) : 262830.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:GetNumbersExpectedString(System.Text.Json.JsonWriterOptions,System.String,int[],uint[],long[],ulong[],float[],double[],System.Decimal[],ubyte):System.String (FullOpts)
150 (1.73 % of base) : 88762.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeObject_RemovesProvider():this (FullOpts)
150 (1.73 % of base) : 88636.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeType_RemovesProvider():this (FullOpts)
150 (1.73 % of base) : 88758.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeObject_RemovesProvider():this (FullOpts)
150 (1.73 % of base) : 88653.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeType_RemovesProvider():this (FullOpts)
90 (1.76 % of base) : 84282.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
90 (1.74 % of base) : 84222.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameReverseOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
80 (2.01 % of base) : 84186.dasm - System.ComponentModel.Composition.DirectoryCatalogTests:GetExports():this (FullOpts)
80 (1.53 % of base) : 88641.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
80 (1.54 % of base) : 88751.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
80 (1.53 % of base) : 88622.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
80 (1.54 % of base) : 88767.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
72 (3.33 % of base) : 89464.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[int]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],int] (FullOpts)
70 (1.49 % of base) : 87480.dasm - System.ComponentModel.Tests.TypeDescriptionProviderTests:GetFullComponentName_InvokeWithCustomTypeDescriptor_ReturnsExpected(System.Object,System.String):this (FullOpts)
70 (1.59 % of base) : 88759.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
70 (1.60 % of base) : 88760.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeType_GetProviderReturnsExpected():this (FullOpts)
70 (1.59 % of base) : 88761.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
70 (1.60 % of base) : 88679.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeType_GetProviderReturnsExpected():this (FullOpts)
70 (1.43 % of base) : 231617.dasm - System.Text.Tests.TranscodingStreamTests:Flush_FlushesInnerStreamButNotDecodedState():this (FullOpts)
60 (2.14 % of base) : 136592.dasm - System.Linq.Tests.GroupJoinTests:OuterEmptyInnerNonEmpty():this (FullOpts)
Top method improvements (bytes):
-150 (-2.38 % of base) : 144814.dasm - System.Buffers.Binary.Tests.BinaryReaderUnitTests:SpanWriteAndReadBigEndianHeterogeneousStruct():this (FullOpts)
-10 (-0.35 % of base) : 45797.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-10 (-0.35 % of base) : 52432.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-10 (-0.30 % of base) : 5484.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-9 (-1.97 % of base) : 104205.dasm - Dynamic.Operator.Tests.AndEqualTypeTests+<>c__DisplayClass2_0:<Char>b__1():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 104029.dasm - Dynamic.Operator.Tests.AndEqualTypeTests+<>c__DisplayClass6_0:<Int>b__1():System.Object:this (FullOpts)
-9 (-2.09 % of base) : 107461.dasm - Dynamic.Operator.Tests.DivideEqualLiftTests+<>c__DisplayClass10_0:<Short>b__3():System.Object:this (FullOpts)
-9 (-2.09 % of base) : 107480.dasm - Dynamic.Operator.Tests.DivideEqualLiftTests+<>c__DisplayClass13_0:<ULong>b__2():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 106109.dasm - Dynamic.Operator.Tests.MinusEqualsTypeTests+<>c__DisplayClass8_0:<Object>b__3():System.Object:this (FullOpts)
-9 (-2.09 % of base) : 115289.dasm - Dynamic.Operator.Tests.ShiftLeftEqualLiftTests+<>c__DisplayClass10_0:<Short>b__4():System.Object:this (FullOpts)
-9 (-2.09 % of base) : 115199.dasm - Dynamic.Operator.Tests.ShiftLeftEqualLiftTests+<>c__DisplayClass9_0:<SByte>b__4():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 106133.dasm - Dynamic.Operator.Tests.ShiftLeftEqualTypeTests+<>c__DisplayClass10_0:<Short>b__1():System.Object:this (FullOpts)
-9 (-2.09 % of base) : 114362.dasm - Dynamic.Operator.Tests.ShiftRightEqualLiftTests+<>c__DisplayClass10_0:<Short>b__4():System.Object:this (FullOpts)
-9 (-2.09 % of base) : 114276.dasm - Dynamic.Operator.Tests.ShiftRightEqualLiftTests+<>c__DisplayClass9_0:<SByte>b__4():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 103309.dasm - Dynamic.Operator.Tests.TimesEqualTypeTests+<>c__DisplayClass11_0:<String>b__3():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 105109.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass13_0:<ULong>b__5():System.Object:this (FullOpts)
-9 (-1.96 % of base) : 104913.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass14_0:<UShort>b__2():System.Object:this (FullOpts)
-9 (-1.96 % of base) : 105081.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass2_0:<Char>b__2():System.Object:this (FullOpts)
-9 (-1.96 % of base) : 104965.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass5_0:<Float>b__4():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 105169.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass8_0:<Object>b__13():System.Object:this (FullOpts)
Top method regressions (percentages):
10 (38.46 % of base) : 177994.dasm - System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
13 (30.95 % of base) : 200310.dasm - System.Tests.Types.GenericTypeParameter2Of2Tests:CreateType():System.Type:this (FullOpts)
13 (30.23 % of base) : 35517.dasm - LightInject.ServiceContainer:<EmitNewInstance>g__IsNotServiceFactory|175_0(System.Type):ubyte (FullOpts)
13 (25.00 % of base) : 185033.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumNames_TypeNotEnum_ThrowsArgumentException>b__16_0():System.Object:this (FullOpts)
13 (25.00 % of base) : 184811.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumUnderlyingType_TypeNotEnum_ThrowsArgumentException>b__18_0():System.Object:this (FullOpts)
13 (24.53 % of base) : 184955.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredEvent_NullName_ThrowsArgumentNullException>b__67_0():System.Object:this (FullOpts)
13 (24.07 % of base) : 184966.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredField_NullName_ThrowsArgumentNullException>b__68_0():System.Object:this (FullOpts)
13 (24.07 % of base) : 185012.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredMethod_NullName_ThrowsArgumentNullException>b__69_0():System.Object:this (FullOpts)
13 (24.07 % of base) : 184778.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredNestedType_NullName_ThrowsArgumentNullException>b__71_0():System.Object:this (FullOpts)
13 (24.07 % of base) : 184986.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumName_Invalid>b__13_1():System.Object:this (FullOpts)
13 (23.64 % of base) : 35518.dasm - LightInject.ServiceContainer:.cctor() (FullOpts)
13 (23.64 % of base) : 35514.dasm - LightInject.ServiceFactoryLoader:.cctor() (FullOpts)
13 (23.64 % of base) : 89827.dasm - Microsoft.Composition.Demos.ExtendedCollectionImports.Dictionaries.DictionaryExportDescriptorProvider:.cctor() (FullOpts)
13 (23.64 % of base) : 29595.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
13 (23.64 % of base) : 42124.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
13 (23.64 % of base) : 89431.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
13 (23.64 % of base) : 29559.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
13 (23.64 % of base) : 41951.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
13 (23.64 % of base) : 89368.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
13 (23.64 % of base) : 89055.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
Top method improvements (percentages):
-9 (-20.45 % of base) : 21355.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
-2 (-3.70 % of base) : 158872.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
-2 (-2.60 % of base) : 131187.dasm - System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
-150 (-2.38 % of base) : 144814.dasm - System.Buffers.Binary.Tests.BinaryReaderUnitTests:SpanWriteAndReadBigEndianHeterogeneousStruct():this (FullOpts)
-2 (-2.20 % of base) : 35503.dasm - Autofac.Core.Resolving.Pipeline.DefaultResolveRequestContext:ChangeScope(Autofac.Core.ISharingLifetimeScope):this (FullOpts)
-9 (-2.09 % of base) : 107461.dasm - Dynamic.Operator.Tests.DivideEqualLiftTests+<>c__DisplayClass10_0:<Short>b__3():System.Object:this (FullOpts)
-9 (-2.09 % of base) : 107480.dasm - Dynamic.Operator.Tests.DivideEqualLiftTests+<>c__DisplayClass13_0:<ULong>b__2():System.Object:this (FullOpts)
-9 (-2.09 % of base) : 115289.dasm - Dynamic.Operator.Tests.ShiftLeftEqualLiftTests+<>c__DisplayClass10_0:<Short>b__4():System.Object:this (FullOpts)
-9 (-2.09 % of base) : 115199.dasm - Dynamic.Operator.Tests.ShiftLeftEqualLiftTests+<>c__DisplayClass9_0:<SByte>b__4():System.Object:this (FullOpts)
-9 (-2.09 % of base) : 114362.dasm - Dynamic.Operator.Tests.ShiftRightEqualLiftTests+<>c__DisplayClass10_0:<Short>b__4():System.Object:this (FullOpts)
-9 (-2.09 % of base) : 114276.dasm - Dynamic.Operator.Tests.ShiftRightEqualLiftTests+<>c__DisplayClass9_0:<SByte>b__4():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 104205.dasm - Dynamic.Operator.Tests.AndEqualTypeTests+<>c__DisplayClass2_0:<Char>b__1():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 104029.dasm - Dynamic.Operator.Tests.AndEqualTypeTests+<>c__DisplayClass6_0:<Int>b__1():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 106109.dasm - Dynamic.Operator.Tests.MinusEqualsTypeTests+<>c__DisplayClass8_0:<Object>b__3():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 106133.dasm - Dynamic.Operator.Tests.ShiftLeftEqualTypeTests+<>c__DisplayClass10_0:<Short>b__1():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 103309.dasm - Dynamic.Operator.Tests.TimesEqualTypeTests+<>c__DisplayClass11_0:<String>b__3():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 105109.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass13_0:<ULong>b__5():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 105169.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass8_0:<Object>b__13():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 105057.dasm - Dynamic.Operator.Tests.XorEqualTypeTests+<>c__DisplayClass12_0:<UInt>b__1():System.Object:this (FullOpts)
-9 (-1.97 % of base) : 105101.dasm - Dynamic.Operator.Tests.XorEqualTypeTests+<>c__DisplayClass14_0:<UShort>b__1():System.Object:this (FullOpts)
realworld.run.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 13233730 (overridden on cmd)
Total bytes of diff: 13234125 (overridden on cmd)
Total bytes of delta: 395 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
60 : 32789.dasm (2.76 % of base)
20 : 30209.dasm (0.58 % of base)
20 : 32312.dasm (2.86 % of base)
20 : 2204.dasm (2.93 % of base)
20 : 31458.dasm (0.77 % of base)
20 : 32189.dasm (2.62 % of base)
20 : 32313.dasm (4.65 % of base)
20 : 33232.dasm (3.00 % of base)
13 : 12641.dasm (8.78 % of base)
10 : 11547.dasm (7.69 % of base)
10 : 2867.dasm (1.54 % of base)
10 : 11219.dasm (0.63 % of base)
10 : 3332.dasm (10.00 % of base)
10 : 11240.dasm (2.89 % of base)
10 : 17994.dasm (2.09 % of base)
10 : 26452.dasm (7.69 % of base)
10 : 32082.dasm (0.89 % of base)
10 : 3295.dasm (23.26 % of base)
10 : 32680.dasm (2.02 % of base)
8 : 32920.dasm (0.30 % of base)
Top file improvements (bytes):
-27 : 3305.dasm (-7.11 % of base)
-10 : 19815.dasm (-0.32 % of base)
-9 : 3273.dasm (-3.63 % of base)
-4 : 15478.dasm (-0.04 % of base)
-3 : 14917.dasm (-1.09 % of base)
-3 : 21936.dasm (-0.15 % of base)
-2 : 10422.dasm (-0.03 % of base)
-2 : 17438.dasm (-0.44 % of base)
-2 : 20542.dasm (-0.05 % of base)
-2 : 15474.dasm (-0.10 % of base)
-1 : 10427.dasm (-0.05 % of base)
-1 : 3200.dasm (-0.02 % of base)
-1 : 24182.dasm (-0.04 % of base)
38 total files with Code Size differences (13 improved, 25 regressed), 26 unchanged.
Top method regressions (bytes):
60 (2.76 % of base) : 32789.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
20 (2.93 % of base) : 2204.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (FullOpts)
20 (3.00 % of base) : 33232.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
20 (4.65 % of base) : 32313.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
20 (2.86 % of base) : 32312.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
20 (0.58 % of base) : 30209.dasm - System.Management.Automation.Language.Compiler:.cctor() (FullOpts)
20 (0.77 % of base) : 31458.dasm - System.Management.Automation.LocationGlobber:ResolveDriveQualifiedPath(System.String,System.Management.Automation.CmdletProviderContext,ubyte,byref):System.Collections.ObjectModel.Collection`1[System.Management.Automation.PathInfo]:this (FullOpts)
20 (2.62 % of base) : 32189.dasm - System.Runtime.CompilerServices.CallSiteBinder:Stitch[System.__Canon](System.Linq.Expressions.Expression,System.Runtime.CompilerServices.CallSiteBinder+LambdaSignature`1[System.__Canon]):System.Linq.Expressions.Expression`1[System.__Canon] (FullOpts)
13 (8.78 % of base) : 12641.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
10 (0.63 % of base) : 11219.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
10 (2.89 % of base) : 11240.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
10 (1.54 % of base) : 2867.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
10 (2.02 % of base) : 32680.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
10 (23.26 % of base) : 3295.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
10 (10.00 % of base) : 3332.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
10 (7.69 % of base) : 26452.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
10 (0.89 % of base) : 32082.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
10 (2.09 % of base) : 17994.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
10 (7.69 % of base) : 11547.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
8 (0.30 % of base) : 32920.dasm - System.Management.Automation.MergedCommandParameterMetadata:GetMatchingParameter(System.String,ubyte,ubyte,System.Management.Automation.InvocationInfo):System.Management.Automation.MergedCompiledCommandParameter:this (FullOpts)
Top method improvements (bytes):
-27 (-7.11 % of base) : 3305.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
-10 (-0.32 % of base) : 19815.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-9 (-3.63 % of base) : 3273.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)
-4 (-0.04 % of base) : 15478.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
-3 (-0.15 % of base) : 21936.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceUserDefinedOperatorSymbolBase:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol]]:this (FullOpts)
-3 (-1.09 % of base) : 14917.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
-2 (-0.03 % of base) : 10422.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2269(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,FSharp.Compiler.TypedTree+TType,Microsoft.FSharp.Core.Unit) (FullOpts)
-2 (-0.05 % of base) : 20542.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterConstraintClause]]:this (FullOpts)
-2 (-0.44 % of base) : 17438.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
-2 (-0.10 % of base) : 15474.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
-1 (-0.02 % of base) : 3200.dasm - FSharp.Compiler.CompilerImports:TcConfig.TryResolveLibsUsingMSBuildRules.Static(FSharp.Compiler.CompilerConfig+TcConfig,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+AssemblyReference],FSharp.Compiler.Text.Range,FSharp.Compiler.CompilerImports+ResolveAssemblyReferenceMode):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerImports+AssemblyResolution],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+UnresolvedAssemblyReference]] (FullOpts)
-1 (-0.05 % of base) : 10427.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2424-1(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Infos+MethInfo],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Infos+MethInfo],Microsoft.FSharp.Core.Unit) (FullOpts)
-1 (-0.04 % of base) : 24182.dasm - Microsoft.CodeAnalysis.CSharp.Symbol:BindAttributes(Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax]],Microsoft.CodeAnalysis.CSharp.Binder):System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.CSharp.BoundAttribute]]:this (FullOpts)
Top method regressions (percentages):
10 (23.26 % of base) : 3295.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
10 (10.00 % of base) : 3332.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
13 (8.78 % of base) : 12641.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
10 (7.69 % of base) : 26452.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
10 (7.69 % of base) : 11547.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
20 (4.65 % of base) : 32313.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
20 (3.00 % of base) : 33232.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
20 (2.93 % of base) : 2204.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (FullOpts)
10 (2.89 % of base) : 11240.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
20 (2.86 % of base) : 32312.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
60 (2.76 % of base) : 32789.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
20 (2.62 % of base) : 32189.dasm - System.Runtime.CompilerServices.CallSiteBinder:Stitch[System.__Canon](System.Linq.Expressions.Expression,System.Runtime.CompilerServices.CallSiteBinder+LambdaSignature`1[System.__Canon]):System.Linq.Expressions.Expression`1[System.__Canon] (FullOpts)
10 (2.09 % of base) : 17994.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
10 (2.02 % of base) : 32680.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
3 (1.81 % of base) : 23048.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:HasInitializer(Microsoft.CodeAnalysis.CSharp.Symbol):ubyte (FullOpts)
3 (1.78 % of base) : 20984.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbolBase:GetAttributesBag():Microsoft.CodeAnalysis.CustomAttributesBag`1[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData]:this (FullOpts)
10 (1.54 % of base) : 2867.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
3 (1.00 % of base) : 23886.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:Join(byref):this (FullOpts)
10 (0.89 % of base) : 32082.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
20 (0.77 % of base) : 31458.dasm - System.Management.Automation.LocationGlobber:ResolveDriveQualifiedPath(System.String,System.Management.Automation.CmdletProviderContext,ubyte,byref):System.Collections.ObjectModel.Collection`1[System.Management.Automation.PathInfo]:this (FullOpts)
Top method improvements (percentages):
-27 (-7.11 % of base) : 3305.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
-9 (-3.63 % of base) : 3273.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)
-3 (-1.09 % of base) : 14917.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
-2 (-0.44 % of base) : 17438.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
-10 (-0.32 % of base) : 19815.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
-3 (-0.15 % of base) : 21936.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceUserDefinedOperatorSymbolBase:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol]]:this (FullOpts)
-2 (-0.10 % of base) : 15474.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
-1 (-0.05 % of base) : 10427.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2424-1(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Infos+MethInfo],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Infos+MethInfo],Microsoft.FSharp.Core.Unit) (FullOpts)
-2 (-0.05 % of base) : 20542.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterConstraintClause]]:this (FullOpts)
-1 (-0.04 % of base) : 24182.dasm - Microsoft.CodeAnalysis.CSharp.Symbol:BindAttributes(Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax]],Microsoft.CodeAnalysis.CSharp.Binder):System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.CSharp.BoundAttribute]]:this (FullOpts)
-4 (-0.04 % of base) : 15478.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
-2 (-0.03 % of base) : 10422.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2269(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,FSharp.Compiler.TypedTree+TType,Microsoft.FSharp.Core.Unit) (FullOpts)
-1 (-0.02 % of base) : 3200.dasm - FSharp.Compiler.CompilerImports:TcConfig.TryResolveLibsUsingMSBuildRules.Static(FSharp.Compiler.CompilerConfig+TcConfig,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+AssemblyReference],FSharp.Compiler.Text.Range,FSharp.Compiler.CompilerImports+ResolveAssemblyReferenceMode):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerImports+AssemblyResolution],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+UnresolvedAssemblyReference]] (FullOpts)
smoke_tests.nativeaot.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 4251108 (overridden on cmd)
Total bytes of diff: 4251208 (overridden on cmd)
Total bytes of delta: 100 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
25 : 20329.dasm (9.19 % of base)
25 : 272.dasm (9.19 % of base)
25 : 2981.dasm (9.19 % of base)
25 : 23126.dasm (9.19 % of base)
4 total files with Code Size differences (0 improved, 4 regressed), 0 unchanged.
Top method regressions (bytes):
25 (9.19 % of base) : 20329.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
25 (9.19 % of base) : 272.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
25 (9.19 % of base) : 2981.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
25 (9.19 % of base) : 23126.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
Top method regressions (percentages):
25 (9.19 % of base) : 20329.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
25 (9.19 % of base) : 272.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
25 (9.19 % of base) : 2981.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
25 (9.19 % of base) : 23126.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
4 total methods with Code Size differences (0 improved, 4 regressed).