Assembly Diffs

osx arm64

Diffs are based on 2,293,437 contexts (933,876 MinOpts, 1,359,561 FullOpts).

MISSED contexts: base: 0 (0.00%), diff: 6 (0.00%)

Overall (-193,772 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,256,032 -884
benchmarks.run_pgo.osx.arm64.checked.mch 34,290,048 -880
benchmarks.run_tiered.osx.arm64.checked.mch 15,676,392 -136
coreclr_tests.run.osx.arm64.checked.mch 491,746,024 -161,096
libraries.pmi.osx.arm64.checked.mch 81,113,832 -7,696
libraries_tests.run.osx.arm64.Release.mch 313,602,060 -10,064
librariestestsnotieredcompilation.run.osx.arm64.Release.mch 161,383,428 -9,660
realworld.run.osx.arm64.checked.mch 15,058,504 -3,356

FullOpts (-193,772 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.osx.arm64.checked.mch 11,255,496 -884
benchmarks.run_pgo.osx.arm64.checked.mch 17,918,744 -880
benchmarks.run_tiered.osx.arm64.checked.mch 4,041,912 -136
coreclr_tests.run.osx.arm64.checked.mch 153,251,180 -161,096
libraries.pmi.osx.arm64.checked.mch 80,992,704 -7,696
libraries_tests.run.osx.arm64.Release.mch 110,669,088 -10,064
librariestestsnotieredcompilation.run.osx.arm64.Release.mch 148,335,340 -9,660
realworld.run.osx.arm64.checked.mch 14,501,608 -3,356

Example diffs

benchmarks.run.osx.arm64.checked.mch

-12 (-21.43%) : 12391.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, #1 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%) : 6727.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, #1 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, #1 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, #1 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, #1 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%) : 9492.dasm - System.Net.SafeDeleteSslContext:get_IsInvalid():ubyte: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 <System.Net.SafeDeleteSslContext>
+; V00 this [V00,T01] ( 3, 3 ) ref -> x0 this class-hnd single-def <System.Net.SafeDeleteSslContext>
;# 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_M62171_IG04: ; bbWeight=0.50, epilog, nogc, extend ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M62171_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, #1 LSL #32 - ldr x1, [x1]
+ ldr x1, [x0] + ldr x1, [x1, #0x48]
ldr x1, [x1, #0x20]
- ;; size=20 bbWeight=0.50 PerfScore 3.75
+ ;; size=12 bbWeight=0.50 PerfScore 4.50
G_M62171_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=a01f0d24) for method System.Net.SafeDeleteSslContext:get_IsInvalid():ubyte:this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 12.25, instruction count 12, allocated bytes for code 48 (MethodHash=a01f0d24) for method System.Net.SafeDeleteSslContext:get_IsInvalid():ubyte: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)

+36 (+1.10%) : 7882.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, #1 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, #1 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, #1 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, #1 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, #1 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, #1 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, #1 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, #1 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, #1 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%) : 5507.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, #1 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, #1 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, #1 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, #1 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, #1 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, #1 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%) : 5490.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, #1 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, #1 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, #1 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.osx.arm64.checked.mch

-16 (-0.83%) : 30931.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)

@@ -8,8 +8,8 @@ ; 14 inlinees with PGO data; 58 single block inlinees; 19 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, #1 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, #1 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%) : 53389.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.62) 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, #1 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=F00104 {x2 x8 x20 x21 x22 x23}, by b G_M44692_IG23 ;; size=60 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1172, prolog size 60, PerfScore 91.01, instruction count 293, allocated bytes for code 1172 (MethodHash=aaa7516b) for method Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
+; Total bytes of code 1164, prolog size 60, PerfScore 91.01, instruction count 291, allocated bytes for code 1164 (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 : 293 (0x00125) Actual length = 1172 (0x000494)
+ Function Length : 291 (0x00123) Actual length = 1164 (0x00048c)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-16 (-0.48%) : 55064.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary2[System.String,System.Collections.Generic.List1[System.Reflection.RuntimePropertyInfo]],System.Span1[ubyte],ubyte,byref):this (Tier1)

@@ -22,7 +22,7 @@ ; V10 loc3 [V10,T58] ( 3, 3.71) int -> x26 ; V11 loc4 [V11,T16] ( 9, 15.12) int -> x24 ; V12 loc5 [V12,T20] ( 9, 15.76) int -> x27
-; V13 loc6 [V13,T10] ( 11, 20.79) ref -> x27 class-hnd exact <System.Reflection.RuntimePropertyInfo>
+; V13 loc6 [V13,T09] ( 13, 23.04) ref -> x27 class-hnd exact <System.Reflection.RuntimePropertyInfo>
; V14 loc7 [V14 ] ( 2, 4.24) ubyte -> [fp+0x138] 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> @@ -92,7 +92,7 @@ ; V80 tmp56 [V80,T85] ( 3, 0.56) ubyte -> x0 "Inline return value spill temp" ;* V81 tmp57 [V81 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V82 tmp58 [V82 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V83 tmp59 [V83,T09] ( 6, 21.18) ref -> [fp+0x50] class-hnd exact spill-single-def ptr "Inlining Arg" <System.RuntimeType+RuntimeTypeCache>
+; V83 tmp59 [V83,T10] ( 6, 21.18) ref -> [fp+0x50] class-hnd exact spill-single-def ptr "Inlining Arg" <System.RuntimeType+RuntimeTypeCache>
;* V84 tmp60 [V84 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Reflection.MetadataImport> ; V85 tmp61 [V85 ] ( 1, 2.12) struct (16) [fp+0x108] do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Reflection.ConstArray> ;* V86 tmp62 [V86 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Reflection.MetadataImport> @@ -744,7 +744,7 @@ G_M9628_IG48: ; bbWeight=2.12, gcVars=00000000000000000000000000000000 {} ; gcrRegs -[x0] cbnz w0, G_M9628_IG85 ;; size=40 bbWeight=2.12 PerfScore 26.47
-G_M9628_IG49: ; bbWeight=2.12, gcVars=00000000000000000000000000000208 {V28 V83}, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=A00000 {x21 x23}, gcvars, byref, isz
+G_M9628_IG49: ; bbWeight=2.12, gcVars=00000000000000000000000000000408 {V28 V83}, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=A00000 {x21 x23}, gcvars, byref, isz
; gcrRegs -[x2] mov x0, x19 ; gcrRegs +[x0] @@ -870,17 +870,15 @@ G_M9628_IG50: ; bbWeight=1.98, gcVars=00000000000000000000000000000000 {} mov x0, x27 ; gcrRegs +[x0] mov w1, wzr
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #1 LSL #32 - ldr x2, [x2]
+ ldr x2, [x27] + ldr x2, [x2, #0x60]
ldr x2, [x2, #0x08] blr x2 ; gcr arg pop 0 mov x2, x0 ; gcrRegs +[x2] cbz x2, G_M9628_IG56
- ;; size=40 bbWeight=1.98 PerfScore 21.78
+ ;; size=32 bbWeight=1.98 PerfScore 24.75
G_M9628_IG51: ; bbWeight=1.98, gcrefRegs=8580004 {x2 x19 x20 x22 x27}, byrefRegs=A00000 {x21 x23}, byref, isz ; gcrRegs -[x0] cbz x2, G_M9628_IG53 @@ -940,10 +938,8 @@ G_M9628_IG56: ; bbWeight=0.27, gcrefRegs=8580000 {x19 x20 x22 x27}, byref mov x0, x27 ; gcrRegs +[x0] mov w1, wzr
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #1 LSL #32 - ldr x2, [x2]
+ ldr x2, [x27] + ldr x2, [x2, #0x60]
ldr x2, [x2, #0x18] blr x2 ; gcr arg pop 0 @@ -952,7 +948,7 @@ G_M9628_IG56: ; bbWeight=0.27, gcrefRegs=8580000 {x19 x20 x22 x27}, byref mov x2, x1 ; gcrRegs +[x2] b G_M9628_IG51
- ;; size=44 bbWeight=0.27 PerfScore 3.16
+ ;; size=36 bbWeight=0.27 PerfScore 3.57
G_M9628_IG57: ; bbWeight=7.45, gcVars=00000000000000000000000000000020 {V120}, gcrefRegs=8580000 {x19 x20 x22 x27}, byrefRegs=A00000 {x21 x23}, gcvars, byref, isz ; gcrRegs -[x0-x2] ; GC ptr vars +{V05 V120} @@ -1280,9 +1276,9 @@ G_M9628_IG83: ; bbWeight=0, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=A00 ; gcr arg pop 0 b G_M9628_IG23 ;; size=48 bbWeight=0 PerfScore 0.00
-G_M9628_IG84: ; bbWeight=0, gcVars=00000000000000000000000000000208 {V28 V83}, gcrefRegs=580004 {x2 x19 x20 x22}, byrefRegs=A00000 {x21 x23}, gcvars, byref, isz
+G_M9628_IG84: ; bbWeight=0, gcVars=00000000000000000000000000000408 {V28 V83}, gcrefRegs=580004 {x2 x19 x20 x22}, byrefRegs=A00000 {x21 x23}, gcvars, byref, isz
; gcrRegs +[x2]
- ; GC ptr vars +{V03 V28 V83}
+ ; GC ptr vars +{V03 V10 V28 V83}
movz x0, #8 movk x0, #0xD1FFAB1E LSL #16 movk x0, #1 LSL #32 @@ -1320,7 +1316,7 @@ G_M9628_IG85: ; bbWeight=0, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=A00 G_M9628_IG86: ; bbWeight=0, gcVars=00000000000000000000002000000000 {V30}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref ; gcrRegs -[x19-x20 x22] ; byrRegs -[x21 x23]
- ; GC ptr vars -{V03 V28 V83} +{V30}
+ ; GC ptr vars -{V03 V10 V28 V83} +{V30}
ldr x2, [fp, #0x60] // [V30 tmp6] ; gcrRegs +[x2] mov x1, x2 @@ -1576,7 +1572,7 @@ G_M9628_IG100: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref brk_unix #0 ;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 3352, prolog size 112, PerfScore 1191.74, instruction count 838, allocated bytes for code 3352 (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 3336, prolog size 112, PerfScore 1195.12, instruction count 834, allocated bytes for code 3336 (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: @@ -1587,7 +1583,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 838 (0x00346) Actual length = 3352 (0x000d18)
+ Function Length : 834 (0x00342) Actual length = 3336 (0x000d08)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-0.14%) : 54108.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,T31] ( 17, 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" @@ -2044,16 +2044,14 @@ G_M38586_IG108: ; bbWeight=0, gcrefRegs=1DD80004 {x2 x19 x20 x22 x23 x24 mov x1, x27 ; gcrRegs +[x1] mov x0, x20
- movz x4, #0xD1FFAB1E - movk x4, #0xD1FFAB1E LSL #16 - movk x4, #1 LSL #32 - ldr x4, [x4]
+ ldr x4, [x20] + ldr x4, [x4, #0x48]
ldr x4, [x4, #0x28] blr x4 ; gcrRegs -[x0-x3 x25 x27] ; gcr arg pop 0 b G_M38586_IG110
- ;; size=76 bbWeight=0 PerfScore 0.00
+ ;; size=68 bbWeight=0 PerfScore 0.00
G_M38586_IG109: ; bbWeight=0, gcrefRegs=1DD80000 {x19 x20 x22 x23 x24 x26 x27 x28}, byrefRegs=0000 {}, byref ; gcrRegs +[x27] ldr w0, [x27, #0x20] @@ -2653,7 +2651,7 @@ G_M38586_IG145: ; bbWeight=0, extend b G_M38586_IG44 ;; size=96 bbWeight=0 PerfScore 0.00
-; Total bytes of code 5724, prolog size 88, PerfScore 262.32, instruction count 1431, allocated bytes for code 5724 (MethodHash=a68b6945) for method Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
+; Total bytes of code 5716, prolog size 88, PerfScore 262.32, instruction count 1429, allocated bytes for code 5716 (MethodHash=a68b6945) for method Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
; ============================================================ Unwind Info: @@ -2664,7 +2662,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 1431 (0x00597) Actual length = 5724 (0x00165c)
+ Function Length : 1429 (0x00595) Actual length = 5716 (0x001654)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-12 (-0.11%) : 37340.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, #1 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%) : 67280.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, #1 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)

benchmarks.run_tiered.osx.arm64.checked.mch

-8 (-14.29%) : 23374.dasm - System.Net.SafeDeleteSslContext:get_IsInvalid():ubyte:this (Tier1)

@@ -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 <System.Net.SafeDeleteSslContext>
+; V00 this [V00,T01] ( 3, 3 ) ref -> x0 this class-hnd single-def <System.Net.SafeDeleteSslContext>
;# 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_M62171_IG04: ; bbWeight=0.50, epilog, nogc, extend ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M62171_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, #1 LSL #32 - ldr x1, [x1]
+ ldr x1, [x0] + ldr x1, [x1, #0x48]
ldr x1, [x1, #0x20]
- ;; size=20 bbWeight=0.50 PerfScore 3.75
+ ;; size=12 bbWeight=0.50 PerfScore 4.50
G_M62171_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=a01f0d24) for method System.Net.SafeDeleteSslContext:get_IsInvalid():ubyte:this (Tier1)
+; Total bytes of code 48, prolog size 8, PerfScore 12.25, instruction count 12, allocated bytes for code 48 (MethodHash=a01f0d24) for method System.Net.SafeDeleteSslContext:get_IsInvalid():ubyte:this (Tier1)
; ============================================================ 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 (-10.53%) : 27090.dasm - System.Security.Cryptography.X509Certificates.AppleCertificatePal:get_HasPrivateKey():ubyte:this (Tier1)

@@ -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 <System.Security.Cryptography.X509Certificates.AppleCertificatePal>
+; V00 this [V00,T01] ( 3, 3 ) ref -> x0 this class-hnd single-def <System.Security.Cryptography.X509Certificates.AppleCertificatePal>
;# 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 ; V04 tmp3 [V04,T02] ( 3, 2 ) int -> x19 ; @@ -32,15 +32,13 @@ G_M42006_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr ;; size=8 bbWeight=0.50 PerfScore 0.75 G_M42006_IG04: ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref ; gcrRegs +[x0]
- movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #1 LSL #32 - ldr x1, [x1]
+ ldr x1, [x0] + ldr x1, [x1, #0x48]
ldr x1, [x1, #0x20] blr x1 ; gcrRegs -[x0] sxtw w19, w0
- ;; size=28 bbWeight=0.50 PerfScore 4.50
+ ;; size=20 bbWeight=0.50 PerfScore 5.25
G_M42006_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref cmp w19, #0 cset x0, eq @@ -51,7 +49,7 @@ G_M42006_IG06: ; bbWeight=1, epilog, nogc, extend ret lr ;; size=12 bbWeight=1 PerfScore 4.00
-; Total bytes of code 76, prolog size 12, PerfScore 16.75, instruction count 19, allocated bytes for code 76 (MethodHash=39965be9) for method System.Security.Cryptography.X509Certificates.AppleCertificatePal:get_HasPrivateKey():ubyte:this (Tier1)
+; Total bytes of code 68, prolog size 12, PerfScore 17.50, instruction count 17, allocated bytes for code 68 (MethodHash=39965be9) for method System.Security.Cryptography.X509Certificates.AppleCertificatePal:get_HasPrivateKey():ubyte:this (Tier1)
; ============================================================ Unwind Info: @@ -62,7 +60,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 19 (0x00013) Actual length = 76 (0x00004c)
+ Function Length : 17 (0x00011) Actual length = 68 (0x000044)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-8.00%) : 29531.dasm - System.Net.Security.SslStream:get_IsAuthenticated():ubyte:this (Tier1)

@@ -13,7 +13,7 @@ ;* V02 tmp1 [V02,T04] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V03 tmp2 [V03,T03] ( 2, 1 ) ubyte -> x0 "Inline return value spill temp" ;* V04 tmp3 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.SafeDeleteSslContext>
-; V05 tmp4 [V05,T01] ( 3, 3 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
+; V05 tmp4 [V05,T01] ( 4, 4 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
;* V06 tmp5 [V06 ] ( 0, 0 ) ref -> zero-ref single-def ; V07 cse0 [V07,T02] ( 3, 2.50) ref -> x0 "CSE - aggressive" ; @@ -34,10 +34,8 @@ G_M58768_IG02: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by G_M58768_IG03: ; bbWeight=0.50, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz ldr x0, [x0, #0x20] cbz x0, G_M58768_IG05
- movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #1 LSL #32 - ldr x1, [x1]
+ ldr x1, [x0] + ldr x1, [x1, #0x48]
ldr x1, [x1, #0x20] blr x1 ; gcrRegs -[x0] @@ -47,7 +45,7 @@ G_M58768_IG03: ; bbWeight=0.50, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 cbnz x0, G_M58768_IG05 ldrb w0, [x19, #0x1A] ; gcrRegs -[x0]
- ;; size=48 bbWeight=0.50 PerfScore 10.25
+ ;; size=40 bbWeight=0.50 PerfScore 11.00
G_M58768_IG04: ; bbWeight=0.50, epilog, nogc, extend ldr x19, [sp, #0x18] ldp fp, lr, [sp], #0x20 @@ -63,7 +61,7 @@ G_M58768_IG06: ; bbWeight=0.50, epilog, nogc, extend ret lr ;; size=12 bbWeight=0.50 PerfScore 2.00
-; Total bytes of code 100, prolog size 12, PerfScore 21.50, instruction count 25, allocated bytes for code 100 (MethodHash=00a41a6f) for method System.Net.Security.SslStream:get_IsAuthenticated():ubyte:this (Tier1)
+; Total bytes of code 92, prolog size 12, PerfScore 22.25, instruction count 23, allocated bytes for code 92 (MethodHash=00a41a6f) for method System.Net.Security.SslStream:get_IsAuthenticated():ubyte:this (Tier1)
; ============================================================ Unwind Info: @@ -74,7 +72,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 25 (0x00019) Actual length = 100 (0x000064)
+ 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)

-8 (-0.35%) : 10581.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary2[System.String,System.Collections.Generic.List1[System.Reflection.RuntimePropertyInfo]],System.Span1[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, #1 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%) : 29589.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, #1 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%) : 42512.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, #1 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.osx.arm64.checked.mch

-16 (-23.53%) : 254468.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, #1 LSL #32
- ldr q0, [x0] - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #1 LSL #32 - ldr q1, [x0]
+ ldp q0, q1, [x0]
movz x0, #0xD1FFAB1E // code for <unknown method> movk x0, #0xD1FFAB1E LSL #16 movk x0, #1 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%) : 256825.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, #1 LSL #32 mov w1, #3 str w1, [x0]
- mov w0, #2 - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #1 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, #1 LSL #32 - str d16, [x0] - mov x0, #1 - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #1 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, #1 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%) : 200991.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, #1 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, #1 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, #1 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, #1 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%) : 252616.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, #1 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%) : 197223.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, #1 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, #1 LSL #32 - movz x4, #0xD1FFAB1E - movk x4, #0xD1FFAB1E LSL #16 - movk x4, #1 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, #1 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%) : 313929.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)

@@ -27,6 +27,7 @@ G_M26176_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr movk x1, #0xD1FFAB1E LSL #16 movk x1, #1 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.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr movk x1, #0xD1FFAB1E LSL #16 movk x1, #1 LSL #32 ldr x1, [x1]
- ;; size=72 bbWeight=1.00 PerfScore 20.00
+ ;; size=76 bbWeight=1.00 PerfScore 23.00
G_M26176_IG03: ; bbWeight=1.00, epilog, nogc, extend ldp fp, lr, [sp], #0x10 br x1 ;; size=8 bbWeight=1.00 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.osx.arm64.checked.mch

-12 (-21.43%) : 290835.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, #1 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%) : 46625.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary2[ubyte,System.Nullable1[int]]:GetHashCode():int:this (FullOpts)

@@ -7,9 +7,9 @@ ; No matching PGO data ; Final local variable assignments ;
-; V00 this [V00,T00] ( 3, 3 ) byref -> x0 this single-def
+; V00 this [V00,T01] ( 3, 3 ) byref -> x0 this single-def
;# 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 @@ -35,19 +35,17 @@ G_M21500_IG04: ; bbWeight=0.50, epilog, nogc, extend ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M21500_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, #1 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_M21500_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=bb53ac03) for method Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 12.25, instruction count 12, allocated bytes for code 48 (MethodHash=bb53ac03) for method Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
; ============================================================ Unwind Info: @@ -58,7 +56,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%) : 175285.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, #1 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%) : 266165.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, #1 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)

+4 (+4.76%) : 301709.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)

@@ -30,6 +30,7 @@ G_M58324_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x2, #0xD1FFAB1E LSL #16 movk x2, #1 LSL #32 ldr x2, [x2]
+ ldr x2, [x2, #0xC0]
ldr x2, [x2, #0x10] blr x2 ; gcrRegs +[x0] @@ -40,13 +41,13 @@ G_M58324_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_M58324_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=ca881c2b) for method System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 21.00, instruction count 22, allocated bytes for code 88 (MethodHash=ca881c2b) for method System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.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%) : 266144.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)

@@ -30,6 +30,7 @@ G_M47755_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x2, #0xD1FFAB1E LSL #16 movk x2, #1 LSL #32 ldr x2, [x2]
+ ldr x2, [x2, #0xC0]
ldr x2, [x2, #0x10] blr x2 ; gcrRegs +[x0] @@ -40,13 +41,13 @@ G_M47755_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_M47755_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=6fdb4574) for method System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 21.00, instruction count 22, allocated bytes for code 88 (MethodHash=6fdb4574) for method System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.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.osx.arm64.Release.mch

-16 (-12.12%) : 462062.dasm - System.Security.Cryptography.SecKeyPair:Dispose():this (Tier1)

@@ -9,11 +9,11 @@ ; 4 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ;
-; V00 this [V00,T00] ( 6, 6 ) ref -> x19 this class-hnd single-def <System.Security.Cryptography.SecKeyPair>
+; V00 this [V00,T02] ( 6, 6 ) ref -> x19 this class-hnd single-def <System.Security.Cryptography.SecKeyPair>
;# 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" <System.Security.Cryptography.Apple.SafeSecKeyRefHandle>
+; V02 tmp1 [V02,T00] ( 5, 10 ) ref -> x20 class-hnd exact single-def "dup spill" <System.Security.Cryptography.Apple.SafeSecKeyRefHandle>
;* 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" <System.Security.Cryptography.Apple.SafeSecKeyRefHandle>
+; V04 tmp3 [V04,T01] ( 5, 10 ) ref -> x20 class-hnd exact single-def "dup spill" <System.Security.Cryptography.Apple.SafeSecKeyRefHandle>
;* V05 tmp4 [V05 ] ( 0, 0 ) ref -> zero-ref single-def ; ; Lcl frame size = 0 @@ -32,10 +32,8 @@ G_M31497_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, #1 LSL #32 - ldr x2, [x2]
+ ldr x2, [x20] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] @@ -43,7 +41,7 @@ G_M31497_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_M31497_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz str xzr, [x19, #0x10] ldr x20, [x19, #0x08] @@ -52,10 +50,8 @@ G_M31497_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, #1 LSL #32 - ldr x2, [x2]
+ ldr x2, [x20] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] @@ -63,7 +59,7 @@ G_M31497_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by ; gcrRegs +[x0] bl <unknown method> ; gcrRegs -[x0 x20]
- ;; size=52 bbWeight=1 PerfScore 16.00
+ ;; size=44 bbWeight=1 PerfScore 17.50
G_M31497_IG04: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref str xzr, [x19, #0x08] ;; size=4 bbWeight=1 PerfScore 1.00 @@ -73,7 +69,7 @@ G_M31497_IG05: ; bbWeight=1, epilog, nogc, extend ret lr ;; size=12 bbWeight=1 PerfScore 3.00
-; Total bytes of code 132, prolog size 12, PerfScore 38.00, instruction count 33, allocated bytes for code 132 (MethodHash=7f0184f6) for method System.Security.Cryptography.SecKeyPair:Dispose():this (Tier1)
+; Total bytes of code 116, prolog size 12, PerfScore 41.00, instruction count 29, allocated bytes for code 116 (MethodHash=7f0184f6) for method System.Security.Cryptography.SecKeyPair:Dispose():this (Tier1)
; ============================================================ Unwind Info: @@ -84,7 +80,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 33 (0x00021) Actual length = 132 (0x000084)
+ 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)

-16 (-11.11%) : 461842.dasm - System.Security.Cryptography.RSAImplementation+RSASecurityTransforms:Dispose(ubyte):this (Tier1)

@@ -14,9 +14,9 @@ ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V03 tmp1 [V03,T00] ( 6, 10.59) ref -> x19 class-hnd exact single-def "dup spill" <System.Security.Cryptography.SecKeyPair> ;* V04 tmp2 [V04 ] ( 0, 0 ) ref -> zero-ref single-def
-; V05 tmp3 [V05,T01] ( 4, 6.59) ref -> x20 class-hnd exact single-def "dup spill" <System.Security.Cryptography.Apple.SafeSecKeyRefHandle>
+; V05 tmp3 [V05,T01] ( 5, 8.24) ref -> x20 class-hnd exact single-def "dup spill" <System.Security.Cryptography.Apple.SafeSecKeyRefHandle>
;* V06 tmp4 [V06 ] ( 0, 0 ) ref -> zero-ref single-def
-; V07 tmp5 [V07,T02] ( 4, 6.59) ref -> x20 class-hnd exact single-def "dup spill" <System.Security.Cryptography.Apple.SafeSecKeyRefHandle>
+; V07 tmp5 [V07,T02] ( 5, 8.24) ref -> x20 class-hnd exact single-def "dup spill" <System.Security.Cryptography.Apple.SafeSecKeyRefHandle>
;* V08 tmp6 [V08 ] ( 0, 0 ) ref -> zero-ref single-def ; ; Lcl frame size = 0 @@ -42,10 +42,8 @@ G_M19214_IG03: ; bbWeight=0.82, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, mov x0, x20 ; gcrRegs +[x0] mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #1 LSL #32 - ldr x2, [x2]
+ ldr x2, [x20] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] @@ -53,7 +51,7 @@ G_M19214_IG03: ; bbWeight=0.82, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, ; gcrRegs +[x0] bl <unknown method> ; gcrRegs -[x0 x20]
- ;; size=48 bbWeight=0.82 PerfScore 12.35
+ ;; size=40 bbWeight=0.82 PerfScore 13.59
G_M19214_IG04: ; bbWeight=0.82, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz str xzr, [x19, #0x10] ldr x20, [x19, #0x08] @@ -62,10 +60,8 @@ G_M19214_IG04: ; bbWeight=0.82, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, mov x0, x20 ; gcrRegs +[x0] mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #1 LSL #32 - ldr x2, [x2]
+ ldr x2, [x20] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] @@ -73,7 +69,7 @@ G_M19214_IG04: ; bbWeight=0.82, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, ; gcrRegs +[x0] bl <unknown method> ; gcrRegs -[x0 x20]
- ;; size=52 bbWeight=0.82 PerfScore 13.18
+ ;; size=44 bbWeight=0.82 PerfScore 14.41
G_M19214_IG05: ; bbWeight=0.82, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref str xzr, [x19, #0x08] ;; size=4 bbWeight=0.82 PerfScore 0.82 @@ -84,7 +80,7 @@ G_M19214_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ret lr ;; size=12 bbWeight=1 PerfScore 3.00
-; Total bytes of code 144, prolog size 12, PerfScore 37.35, instruction count 36, allocated bytes for code 144 (MethodHash=d563b4f1) for method System.Security.Cryptography.RSAImplementation+RSASecurityTransforms:Dispose(ubyte):this (Tier1)
+; Total bytes of code 128, prolog size 12, PerfScore 39.82, instruction count 32, allocated bytes for code 128 (MethodHash=d563b4f1) for method System.Security.Cryptography.RSAImplementation+RSASecurityTransforms:Dispose(ubyte):this (Tier1)
; ============================================================ Unwind Info: @@ -95,7 +91,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 36 (0x00024) Actual length = 144 (0x000090)
+ Function Length : 32 (0x00020) Actual length = 128 (0x000080)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-10.00%) : 623916.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)

@@ -12,7 +12,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, 8 ) ref -> x19 class-hnd exact single-def "dup spill" <<unknown class>>
+; V03 tmp1 [V03,T00] ( 5, 10 ) 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 @@ -29,16 +29,14 @@ G_M46591_IG02: ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre cbz x19, G_M46591_IG04 mov x0, x19 mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #1 LSL #32 - ldr x2, [x2]
+ ldr x2, [x19] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] mov x0, x19 ; gcrRegs +[x0]
- ;; size=44 bbWeight=1 PerfScore 14.00
+ ;; size=36 bbWeight=1 PerfScore 15.50
G_M46591_IG03: ; bbWeight=1, epilog, nogc, extend ldr x19, [sp, #0x18] ldp fp, lr, [sp], #0x20 @@ -51,7 +49,7 @@ G_M46591_IG04: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ret lr ;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 80, prolog size 12, PerfScore 20.50, instruction count 20, allocated bytes for code 80 (MethodHash=d1cf4a00) for method System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
+; Total bytes of code 72, prolog size 12, PerfScore 22.00, instruction count 18, allocated bytes for code 72 (MethodHash=d1cf4a00) for method System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
; ============================================================ Unwind Info: @@ -62,7 +60,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 20 (0x00014) Actual length = 80 (0x000050)
+ Function Length : 18 (0x00012) Actual length = 72 (0x000048)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+2.04%) : 84865.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, #1 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)

+4 (+2.04%) : 241558.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, #1 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%) : 178280.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, #1 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)

librariestestsnotieredcompilation.run.osx.arm64.Release.mch

-12 (-21.43%) : 154714.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, #1 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%) : 21390.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, #1 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, #1 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, #1 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, #1 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%) : 2946.dasm - Microsoft.VisualStudio.Composition.ByValueEquality+AssemblyNameComparer:GetHashCode(System.Reflection.AssemblyName):int:this (FullOpts)

@@ -9,9 +9,9 @@ ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def <Microsoft.VisualStudio.Composition.ByValueEquality+AssemblyNameComparer>
-; V01 arg1 [V01,T00] ( 3, 3 ) ref -> x1 class-hnd single-def <System.Reflection.AssemblyName>
+; V01 arg1 [V01,T01] ( 3, 3 ) ref -> x1 class-hnd single-def <System.Reflection.AssemblyName>
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T01] ( 3, 5 ) ref -> x0 class-hnd exact single-def "dup spill" <System.String>
+; V03 tmp1 [V03,T00] ( 4, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <System.String>
;* V04 tmp2 [V04 ] ( 0, 0 ) ref -> zero-ref single-def ; ; Lcl frame size = 0 @@ -36,19 +36,17 @@ G_M19135_IG04: ; bbWeight=0.50, epilog, nogc, extend ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M19135_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, #2 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_M19135_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=e126b540) for method Microsoft.VisualStudio.Composition.ByValueEquality+AssemblyNameComparer:GetHashCode(System.Reflection.AssemblyName):int:this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 12.25, instruction count 12, allocated bytes for code 48 (MethodHash=e126b540) for method Microsoft.VisualStudio.Composition.ByValueEquality+AssemblyNameComparer:GetHashCode(System.Reflection.AssemblyName):int:this (FullOpts)
; ============================================================ Unwind Info: @@ -59,7 +57,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%) : 86616.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)

@@ -30,6 +30,7 @@ G_M2750_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre movk x2, #0xD1FFAB1E LSL #16 movk x2, #1 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.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre ; gcrRegs +[x15] bl CORINFO_HELP_ASSIGN_REF ; gcrRegs -[x0 x15]
- ;; size=68 bbWeight=1.00 PerfScore 14.50
+ ;; size=72 bbWeight=1.00 PerfScore 17.50
G_M2750_IG03: ; bbWeight=1.00, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1.00 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)

+4 (+5.26%) : 199111.dasm - System.Tests.Types.GenericTypeParameter1Of1Tests:CreateType():System.Type:this (FullOpts)

@@ -27,8 +27,9 @@ G_M41185_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr movk x0, #1 LSL #32 movz x1, #0xD1FFAB1E movk x1, #0xD1FFAB1E LSL #16
- movk x1, #2 LSL #32
+ movk x1, #1 LSL #32
ldr x1, [x1]
+ ldr x1, [x1, #0xB8]
ldr x1, [x1, #0x38] blr x1 ; gcrRegs +[x0] @@ -36,7 +37,7 @@ G_M41185_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr cmp w1, #0 bls G_M41185_IG04 ldr x0, [x0, #0x10]
- ;; size=52 bbWeight=1.00 PerfScore 17.50
+ ;; size=56 bbWeight=1.00 PerfScore 20.50
G_M41185_IG03: ; bbWeight=1.00, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr @@ -47,7 +48,7 @@ G_M41185_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { brk_unix #0 ;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 76, prolog size 8, PerfScore 21.00, instruction count 19, allocated bytes for code 76 (MethodHash=53be5f1e) for method System.Tests.Types.GenericTypeParameter1Of1Tests:CreateType():System.Type:this (FullOpts)
+; Total bytes of code 80, prolog size 8, PerfScore 24.00, instruction count 20, allocated bytes for code 80 (MethodHash=53be5f1e) for method System.Tests.Types.GenericTypeParameter1Of1Tests:CreateType():System.Type:this (FullOpts)
; ============================================================ Unwind Info: @@ -58,7 +59,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 19 (0x00013) Actual length = 76 (0x00004c)
+ 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)

+4 (+8.33%) : 173830.dasm - System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)

@@ -27,15 +27,16 @@ G_M34055_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr movk x1, #0xD1FFAB1E LSL #16 movk x1, #1 LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28]
- ;; size=32 bbWeight=1.00 PerfScore 9.00
+ ;; size=36 bbWeight=1.00 PerfScore 12.00
G_M34055_IG03: ; bbWeight=1.00, epilog, nogc, extend ldp fp, lr, [sp], #0x10 br x1 ; gcr arg pop 0 ;; size=8 bbWeight=1.00 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)

realworld.run.osx.arm64.checked.mch

-36 (-7.09%) : 3320.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, #1 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, #2 LSL #16 movk x1, #7 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, #1 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, #1 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 (-6.10%) : 7792.dasm - FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:GetTyconAttribs(FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Collections.FSharpList1[FSharp.Compiler.TypedTree+Attrib]):System.Tuple5ubyte,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] ( 12, 12 ) ref -> x19 class-hnd single-def <FSharp.Compiler.TcGlobals+TcGlobals>
+; V00 arg0 [V00,T15] ( 12, 12 ) 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 -> x23 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 -> x22 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 -> x23 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V19 tmp16 [V19,T10] ( 3, 18 ) ref -> x23 class-hnd single-def "Inlining Arg" <<unknown class>>
; V20 tmp17 [V20,T35] ( 3, 2 ) ubyte -> x23 "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 -> x23 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 -> x22 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V43 tmp40 [V43,T14] ( 3, 18 ) ref -> x22 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=B80004 {x2 x19 x20 x21 x23}, byref ; gcrRegs +[x1] mov x0, x23 ; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
+ ldr x2, [x23]
; gcrRegs -[x2]
- movk x2, #0xD1FFAB1E LSL #16 - movk x2, #1 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=B80004 {x2 x19 x20 x21 x23}, 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 x23] mov w21, wzr @@ -174,11 +172,9 @@ G_M41131_IG09: ; bbWeight=4, gcrefRegs=1980004 {x2 x19 x20 x23 x24}, byre ; gcrRegs +[x1] mov x0, x24 ; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
+ ldr x2, [x24]
; gcrRegs -[x2]
- movk x2, #0xD1FFAB1E LSL #16 - movk x2, #1 LSL #32 - ldr x2, [x2]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20] blr x2 ; gcrRegs -[x0-x1] @@ -186,7 +182,7 @@ G_M41131_IG09: ; bbWeight=4, gcrefRegs=1980004 {x2 x19 x20 x23 x24}, byre mov x2, x23 ; 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 x23-x24] mov w23, wzr @@ -233,11 +229,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, #1 LSL #32 - ldr x2, [x2]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20] blr x2 ; gcrRegs -[x0-x1] @@ -245,7 +239,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 @@ -292,11 +286,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, #1 LSL #32 - ldr x2, [x2]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20] blr x2 ; gcrRegs -[x0-x1] @@ -304,7 +296,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 @@ -349,10 +341,8 @@ G_M41131_IG24: ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=00 ; gcrRegs +[x1] mov x0, x22 ; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #1 LSL #32 - ldr x2, [x2]
+ ldr x2, [x22] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20] blr x2 ; gcrRegs -[x0-x1 x20] @@ -360,7 +350,7 @@ G_M41131_IG24: ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, 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 x22] mov w19, wzr @@ -390,7 +380,7 @@ G_M41131_IG28: ; bbWeight=1, epilog, nogc, extend ret lr ;; size=24 bbWeight=1 PerfScore 6.00
-; Total bytes of code 656, prolog size 24, PerfScore 525.50, instruction count 164, allocated bytes for code 656 (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 616, prolog size 24, PerfScore 555.50, instruction count 154, allocated bytes for code 616 (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: @@ -401,7 +391,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 164 (0x000a4) Actual length = 656 (0x000290)
+ Function Length : 154 (0x0009a) Actual length = 616 (0x000268)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-5.88%) : 16042.dasm - Roslyn.Utilities.TextKeyedCache`1[System.__Canon]:NextRandom():int:this (FullOpts)

@@ -10,7 +10,7 @@ ; V00 this [V00,T00] ( 4, 3.50) ref -> x19 this class-hnd single-def <Roslyn.Utilities.TextKeyedCache`1[System.__Canon]> ; V01 loc0 [V01,T02] ( 4, 3 ) ref -> x0 class-hnd <System.Random> ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T01] ( 4, 4 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Random>
+; V03 tmp1 [V03,T01] ( 5, 5 ) ref -> x20 class-hnd exact single-def "NewObj constructor temp" <System.Random>
; ; Lcl frame size = 0 @@ -64,12 +64,10 @@ G_M8269_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=8000 ; byrRegs -[x14] mov x0, x20 ; gcrRegs +[x0]
- movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #1 LSL #32 - ldr x1, [x1]
+ ldr x1, [x20] + ldr x1, [x1, #0x48]
ldr x1, [x1, #0x20]
- ;; size=76 bbWeight=0.50 PerfScore 9.25
+ ;; size=68 bbWeight=0.50 PerfScore 10.00
G_M8269_IG06: ; bbWeight=0.50, epilog, nogc, extend ldp x19, x20, [sp, #0x10] ldp fp, lr, [sp], #0x20 @@ -77,7 +75,7 @@ G_M8269_IG06: ; bbWeight=0.50, epilog, nogc, extend ; gcr arg pop 0 ;; size=12 bbWeight=0.50 PerfScore 1.50
-; Total bytes of code 136, prolog size 16, PerfScore 23.75, instruction count 34, allocated bytes for code 136 (MethodHash=8258dfb2) for method Roslyn.Utilities.TextKeyedCache`1[System.__Canon]:NextRandom():int:this (FullOpts)
+; Total bytes of code 128, prolog size 16, PerfScore 24.50, instruction count 32, allocated bytes for code 128 (MethodHash=8258dfb2) for method Roslyn.Utilities.TextKeyedCache`1[System.__Canon]:NextRandom():int:this (FullOpts)
; ============================================================ Unwind Info: @@ -88,7 +86,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 34 (0x00022) Actual length = 136 (0x000088)
+ Function Length : 32 (0x00020) Actual length = 128 (0x000080)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+2.13%) : 11236.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, #1 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%) : 3347.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)

@@ -36,10 +36,11 @@ G_M45653_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr movz x0, #184 movk x0, #0xD1FFAB1E LSL #16 movk x0, #1 LSL #32
- movz x1, #0xD1FFAB1E
+ movz x1, #184
movk x1, #0xD1FFAB1E LSL #16 movk x1, #1 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%) : 3310.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, #1 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, #1 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)

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.osx.arm64.checked.mch 93 78 15 0 -1,056 +172
benchmarks.run_pgo.osx.arm64.checked.mch 59 58 1 0 -884 +4
benchmarks.run_tiered.osx.arm64.checked.mch 14 13 1 0 -140 +4
coreclr_tests.run.osx.arm64.checked.mch 1,496 1,299 192 5 -163,772 +2,676
libraries.crossgen2.osx.arm64.checked.mch 0 0 0 0 -0 +0
libraries.pmi.osx.arm64.checked.mch 900 756 144 0 -8,612 +916
libraries_tests.run.osx.arm64.Release.mch 1,773 1,186 587 0 -12,440 +2,376
librariestestsnotieredcompilation.run.osx.arm64.Release.mch 2,667 1,305 1,360 2 -17,636 +7,976
realworld.run.osx.arm64.checked.mch 286 270 16 0 -3,464 +108
7,288 4,965 2,316 7 -208,004 +14,232

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.osx.arm64.checked.mch 25,053 4 25,049 0 (0.00%) 0 (0.00%)
benchmarks.run_pgo.osx.arm64.checked.mch 83,954 48,224 35,730 0 (0.00%) 0 (0.00%)
benchmarks.run_tiered.osx.arm64.checked.mch 48,600 37,748 10,852 0 (0.00%) 0 (0.00%)
coreclr_tests.run.osx.arm64.checked.mch 587,982 360,346 227,636 0 (0.00%) 0 (0.00%)
libraries.crossgen2.osx.arm64.checked.mch 265,044 15 265,029 0 (0.00%) 0 (0.00%)
libraries.pmi.osx.arm64.checked.mch 318,225 18 318,207 0 (0.00%) 0 (0.00%)
libraries_tests.run.osx.arm64.Release.mch 632,615 465,983 166,632 0 (0.00%) 0 (0.00%)
librariestestsnotieredcompilation.run.osx.arm64.Release.mch 300,364 21,535 278,829 0 (0.00%) 6 (0.00%)
realworld.run.osx.arm64.checked.mch 31,600 3 31,597 0 (0.00%) 0 (0.00%)
2,293,437 933,876 1,359,561 0 (0.00%) 6 (0.00%)

jit-analyze output

benchmarks.run.osx.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 11256032 (overridden on cmd)
Total bytes of diff: 11255148 (overridden on cmd)
Total bytes of delta: -884 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          36 : 7845.dasm (0.66 % of base)
          36 : 7882.dasm (1.10 % of base)
          24 : 7859.dasm (0.67 % of base)
          24 : 5507.dasm (1.67 % of base)
          12 : 5490.dasm (2.59 % of base)
           4 : 7785.dasm (0.44 % of base)
           4 : 7869.dasm (0.25 % of base)
           4 : 10389.dasm (0.15 % of base)
           4 : 15078.dasm (0.13 % of base)
           4 : 20608.dasm (0.23 % of base)
           4 : 7119.dasm (0.11 % of base)
           4 : 7918.dasm (0.35 % of base)
           4 : 10476.dasm (0.16 % of base)
           4 : 16078.dasm (0.65 % of base)
           4 : 5813.dasm (0.39 % of base)

Top file improvements (bytes):
         -56 : 4933.dasm (-2.14 % of base)
         -56 : 17286.dasm (-1.20 % of base)
         -44 : 3897.dasm (-7.69 % of base)
         -40 : 4939.dasm (-0.29 % of base)
         -40 : 7174.dasm (-0.21 % of base)
         -32 : 12378.dasm (-2.01 % of base)
         -24 : 16125.dasm (-1.89 % of base)
         -24 : 16126.dasm (-2.01 % of base)
         -24 : 16972.dasm (-1.49 % of base)
         -24 : 17919.dasm (-1.17 % of base)
         -20 : 6831.dasm (-2.33 % of base)
         -20 : 7493.dasm (-1.98 % of base)
         -16 : 11181.dasm (-2.03 % of base)
         -16 : 17738.dasm (-1.98 % of base)
         -16 : 19214.dasm (-1.27 % of base)
         -16 : 20364.dasm (-3.64 % of base)
         -16 : 582.dasm (-5.88 % of base)
         -16 : 9957.dasm (-0.64 % of base)
         -16 : 12255.dasm (-1.22 % of base)
         -16 : 13611.dasm (-3.12 % of base)

61 total files with Code Size differences (46 improved, 15 regressed), 0 unchanged.

Top method regressions (bytes):
          36 (0.66 % of base) : 7845.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
          36 (1.10 % of base) : 7882.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
          24 (1.67 % of base) : 5507.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          24 (0.67 % of base) : 7859.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
          12 (2.59 % of base) : 5490.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
           4 (0.16 % of base) : 10476.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
           4 (0.15 % of base) : 10389.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
           4 (0.23 % of base) : 20608.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
           4 (0.39 % of base) : 5813.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
           4 (0.65 % of base) : 16078.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           4 (0.13 % of base) : 15078.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
           4 (0.11 % of base) : 7119.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (FullOpts)
           4 (0.44 % of base) : 7785.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) : 7918.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) : 7869.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) : 17286.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) : 4933.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) : 3897.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
         -40 (-0.29 % of base) : 4939.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
         -40 (-0.21 % of base) : 7174.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) : 12378.dasm - System.Xml.XmlBinaryNodeWriter:UnsafeWriteText(ulong,int):this (FullOpts)
         -24 (-1.17 % of base) : 17919.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (FullOpts)
         -24 (-1.89 % of base) : 16125.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ReportDiagnosticsForSynthesizedAttributes(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
         -24 (-2.01 % of base) : 16126.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ReportDiagnosticsForUnsafeSynthesizedAttributes(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
         -24 (-1.49 % of base) : 16972.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckForRequiredMemberAttribute(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -20 (-2.33 % of base) : 6831.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateGet[System.__Canon](System.Reflection.PropertyInfo):System.Func`2[System.__Canon,System.__Canon]:this (FullOpts)
         -20 (-1.98 % of base) : 7493.dasm - System.Reflection.RuntimeModule:ResolveMethod(int,System.Type[],System.Type[]):System.Reflection.MethodBase:this (FullOpts)
         -16 (-1.98 % of base) : 17738.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:CheckIfAttributeShouldBeEmbedded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,int,int,System.Nullable`1[int]):ubyte:this (FullOpts)
         -16 (-0.37 % of base) : 16102.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions:ValidateOptions(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic]):this (FullOpts)
         -16 (-1.27 % of base) : 19214.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (FullOpts)
         -16 (-1.22 % of base) : 12255.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) : 9957.dasm - Sigil.Emit`1[System.__Canon]:Call(System.Reflection.MethodInfo,System.Type[]):Sigil.Emit`1[System.__Canon]:this (FullOpts)
         -16 (-2.03 % of base) : 11181.dasm - System.IO.Compression.Brotli:Compress_WithState():System.Span`1[ubyte]:this (FullOpts)
         -16 (-3.12 % of base) : 13611.dasm - System.IO.Compression.Brotli:Decompress_WithState():System.Span`1[ubyte]:this (FullOpts)
         -16 (-5.88 % of base) : 582.dasm - System.IO.MemoryMappedFiles.MemoryMappedFile:Dispose(ubyte):this (FullOpts)

Top method regressions (percentages):
          12 (2.59 % of base) : 5490.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
          24 (1.67 % of base) : 5507.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          36 (1.10 % of base) : 7882.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
          24 (0.67 % of base) : 7859.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
          36 (0.66 % of base) : 7845.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
           4 (0.65 % of base) : 16078.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           4 (0.44 % of base) : 7785.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) : 5813.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
           4 (0.35 % of base) : 7918.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) : 7869.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) : 20608.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
           4 (0.16 % of base) : 10476.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
           4 (0.15 % of base) : 10389.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
           4 (0.13 % of base) : 15078.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
           4 (0.11 % of base) : 7119.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) : 12391.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) : 6727.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -8 (-14.29 % of base) : 9492.dasm - System.Net.SafeDeleteSslContext:get_IsInvalid():ubyte:this (FullOpts)
          -8 (-10.53 % of base) : 9280.dasm - System.Security.Cryptography.X509Certificates.AppleCertificatePal:get_HasPrivateKey():ubyte:this (FullOpts)
          -8 (-8.33 % of base) : 18704.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (FullOpts)
          -8 (-8.00 % of base) : 9510.dasm - System.Net.Security.SslStream:get_IsAuthenticated():ubyte:this (FullOpts)
         -44 (-7.69 % of base) : 3897.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -8 (-7.14 % of base) : 9482.dasm - System.Security.Cryptography.X509Certificates.AppleCertificatePal:get_Handle():long:this (FullOpts)
         -16 (-5.88 % of base) : 582.dasm - System.IO.MemoryMappedFiles.MemoryMappedFile:Dispose(ubyte):this (FullOpts)
          -8 (-4.17 % of base) : 870.dasm - System.Text.UnicodeEncoding:.cctor() (FullOpts)
          -8 (-4.17 % of base) : 12382.dasm - System.Xml.XmlBinaryNodeWriter:WriteDateTimeText(System.DateTime):this (FullOpts)
         -16 (-3.64 % of base) : 20364.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (FullOpts)
          -8 (-3.33 % of base) : 12501.dasm - System.Xml.XmlBaseReader:Close():this (FullOpts)
         -16 (-3.12 % of base) : 13611.dasm - System.IO.Compression.Brotli:Decompress_WithState():System.Span`1[ubyte]:this (FullOpts)
         -12 (-3.09 % of base) : 4844.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -8 (-2.94 % of base) : 17735.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceModuleSymbol:<RequiresRefSafetyRulesAttribute>g__isFeatureDisabled|62_0(Microsoft.CodeAnalysis.CSharp.CSharpCompilation):ubyte (FullOpts)
          -8 (-2.74 % of base) : 20314.dasm - System.Diagnostics.ProcessWaitState:Dispose():this (FullOpts)
          -8 (-2.70 % of base) : 5037.dasm - System.Net.Http.HttpConnection:ReturnConnectionToPool():this (FullOpts)
          -8 (-2.38 % of base) : 5447.dasm - System.Threading.ManualResetEventSlim:Dispose(ubyte):this (FullOpts)
         -20 (-2.33 % of base) : 6831.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateGet[System.__Canon](System.Reflection.PropertyInfo):System.Func`2[System.__Canon,System.__Canon]:this (FullOpts)


benchmarks.run_pgo.osx.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 34290048 (overridden on cmd)
Total bytes of diff: 34289168 (overridden on cmd)
Total bytes of delta: -880 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
           4 : 67280.dasm (0.23 % of base)

Top file improvements (bytes):
         -16 : 10551.dasm (-0.42 % of base)
         -16 : 30931.dasm (-0.83 % of base)
         -16 : 32224.dasm (-0.42 % of base)
         -16 : 36954.dasm (-0.42 % of base)
         -16 : 39290.dasm (-0.41 % of base)
         -16 : 39373.dasm (-0.41 % of base)
         -16 : 40768.dasm (-0.41 % of base)
         -16 : 42175.dasm (-0.41 % of base)
         -16 : 60650.dasm (-0.41 % of base)
         -16 : 61714.dasm (-0.42 % of base)
         -16 : 66833.dasm (-0.41 % of base)
         -16 : 67077.dasm (-0.41 % of base)
         -16 : 67212.dasm (-0.41 % of base)
         -16 : 72911.dasm (-0.41 % of base)
         -16 : 73445.dasm (-0.41 % of base)
         -16 : 75153.dasm (-0.42 % of base)
         -16 : 75501.dasm (-0.42 % of base)
         -16 : 82959.dasm (-0.41 % of base)
         -16 : 83775.dasm (-0.41 % of base)
         -16 : 20995.dasm (-0.42 % of base)

50 total files with Code Size differences (49 improved, 1 regressed), 0 unchanged.

Top method regressions (bytes):
           4 (0.23 % of base) : 67280.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)

Top method improvements (bytes):
         -16 (-0.83 % of base) : 30931.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
         -16 (-0.42 % of base) : 10551.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) : 32224.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) : 36954.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.41 % of base) : 39290.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.41 % of base) : 39373.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.41 % of base) : 40768.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.41 % of base) : 42175.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.41 % of base) : 60650.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) : 61714.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.41 % of base) : 66833.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.41 % of base) : 67077.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.41 % of base) : 67212.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.41 % of base) : 72911.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.41 % of base) : 73445.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) : 75153.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) : 75501.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.41 % of base) : 82959.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.41 % of base) : 83775.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) : 20995.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) : 67280.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)

Top method improvements (percentages):
         -16 (-0.83 % of base) : 30931.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) : 53389.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
         -16 (-0.48 % of base) : 55064.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) : 56027.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) : 32224.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) : 61714.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) : 36954.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) : 75153.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) : 20995.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) : 10551.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) : 75501.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) : 76349.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) : 31562.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) : 26084.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) : 75687.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.41 % of base) : 39373.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.41 % of base) : 40768.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.41 % of base) : 42175.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.41 % of base) : 66833.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.41 % of base) : 67077.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.osx.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 15676392 (overridden on cmd)
Total bytes of diff: 15676256 (overridden on cmd)
Total bytes of delta: -136 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
           4 : 42512.dasm (0.23 % of base)

Top file improvements (bytes):
         -16 : 25384.dasm (-0.87 % of base)
         -16 : 40642.dasm (-1.27 % of base)
         -16 : 40645.dasm (-2.37 % of base)
         -16 : 42002.dasm (-2.72 % of base)
         -12 : 29589.dasm (-0.11 % of base)
          -8 : 23006.dasm (-0.73 % of base)
          -8 : 27090.dasm (-10.53 % of base)
          -8 : 23367.dasm (-0.77 % of base)
          -8 : 27179.dasm (-7.14 % of base)
          -8 : 29532.dasm (-8.00 % of base)
          -8 : 23374.dasm (-14.29 % of base)
          -8 : 10581.dasm (-0.35 % of base)
          -8 : 29531.dasm (-8.00 % of base)

14 total files with Code Size differences (13 improved, 1 regressed), 0 unchanged.

Top method regressions (bytes):
           4 (0.23 % of base) : 42512.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)

Top method improvements (bytes):
         -16 (-1.27 % of base) : 40642.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
         -16 (-2.37 % of base) : 40645.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitVariableDeclarator(Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax):this (Tier1)
         -16 (-0.87 % of base) : 25384.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
         -16 (-2.72 % of base) : 42002.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
         -12 (-0.11 % of base) : 29589.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
          -8 (-14.29 % of base) : 23374.dasm - System.Net.SafeDeleteSslContext:get_IsInvalid():ubyte:this (Tier1)
          -8 (-0.77 % of base) : 23367.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
          -8 (-8.00 % of base) : 29531.dasm - System.Net.Security.SslStream:get_IsAuthenticated():ubyte:this (Tier1)
          -8 (-8.00 % of base) : 29532.dasm - System.Net.Security.SslStream:get_IsValidContext():ubyte:this (Tier1)
          -8 (-0.35 % of base) : 10581.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 (-7.14 % of base) : 27179.dasm - System.Security.Cryptography.X509Certificates.AppleCertificatePal:get_Handle():long:this (Tier1)
          -8 (-10.53 % of base) : 27090.dasm - System.Security.Cryptography.X509Certificates.AppleCertificatePal:get_HasPrivateKey():ubyte:this (Tier1)
          -8 (-0.73 % of base) : 23006.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ParsePkcs12(System.ReadOnlySpan`1[ubyte]):this (Tier1)

Top method regressions (percentages):
           4 (0.23 % of base) : 42512.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)

Top method improvements (percentages):
          -8 (-14.29 % of base) : 23374.dasm - System.Net.SafeDeleteSslContext:get_IsInvalid():ubyte:this (Tier1)
          -8 (-10.53 % of base) : 27090.dasm - System.Security.Cryptography.X509Certificates.AppleCertificatePal:get_HasPrivateKey():ubyte:this (Tier1)
          -8 (-8.00 % of base) : 29531.dasm - System.Net.Security.SslStream:get_IsAuthenticated():ubyte:this (Tier1)
          -8 (-8.00 % of base) : 29532.dasm - System.Net.Security.SslStream:get_IsValidContext():ubyte:this (Tier1)
          -8 (-7.14 % of base) : 27179.dasm - System.Security.Cryptography.X509Certificates.AppleCertificatePal:get_Handle():long:this (Tier1)
         -16 (-2.72 % of base) : 42002.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
         -16 (-2.37 % of base) : 40645.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitVariableDeclarator(Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax):this (Tier1)
         -16 (-1.27 % of base) : 40642.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
         -16 (-0.87 % of base) : 25384.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
          -8 (-0.77 % of base) : 23367.dasm - System.Net.Security.SslStream:GenerateToken(System.ReadOnlySpan`1[ubyte]):System.Net.Security.ProtocolToken:this (Tier1)
          -8 (-0.73 % of base) : 23006.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ParsePkcs12(System.ReadOnlySpan`1[ubyte]):this (Tier1)
          -8 (-0.35 % of base) : 10581.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) : 29589.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)

14 total methods with Code Size differences (13 improved, 1 regressed).


coreclr_tests.run.osx.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 491746024 (overridden on cmd)
Total bytes of diff: 491584928 (overridden on cmd)
Total bytes of delta: -161096 (-0.03 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
         148 : 228840.dasm (1.67 % of base)
         148 : 229009.dasm (1.69 % of base)
         148 : 186789.dasm (1.67 % of base)
         148 : 228364.dasm (1.97 % of base)
         148 : 229198.dasm (1.67 % of base)
         148 : 187037.dasm (1.68 % of base)
         148 : 187642.dasm (1.97 % of base)
         148 : 228937.dasm (1.69 % of base)
         148 : 229299.dasm (1.97 % of base)
          48 : 188615.dasm (1.66 % of base)
          48 : 313764.dasm (0.80 % of base)
          24 : 187100.dasm (1.51 % of base)
          24 : 187116.dasm (1.50 % of base)
          24 : 187648.dasm (1.49 % of base)
          24 : 228872.dasm (1.54 % of base)
          24 : 187060.dasm (1.58 % of base)
          24 : 187659.dasm (1.48 % of base)
          24 : 228368.dasm (1.57 % of base)
          24 : 228951.dasm (1.49 % of base)
          24 : 228747.dasm (1.59 % of base)

Top file improvements (bytes):
        -512 : 290285.dasm (-1.86 % of base)
        -512 : 291195.dasm (-1.80 % of base)
        -504 : 290700.dasm (-1.78 % of base)
        -504 : 292047.dasm (-1.83 % of base)
        -496 : 290883.dasm (-1.86 % of base)
        -496 : 290069.dasm (-1.83 % of base)
        -488 : 291775.dasm (-1.75 % of base)
        -480 : 262926.dasm (-1.85 % of base)
        -480 : 291083.dasm (-1.83 % of base)
        -472 : 290002.dasm (-1.64 % of base)
        -472 : 290916.dasm (-1.83 % of base)
        -464 : 290252.dasm (-1.77 % of base)
        -456 : 263806.dasm (-1.78 % of base)
        -456 : 292013.dasm (-1.64 % of base)
        -456 : 263354.dasm (-1.86 % of base)
        -448 : 284476.dasm (-1.98 % of base)
        -440 : 291743.dasm (-1.68 % of base)
        -440 : 263310.dasm (-1.75 % of base)
        -440 : 290119.dasm (-1.67 % of base)
        -440 : 290153.dasm (-1.65 % of base)

92 total files with Code Size differences (52 improved, 40 regressed), 5 unchanged.

Top method regressions (bytes):
         148 (1.67 % of base) : 229198.dasm - Test_AbstractBase02:TestEntryPoint():int (FullOpts)
         148 (1.67 % of base) : 186789.dasm - Test_BaseClass02:TestEntryPoint():int (FullOpts)
         148 (1.68 % of base) : 187037.dasm - Test_class01:TestEntryPoint():int (FullOpts)
         148 (1.67 % of base) : 228840.dasm - Test_NestedBaseClass05:TestEntryPoint():int (FullOpts)
         148 (1.69 % of base) : 229009.dasm - Test_NestedClass01:TestEntryPoint():int (FullOpts)
         148 (1.69 % of base) : 228937.dasm - Test_NestedClass03:TestEntryPoint():int (FullOpts)
         148 (1.97 % of base) : 229299.dasm - Test_NestedStruct01:TestEntryPoint():int (FullOpts)
         148 (1.97 % of base) : 228364.dasm - Test_NestedStruct03:TestEntryPoint():int (FullOpts)
         148 (1.97 % of base) : 187642.dasm - Test_struct01:TestEntryPoint():int (FullOpts)
          48 (0.80 % of base) : 313764.dasm - Program:RuntimeMethodHandle():ubyte (FullOpts)
          48 (1.66 % of base) : 188615.dasm - VectorTest:TestEntryPoint():int (FullOpts)
          24 (1.57 % of base) : 228368.dasm - Test_AbstractBase06:TestEntryPoint():int (FullOpts)
          24 (1.58 % of base) : 187060.dasm - Test_Class01:TestEntryPoint():int (FullOpts)
          24 (1.51 % of base) : 187100.dasm - Test_Class02:TestEntryPoint():int (FullOpts)
          24 (1.50 % of base) : 187116.dasm - Test_Class03:TestEntryPoint():int (FullOpts)
          24 (1.59 % of base) : 228747.dasm - Test_NestedInterface01:TestEntryPoint():int (FullOpts)
          24 (1.54 % of base) : 228872.dasm - Test_NestedInterface06:TestEntryPoint():int (FullOpts)
          24 (1.49 % of base) : 228951.dasm - Test_NestedInterface08:TestEntryPoint():int (FullOpts)
          24 (1.49 % of base) : 187648.dasm - Test_Struct02:TestEntryPoint():int (FullOpts)
          24 (1.48 % of base) : 187659.dasm - Test_Struct03:TestEntryPoint():int (FullOpts)

Top method improvements (bytes):
        -512 (-1.86 % of base) : 290285.dasm - Generated908:MethodCallingTest() (FullOpts)
        -512 (-1.80 % of base) : 291195.dasm - Generated934:MethodCallingTest() (FullOpts)
        -504 (-1.78 % of base) : 290700.dasm - Generated920:MethodCallingTest() (FullOpts)
        -504 (-1.83 % of base) : 292047.dasm - Generated960:MethodCallingTest() (FullOpts)
        -496 (-1.83 % of base) : 290069.dasm - Generated902:MethodCallingTest() (FullOpts)
        -496 (-1.86 % of base) : 290883.dasm - Generated925:MethodCallingTest() (FullOpts)
        -488 (-1.75 % of base) : 291775.dasm - Generated952:MethodCallingTest() (FullOpts)
        -480 (-1.85 % of base) : 262926.dasm - Generated1055:MethodCallingTest() (FullOpts)
        -480 (-1.83 % of base) : 291083.dasm - Generated931:MethodCallingTest() (FullOpts)
        -472 (-1.64 % of base) : 290002.dasm - Generated900:MethodCallingTest() (FullOpts)
        -472 (-1.83 % of base) : 290916.dasm - Generated926:MethodCallingTest() (FullOpts)
        -464 (-1.77 % of base) : 290252.dasm - Generated907:MethodCallingTest() (FullOpts)
        -456 (-1.86 % of base) : 263354.dasm - Generated1065:MethodCallingTest() (FullOpts)
        -456 (-1.78 % of base) : 263806.dasm - Generated1076:MethodCallingTest() (FullOpts)
        -456 (-1.64 % of base) : 292013.dasm - Generated959:MethodCallingTest() (FullOpts)
        -448 (-1.98 % of base) : 284476.dasm - Generated718:MethodCallingTest() (FullOpts)
        -440 (-1.75 % of base) : 263310.dasm - Generated1064:MethodCallingTest() (FullOpts)
        -440 (-1.67 % of base) : 290119.dasm - Generated903:MethodCallingTest() (FullOpts)
        -440 (-1.65 % of base) : 290153.dasm - Generated904:MethodCallingTest() (FullOpts)
        -440 (-1.68 % of base) : 291743.dasm - Generated951:MethodCallingTest() (FullOpts)

Top method regressions (percentages):
           4 (4.55 % of base) : 313929.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
          12 (4.05 % of base) : 197223.dasm - ForwardSubCallArgInterference3:TestEntryPoint():int (FullOpts)
           4 (3.57 % of base) : 252616.dasm - Runtime_95347:Test():int (FullOpts)
           4 (3.23 % of base) : 296449.dasm - ILVerify.Verifier+<>c:<.ctor>b__5_0():System.Resources.ResourceManager:this (FullOpts)
           4 (2.94 % of base) : 187244.dasm - Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
          12 (2.65 % of base) : 187112.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          12 (2.65 % of base) : 187122.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          12 (2.65 % of base) : 186805.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          12 (2.65 % of base) : 229173.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.63 % of base) : 187109.dasm - Gen`2[double,System.Guid]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 187096.dasm - Gen`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 186795.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 186801.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 228999.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 228765.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           4 (2.56 % of base) : 314189.dasm - Microsoft.Build.Framework.NativeMethods:get_FrameworkCurrentPath():System.String (FullOpts)
           4 (2.44 % of base) : 187039.dasm - Gen`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
           4 (2.44 % of base) : 186791.dasm - GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
           4 (2.44 % of base) : 229200.dasm - GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
           4 (2.44 % of base) : 228911.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)

Top method improvements (percentages):
        -108 (-26.21 % of base) : 257045.dasm - testout1:Func(testout1+CL,testout1+VT):long (FullOpts)
         -16 (-23.53 % of base) : 254468.dasm - GitHub_18497:Test():System.Numerics.Vector`1[float] (FullOpts)
         -36 (-22.50 % of base) : 256825.dasm - bug1:TestEntryPoint() (FullOpts)
         -96 (-16.90 % of base) : 239994.dasm - Test_200w1d_02.testout1:TestEntryPoint():int (FullOpts)
         -12 (-16.67 % of base) : 200991.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
         -24 (-14.29 % of base) : 186495.dasm - StaticValueField:TestEntryPoint():int (FullOpts)
         -16 (-13.79 % of base) : 248062.dasm - Test_b18049:main():int (FullOpts)
         -16 (-13.33 % of base) : 197988.dasm - Q:TestEntryPoint():int (FullOpts)
          -8 (-13.33 % of base) : 254555.dasm - Test_GitHub_19222:main():int (FullOpts)
         -52 (-12.75 % of base) : 257033.dasm - bug1:TestEntryPoint() (FullOpts)
         -12 (-11.54 % of base) : 313889.dasm - Microsoft.Build.Framework.NativeMethods:get_IsWindows():ubyte (FullOpts)
         -12 (-10.71 % of base) : 254471.dasm - GitHub_18522:TestEntryPoint():int (FullOpts)
          -8 (-10.53 % of base) : 223141.dasm - AssemblyToLoad.Program:UseDependentAssembly():System.Reflection.Assembly (FullOpts)
          -8 (-10.53 % of base) : 222983.dasm - BinderTracingTests.BinderTracingTest:UseDependentAssembly():System.Reflection.Assembly (FullOpts)
         -16 (-10.26 % of base) : 223082.dasm - CMain:RunTest_ImplicitOverride5():ubyte (FullOpts)
         -16 (-10.26 % of base) : 227229.dasm - CMain:RunTest_MoreDerived2():ubyte (FullOpts)
         -16 (-10.26 % of base) : 227977.dasm - CMain:RunTest1():ubyte (FullOpts)
         -16 (-10.26 % of base) : 227206.dasm - CMain:RunTest3():ubyte (FullOpts)
         -16 (-10.26 % of base) : 227986.dasm - CMain:RunTest5():ubyte (FullOpts)
         -16 (-10.26 % of base) : 223062.dasm - CMain:RunTest5():ubyte (FullOpts)


libraries.pmi.osx.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 81113832 (overridden on cmd)
Total bytes of diff: 81106136 (overridden on cmd)
Total bytes of delta: -7696 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          32 : 266136.dasm (0.88 % of base)
          24 : 305815.dasm (1.53 % of base)
          16 : 301706.dasm (0.69 % of base)
          16 : 56354.dasm (0.67 % of base)
          16 : 56734.dasm (1.29 % of base)
          16 : 266135.dasm (0.46 % of base)
          16 : 56735.dasm (1.31 % of base)
          16 : 56736.dasm (1.78 % of base)
          12 : 301676.dasm (1.28 % of base)
          12 : 305777.dasm (1.23 % of base)
          12 : 249206.dasm (1.06 % of base)
          12 : 249208.dasm (0.97 % of base)
          12 : 285369.dasm (0.83 % of base)
          12 : 249196.dasm (1.52 % of base)
          12 : 255790.dasm (0.53 % of base)
          12 : 301670.dasm (0.54 % of base)
          12 : 301700.dasm (0.81 % of base)
          12 : 305778.dasm (1.21 % of base)
          12 : 305779.dasm (2.59 % of base)
          12 : 60407.dasm (2.91 % of base)

Top file improvements (bytes):
         -88 : 70137.dasm (-1.31 % of base)
         -64 : 69224.dasm (-0.77 % of base)
         -60 : 108544.dasm (-2.05 % of base)
         -56 : 70114.dasm (-1.08 % of base)
         -56 : 103794.dasm (-1.13 % of base)
         -56 : 108545.dasm (-1.62 % of base)
         -48 : 69520.dasm (-1.72 % of base)
         -48 : 69588.dasm (-1.48 % of base)
         -48 : 77752.dasm (-0.88 % of base)
         -48 : 99013.dasm (-1.03 % of base)
         -48 : 132381.dasm (-0.30 % of base)
         -44 : 216994.dasm (-7.69 % of base)
         -40 : 70078.dasm (-1.01 % of base)
         -40 : 108222.dasm (-1.33 % of base)
         -40 : 205888.dasm (-0.21 % of base)
         -36 : 154583.dasm (-1.27 % of base)
         -36 : 70612.dasm (-1.41 % of base)
         -32 : 69509.dasm (-0.72 % of base)
         -32 : 74597.dasm (-1.10 % of base)
         -32 : 102589.dasm (-0.87 % of base)

80 total files with Code Size differences (42 improved, 38 regressed), 0 unchanged.

Top method regressions (bytes):
          32 (0.88 % of base) : 266136.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[ubyte]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],ubyte] (FullOpts)
          24 (1.53 % of base) : 305815.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          16 (0.67 % of base) : 56354.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.Adapters:ConvImmutableTypeToMutableType(Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,System.Type):System.Type (FullOpts)
          16 (1.31 % of base) : 56735.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) : 56736.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.29 % of base) : 56734.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)
          16 (0.46 % of base) : 266135.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[System.__Canon]():System.Func`2[System.__Canon,System.__Canon] (FullOpts)
          16 (0.69 % of base) : 301706.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)
          12 (1.23 % of base) : 305777.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactory[System.__Canon](System.Type[]):Microsoft.Extensions.DependencyInjection.ObjectFactory`1[System.__Canon] (FullOpts)
          12 (1.21 % of base) : 305778.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactory[ubyte](System.Type[]):Microsoft.Extensions.DependencyInjection.ObjectFactory`1[ubyte] (FullOpts)
          12 (2.59 % of base) : 305779.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
          12 (0.83 % of base) : 285369.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.ExpressionResolverBuilder:.cctor() (FullOpts)
          12 (2.91 % of base) : 60407.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
          12 (1.52 % of base) : 249196.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateMethodCall[System.__Canon](System.Reflection.MethodBase):Newtonsoft.Json.Utilities.MethodCall`2[System.__Canon,System.__Canon]:this (FullOpts)
          12 (1.06 % of base) : 249206.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[ubyte](System.Reflection.FieldInfo):System.Action`2[ubyte,System.Object]:this (FullOpts)
          12 (0.97 % of base) : 249208.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[ubyte](System.Reflection.PropertyInfo):System.Action`2[ubyte,System.Object]:this (FullOpts)
          12 (0.81 % of base) : 301700.dasm - System.Composition.TypedParts.ActivationFeatures.OnImportsSatisfiedFeature: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)
          12 (0.54 % of base) : 301670.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:GetActivator(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
          12 (1.28 % of base) : 301676.dasm - System.Composition.TypedParts.Discovery.DiscoveredPropertyExport:GetExportDescriptor(System.Composition.Hosting.Core.CompositeActivator):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
          12 (0.53 % of base) : 255790.dasm - Xunit.Sdk.ExecutionContextHelper:EnsureInitialized() (FullOpts)

Top method improvements (bytes):
         -88 (-1.31 % of base) : 70137.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) : 69224.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.05 % of base) : 108544.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) : 103794.dasm - Microsoft.CodeAnalysis.CSharp.AsyncRewriter+AsyncIteratorRewriter:VerifyPresenceOfRequiredAPIs(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -56 (-1.08 % of base) : 70114.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.62 % of base) : 108545.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) : 69588.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) : 69520.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.88 % of base) : 77752.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitLockStatement(Microsoft.CodeAnalysis.CSharp.BoundLockStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
         -48 (-1.03 % of base) : 99013.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:EarlyDecodeWellKnownAttribute(byref):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.CSharp.BoundAttribute]:this (FullOpts)
         -48 (-0.30 % of base) : 132381.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) : 216994.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
         -40 (-1.01 % of base) : 70078.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.33 % of base) : 108222.dasm - System.Net.Http.Http2Connection+Http2Stream:OnStatus(int):this (FullOpts)
         -40 (-0.21 % of base) : 205888.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.41 % of base) : 70612.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitUsingStatement(Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax):this (FullOpts)
         -36 (-1.27 % of base) : 154583.dasm - Microsoft.CodeAnalysis.VisualBasic.LocalRewriter:EnsureStringHashFunction(Microsoft.CodeAnalysis.VisualBasic.BoundSelectStatement):this (FullOpts)
         -32 (-0.72 % of base) : 69509.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ConvertToArrayIndex(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,byref):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
         -32 (-0.87 % of base) : 102589.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.10 % of base) : 74597.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) : 266161.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 266165.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 266149.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 266153.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 266144.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 301709.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
           4 (4.55 % of base) : 189681.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
           8 (3.85 % of base) : 130389.dasm - Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView:.cctor() (FullOpts)
           4 (3.85 % of base) : 112047.dasm - Microsoft.Diagnostics.Tracing.Stacks.StackSourceWriterHelper:GetExporterInfo():System.String (FullOpts)
           4 (3.23 % of base) : 223854.dasm - Internal.TypeSystem.TypeSystemException+<>c:<.cctor>b__20_0():System.Resources.ResourceManager:this (FullOpts)
          12 (2.91 % of base) : 60407.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
           4 (2.78 % of base) : 187099.dasm - Microsoft.Build.BackEnd.TaskParameterTypeVerifier:IsAssignableToITask(System.Type):ubyte (FullOpts)
          12 (2.59 % of base) : 305779.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
           4 (2.56 % of base) : 301675.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:.cctor() (FullOpts)
           4 (2.33 % of base) : 312271.dasm - CommandLine.Core.ReflectionExtensions:ToTargetType(System.Type):int (FullOpts)
           4 (2.33 % of base) : 109932.dasm - Dia2Lib.DiaLoader:GetDiaSourceObject():Dia2Lib.IDiaDataSource3 (FullOpts)
           4 (2.27 % of base) : 266157.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:.cctor() (FullOpts)
           4 (2.22 % of base) : 301697.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.00 % of base) : 240456.dasm - Microsoft.Build.Framework.NativeMethods:get_FrameworkCurrentPath():System.String (FullOpts)
           4 (1.79 % of base) : 255643.dasm - Xunit.Sdk.XunitTestFrameworkDiscoverer:.cctor() (FullOpts)

Top method improvements (percentages):
         -12 (-21.43 % of base) : 290835.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) : 240940.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 46625.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 172484.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 49514.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
          -8 (-14.29 % of base) : 175285.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
          -8 (-14.29 % of base) : 310754.dasm - System.ComponentModel.DesignerCategoryAttribute:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 302304.dasm - System.Net.FtpControlStream:get_BannerMessage():System.String:this (FullOpts)
          -8 (-14.29 % of base) : 302306.dasm - System.Net.FtpControlStream:get_ExitMessage():System.String:this (FullOpts)
          -8 (-14.29 % of base) : 302305.dasm - System.Net.FtpControlStream:get_WelcomeMessage():System.String:this (FullOpts)
          -8 (-14.29 % of base) : 287596.dasm - System.Net.SafeDeleteSslContext:get_IsInvalid():ubyte:this (FullOpts)
          -8 (-14.29 % of base) : 2919.dasm - System.RuntimeTypeHandle:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 15443.dasm - System.Threading.AsyncFlowControl:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 288642.dasm - Xunit.ExecutionSink:WaitForStopEvent(int):ubyte:this (FullOpts)
          -8 (-13.33 % of base) : 285248.dasm - Microsoft.Extensions.DependencyInjection.ServiceProvider:OnCreate(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite):this (FullOpts)
          -8 (-11.76 % of base) : 310740.dasm - System.ComponentModel.DescriptionAttribute:GetHashCode():int:this (FullOpts)
          -8 (-11.76 % of base) : 310772.dasm - System.ComponentModel.DisplayNameAttribute:GetHashCode():int:this (FullOpts)
          -8 (-11.11 % of base) : 310719.dasm - System.ComponentModel.CategoryAttribute:GetHashCode():int:this (FullOpts)
          -8 (-10.53 % of base) : 229970.dasm - System.Security.Cryptography.X509Certificates.AppleCertificatePal:get_HasPrivateKey():ubyte:this (FullOpts)
         -12 (-10.00 % of base) : 246268.dasm - System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)


libraries_tests.run.osx.arm64.Release.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 313602060 (overridden on cmd)
Total bytes of diff: 313591996 (overridden on cmd)
Total bytes of delta: -10064 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          16 : 493750.dasm (0.11 % of base)
          12 : 101410.dasm (0.28 % of base)
           8 : 258832.dasm (0.85 % of base)
           8 : 79333.dasm (0.66 % of base)
           4 : 300843.dasm (0.82 % of base)
           4 : 328755.dasm (0.82 % of base)
           4 : 461023.dasm (0.82 % of base)
           4 : 627064.dasm (0.40 % of base)
           4 : 627172.dasm (0.14 % of base)
           4 : 630168.dasm (0.40 % of base)
           4 : 631960.dasm (0.40 % of base)
           4 : 178280.dasm (2.04 % of base)
           4 : 241558.dasm (2.04 % of base)
           4 : 285071.dasm (0.82 % of base)
           4 : 326216.dasm (0.82 % of base)
           4 : 332780.dasm (0.82 % of base)
           4 : 367431.dasm (0.82 % of base)
           4 : 619220.dasm (0.46 % of base)
           4 : 622884.dasm (0.40 % of base)
           4 : 625188.dasm (0.40 % of base)

Top file improvements (bytes):
         -48 : 624411.dasm (-0.81 % of base)
         -44 : 532609.dasm (-5.98 % of base)
         -44 : 532616.dasm (-5.98 % of base)
         -44 : 54042.dasm (-1.39 % of base)
         -44 : 54224.dasm (-1.22 % of base)
         -44 : 533894.dasm (-5.98 % of base)
         -44 : 534226.dasm (-5.98 % of base)
         -44 : 561758.dasm (-5.98 % of base)
         -44 : 564349.dasm (-5.98 % of base)
         -32 : 136949.dasm (-1.33 % of base)
         -32 : 158497.dasm (-0.69 % of base)
         -32 : 344529.dasm (-1.33 % of base)
         -32 : 99782.dasm (-1.32 % of base)
         -32 : 235981.dasm (-1.31 % of base)
         -32 : 570289.dasm (-1.32 % of base)
         -32 : 241465.dasm (-1.32 % of base)
         -32 : 358805.dasm (-1.31 % of base)
         -32 : 66237.dasm (-1.32 % of base)
         -32 : 67729.dasm (-1.33 % of base)
         -32 : 70510.dasm (-1.32 % of base)

79 total files with Code Size differences (40 improved, 39 regressed), 0 unchanged.

Top method regressions (bytes):
          16 (0.11 % of base) : 493750.dasm - System.Text.Tests.TranscodingStreamTests+<RunReadTestAsync>d__29:MoveNext():this (Tier1)
          12 (0.28 % of base) : 101410.dasm - System.Runtime.CompilerServices.CallSiteBinder:BindCore[System.__Canon](System.Runtime.CompilerServices.CallSite`1[System.__Canon],System.Object[]):System.__Canon:this (Tier1)
           8 (0.85 % of base) : 258832.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (Tier0-FullOpts)
           8 (0.66 % of base) : 79333.dasm - System.Reflection.FieldAccessor:Initialize():this (Instrumented Tier1)
           4 (0.40 % of base) : 627064.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 630168.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 631960.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 622884.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 625188.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 629316.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 610508.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 632000.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (2.04 % of base) : 178280.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
           4 (2.04 % of base) : 241558.dasm - System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
           4 (2.04 % of base) : 84865.dasm - System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
           4 (1.22 % of base) : 114882.dasm - System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
           4 (0.82 % of base) : 300843.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 328755.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 461023.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 285071.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)

Top method improvements (bytes):
         -48 (-0.81 % of base) : 624411.dasm - System.Threading.Tests.MutexTests+<>c__DisplayClass19_0:<AbandonExisting>b__0():this (Tier1)
         -44 (-1.39 % of base) : 54042.dasm - Microsoft.CodeAnalysis.CSharp.MergedTypeDeclaration:get_SyntaxReferences():System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxReference]:this (Tier1)
         -44 (-1.22 % of base) : 54224.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:GetNonNullSyntaxNode(Microsoft.CodeAnalysis.CSharp.Symbol):Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode (Tier1)
         -44 (-5.98 % of base) : 534226.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 533894.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 532609.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 564349.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[System.DateTimeOffset]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 532616.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 561758.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -32 (-0.69 % of base) : 158497.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:CheckIfAttributeShouldBeEmbedded(int,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location):ubyte:this (Tier1)
         -32 (-1.33 % of base) : 136949.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.33 % of base) : 344529.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 99782.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.31 % of base) : 235981.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 570289.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 241465.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.31 % of base) : 358805.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 66237.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.33 % of base) : 67729.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 70510.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)

Top method regressions (percentages):
           4 (2.04 % of base) : 178280.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
           4 (2.04 % of base) : 241558.dasm - System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
           4 (2.04 % of base) : 84865.dasm - System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
           4 (1.22 % of base) : 114882.dasm - System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
           8 (0.85 % of base) : 258832.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) : 300843.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 328755.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 461023.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 285071.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 326216.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 332780.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 367431.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 625331.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 426856.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 177052.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 235652.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 281571.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 330327.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 366031.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 432415.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)

Top method improvements (percentages):
         -16 (-12.12 % of base) : 462062.dasm - System.Security.Cryptography.SecKeyPair:Dispose():this (Tier1)
         -16 (-11.11 % of base) : 461842.dasm - System.Security.Cryptography.RSAImplementation+RSASecurityTransforms:Dispose(ubyte):this (Tier1)
          -8 (-10.00 % of base) : 623916.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
          -8 (-8.33 % of base) : 237214.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
          -8 (-8.33 % of base) : 458473.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
          -8 (-6.25 % of base) : 93647.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Instrumented Tier1)
         -44 (-5.98 % of base) : 534226.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 533894.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 532609.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 564349.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[System.DateTimeOffset]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 532616.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 561758.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -8 (-5.88 % of base) : 465985.dasm - System.Security.Cryptography.DSAOpenSsl:FreeKey():this (Tier1)
          -8 (-5.88 % of base) : 466028.dasm - System.Security.Cryptography.ECOpenSsl:FreeKey():this (Tier1)
          -8 (-5.56 % of base) : 465988.dasm - System.Security.Cryptography.DSAOpenSsl:Dispose(ubyte):this (Tier1)
          -8 (-4.88 % of base) : 414109.dasm - System.Threading.WaitHandle:Close():this (Instrumented Tier1)
          -8 (-4.88 % of base) : 414283.dasm - System.Threading.WaitHandle:Close():this (Tier1)
          -8 (-4.88 % of base) : 119694.dasm - System.Threading.WaitHandle:Dispose():this (Tier1)
          -8 (-4.65 % of base) : 229675.dasm - System.IO.StringWriter:get_Encoding():System.Text.Encoding:this (Instrumented Tier1)
         -12 (-4.55 % of base) : 47191.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)


librariestestsnotieredcompilation.run.osx.arm64.Release.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 161383428 (overridden on cmd)
Total bytes of diff: 161373768 (overridden on cmd)
Total bytes of delta: -9660 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          60 : 85940.dasm (0.61 % of base)
          60 : 85944.dasm (0.61 % of base)
          60 : 85808.dasm (0.61 % of base)
          60 : 85825.dasm (0.61 % of base)
          36 : 81415.dasm (0.60 % of base)
          36 : 81662.dasm (0.61 % of base)
          32 : 79915.dasm (0.66 % of base)
          32 : 85794.dasm (0.52 % of base)
          32 : 85813.dasm (0.52 % of base)
          32 : 85933.dasm (0.52 % of base)
          32 : 85949.dasm (0.52 % of base)
          28 : 226249.dasm (0.52 % of base)
          28 : 85592.dasm (0.50 % of base)
          28 : 85851.dasm (0.54 % of base)
          28 : 85941.dasm (0.54 % of base)
          28 : 85943.dasm (0.54 % of base)
          28 : 85942.dasm (0.54 % of base)
          24 : 132704.dasm (0.76 % of base)
          24 : 132767.dasm (0.75 % of base)
          24 : 132799.dasm (0.72 % of base)

Top file improvements (bytes):
        -228 : 140292.dasm (-3.04 % of base)
        -100 : 257661.dasm (-5.35 % of base)
         -96 : 225386.dasm (-2.67 % of base)
         -96 : 225548.dasm (-2.93 % of base)
         -64 : 192549.dasm (-2.88 % of base)
         -64 : 194775.dasm (-2.82 % of base)
         -64 : 225486.dasm (-2.96 % of base)
         -64 : 225506.dasm (-2.96 % of base)
         -64 : 225522.dasm (-2.00 % of base)
         -64 : 23206.dasm (-0.77 % of base)
         -64 : 88069.dasm (-1.17 % of base)
         -64 : 88071.dasm (-1.32 % of base)
         -56 : 128162.dasm (-1.10 % of base)
         -56 : 140765.dasm (-2.18 % of base)
         -56 : 140864.dasm (-2.13 % of base)
         -56 : 141082.dasm (-2.15 % of base)
         -56 : 154204.dasm (-1.73 % of base)
         -52 : 20864.dasm (-1.96 % of base)
         -48 : 88065.dasm (-2.29 % of base)
         -48 : 7430.dasm (-0.92 % of base)

84 total files with Code Size differences (44 improved, 40 regressed), 2 unchanged.

Top method regressions (bytes):
          60 (0.61 % of base) : 85944.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeObject_RemovesProvider():this (FullOpts)
          60 (0.61 % of base) : 85808.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeType_RemovesProvider():this (FullOpts)
          60 (0.61 % of base) : 85940.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeObject_RemovesProvider():this (FullOpts)
          60 (0.61 % of base) : 85825.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeType_RemovesProvider():this (FullOpts)
          36 (0.61 % of base) : 81662.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
          36 (0.60 % of base) : 81415.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameReverseOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
          32 (0.66 % of base) : 79915.dasm - System.ComponentModel.Composition.DirectoryCatalogTests:GetExports():this (FullOpts)
          32 (0.52 % of base) : 85813.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
          32 (0.52 % of base) : 85933.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
          32 (0.52 % of base) : 85794.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
          32 (0.52 % of base) : 85949.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
          28 (0.50 % of base) : 85592.dasm - System.ComponentModel.Tests.TypeDescriptionProviderTests:GetFullComponentName_InvokeWithCustomTypeDescriptor_ReturnsExpected(System.Object,System.String):this (FullOpts)
          28 (0.54 % of base) : 85941.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
          28 (0.54 % of base) : 85942.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeType_GetProviderReturnsExpected():this (FullOpts)
          28 (0.54 % of base) : 85943.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
          28 (0.54 % of base) : 85851.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeType_GetProviderReturnsExpected():this (FullOpts)
          28 (0.52 % of base) : 226249.dasm - System.Text.Tests.TranscodingStreamTests:Flush_FlushesInnerStreamButNotDecodedState():this (FullOpts)
          24 (0.72 % of base) : 132799.dasm - System.Linq.Tests.GroupJoinTests:OuterEmptyInnerNonEmpty():this (FullOpts)
          24 (0.76 % of base) : 132704.dasm - System.Linq.Tests.GroupJoinTests+<>c__DisplayClass11_0:<OuterNullNoComparer>b__0():System.Object:this (FullOpts)
          24 (0.75 % of base) : 132767.dasm - System.Linq.Tests.GroupJoinTests+<>c__DisplayClass7_0:<InnerNull>b__0():System.Object:this (FullOpts)

Top method improvements (bytes):
        -228 (-3.04 % of base) : 140292.dasm - System.Buffers.Binary.Tests.BinaryReaderUnitTests:SpanWriteAndReadBigEndianHeterogeneousStruct():this (FullOpts)
        -100 (-5.35 % of base) : 257661.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) : 225386.dasm - System.Text.Tests.NegativeEncodingTests+<Encodings_TestData>d__0:MoveNext():ubyte:this (FullOpts)
         -96 (-2.93 % of base) : 225548.dasm - System.Text.Tests.UnicodeEncodingTests+<Equals_TestData>d__10:MoveNext():ubyte:this (FullOpts)
         -64 (-2.88 % of base) : 192549.dasm - DataContractSerializerTests:DCS_KnownSerializableTypes_Tuples() (FullOpts)
         -64 (-2.82 % of base) : 194775.dasm - DataContractSerializerTests:DCS_KnownSerializableTypes_Tuples() (FullOpts)
         -64 (-0.77 % of base) : 23206.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) : 88071.dasm - MonoTests.System.Configuration.ConfigurationErrorsExceptionTest:Constructor4():this (FullOpts)
         -64 (-1.17 % of base) : 88069.dasm - MonoTests.System.Configuration.ConfigurationErrorsExceptionTest:Constructor6():this (FullOpts)
         -64 (-2.96 % of base) : 225506.dasm - System.Text.Tests.UnicodeEncodingTests+<Encodings_TestData>d__4:MoveNext():ubyte:this (FullOpts)
         -64 (-2.96 % of base) : 225486.dasm - System.Text.Tests.UTF32EncodingTests+<Encodings_TestData>d__4:MoveNext():ubyte:this (FullOpts)
         -64 (-2.00 % of base) : 225522.dasm - System.Text.Tests.UTF32EncodingTests+<Equals_TestData>d__10:MoveNext():ubyte:this (FullOpts)
         -56 (-1.10 % of base) : 128162.dasm - System.IO.Tests.BinaryWriterTests:BinaryWriter_SeekTests():this (FullOpts)
         -56 (-2.18 % of base) : 140765.dasm - System.MemoryTests.MemoryTests:MemoryFromMemoryManagerInt() (FullOpts)
         -56 (-2.13 % of base) : 140864.dasm - System.MemoryTests.MemoryTests:MemoryFromMemoryManagerLong() (FullOpts)
         -56 (-2.15 % of base) : 141082.dasm - System.MemoryTests.MemoryTests:ReadOnlyMemoryFromMemoryFromMemoryManagerInt() (FullOpts)
         -56 (-1.73 % of base) : 154204.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp2Connection(System.Net.Http.Http2Connection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.Http2Connection]):this (FullOpts)
         -52 (-1.96 % of base) : 20864.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
         -48 (-0.92 % of base) : 7430.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<CreateConversion>g__checkConstraintLanguageVersionAndRuntimeSupportForConversion|208_2(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Conversion,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -48 (-2.29 % of base) : 88065.dasm - MonoTests.System.Configuration.ConfigurationErrorsExceptionTest:GetLineNumber2():this (FullOpts)

Top method regressions (percentages):
           4 (8.33 % of base) : 173830.dasm - System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
           4 (5.26 % of base) : 199111.dasm - System.Tests.Types.GenericTypeParameter1Of1Tests:CreateType():System.Type:this (FullOpts)
           4 (4.76 % of base) : 34617.dasm - DryIoc.Converter:.cctor() (FullOpts)
           4 (4.76 % of base) : 33984.dasm - LightInject.ServiceContainer:.cctor() (FullOpts)
           4 (4.76 % of base) : 33981.dasm - LightInject.ServiceContainer:<EmitNewInstance>g__IsNotServiceFactory|175_0(System.Type):ubyte (FullOpts)
           4 (4.76 % of base) : 33960.dasm - LightInject.ServiceFactoryLoader:.cctor() (FullOpts)
           4 (4.76 % of base) : 86938.dasm - Microsoft.Composition.Demos.ExtendedCollectionImports.Dictionaries.DictionaryExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 86608.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 86616.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 29722.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 41262.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 86614.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 86547.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 29655.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 41089.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 86612.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 86305.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
           4 (4.35 % of base) : 180692.dasm - System.Reflection.Tests.Helpers:get_ExecutingAssembly():System.Reflection.Assembly (FullOpts)
           4 (4.35 % of base) : 181594.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumNames_TypeNotEnum_ThrowsArgumentException>b__16_0():System.Object:this (FullOpts)
           4 (4.35 % of base) : 180858.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumUnderlyingType_TypeNotEnum_ThrowsArgumentException>b__18_0():System.Object:this (FullOpts)

Top method improvements (percentages):
         -12 (-21.43 % of base) : 154714.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) : 21390.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -8 (-14.29 % of base) : 11610.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
          -8 (-14.29 % of base) : 2946.dasm - Microsoft.VisualStudio.Composition.ByValueEquality+AssemblyNameComparer:GetHashCode(System.Reflection.AssemblyName):int:this (FullOpts)
          -8 (-14.29 % of base) : 82523.dasm - System.ComponentModel.DesignerCategoryAttribute:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 20619.dasm - System.Net.SafeDeleteSslContext:get_IsInvalid():ubyte:this (FullOpts)
          -8 (-11.76 % of base) : 82361.dasm - System.ComponentModel.DescriptionAttribute:GetHashCode():int:this (FullOpts)
          -8 (-11.76 % of base) : 82550.dasm - System.ComponentModel.DisplayNameAttribute:GetHashCode():int:this (FullOpts)
         -32 (-11.27 % of base) : 41557.dasm - Microsoft.CodeAnalysis.NamingStyles.NamingStyle:GetHashCode():int:this (FullOpts)
         -32 (-11.27 % of base) : 47290.dasm - Microsoft.CodeAnalysis.NamingStyles.NamingStyle:GetHashCode():int:this (FullOpts)
         -12 (-11.11 % of base) : 127810.dasm - System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
          -8 (-11.11 % of base) : 82479.dasm - System.ComponentModel.CategoryAttribute:GetHashCode():int:this (FullOpts)
         -24 (-10.53 % of base) : 153143.dasm - System.Net.NegotiateAuthenticationPal+UnixNegotiateAuthenticationPal:Dispose():this (FullOpts)
          -8 (-10.53 % of base) : 151131.dasm - System.Security.Cryptography.X509Certificates.AppleCertificatePal:get_HasPrivateKey():ubyte:this (FullOpts)
         -12 (-9.09 % of base) : 34278.dasm - Autofac.Core.Resolving.Pipeline.DefaultResolveRequestContext:ChangeScope(Autofac.Core.ISharingLifetimeScope):this (FullOpts)
          -8 (-8.70 % of base) : 176776.dasm - System.Reflection.Tests.MyAttributeBase_M:ToString():System.String:this (FullOpts)
          -8 (-8.70 % of base) : 176758.dasm - System.Reflection.Tests.ParameterInfoAttributeBase:ToString():System.String:this (FullOpts)
          -8 (-8.00 % of base) : 20887.dasm - System.Net.Security.SslStream:get_IsAuthenticated():ubyte:this (FullOpts)
         -44 (-7.69 % of base) : 139485.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -8 (-7.14 % of base) : 150310.dasm - System.Security.Cryptography.X509Certificates.AppleCertificatePal:get_Handle():long:this (FullOpts)


realworld.run.osx.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 15058504 (overridden on cmd)
Total bytes of diff: 15055148 (overridden on cmd)
Total bytes of delta: -3356 (-0.02 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          24 : 29402.dasm (1.01 % of base)
           8 : 31269.dasm (0.72 % of base)
           8 : 31382.dasm (0.75 % of base)
           8 : 2202.dasm (0.85 % of base)
           8 : 28839.dasm (0.18 % of base)
           8 : 31383.dasm (1.22 % of base)
           8 : 31590.dasm (0.81 % of base)
           4 : 3310.dasm (4.55 % of base)
           4 : 3347.dasm (2.56 % of base)
           4 : 12319.dasm (1.75 % of base)
           4 : 24574.dasm (2.04 % of base)
           4 : 24808.dasm (0.65 % of base)
           4 : 28518.dasm (0.62 % of base)
           4 : 2867.dasm (0.46 % of base)
           4 : 31165.dasm (0.25 % of base)
           4 : 11236.dasm (2.13 % of base)

Top file improvements (bytes):
         -64 : 10574.dasm (-2.28 % of base)
         -56 : 19052.dasm (-1.20 % of base)
         -48 : 23960.dasm (-1.82 % of base)
         -48 : 25924.dasm (-0.92 % of base)
         -48 : 19627.dasm (-1.05 % of base)
         -40 : 22572.dasm (-1.07 % of base)
         -40 : 7792.dasm (-6.10 % of base)
         -40 : 8333.dasm (-1.76 % of base)
         -40 : 9701.dasm (-1.05 % of base)
         -36 : 22994.dasm (-1.49 % of base)
         -36 : 3320.dasm (-7.09 % of base)
         -32 : 10309.dasm (-0.52 % of base)
         -32 : 21862.dasm (-0.77 % of base)
         -32 : 26518.dasm (-0.92 % of base)
         -32 : 25972.dasm (-0.35 % of base)
         -32 : 3214.dasm (-0.53 % of base)
         -28 : 29224.dasm (-0.93 % of base)
         -24 : 26597.dasm (-0.85 % of base)
         -24 : 8421.dasm (-4.41 % of base)
         -24 : 17957.dasm (-2.17 % of base)

67 total files with Code Size differences (51 improved, 16 regressed), 0 unchanged.

Top method regressions (bytes):
          24 (1.01 % of base) : 29402.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
           8 (0.85 % of base) : 2202.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) : 31590.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
           8 (1.22 % of base) : 31383.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
           8 (0.75 % of base) : 31382.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
           8 (0.18 % of base) : 28839.dasm - System.Management.Automation.Language.Compiler:.cctor() (FullOpts)
           8 (0.72 % of base) : 31269.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.46 % of base) : 2867.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
           4 (0.62 % of base) : 28518.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
           4 (4.55 % of base) : 3310.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
           4 (2.56 % of base) : 3347.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
           4 (2.04 % of base) : 24574.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
           4 (1.75 % of base) : 12319.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
           4 (0.25 % of base) : 31165.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
           4 (0.65 % of base) : 24808.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           4 (2.13 % of base) : 11236.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)

Top method improvements (bytes):
         -64 (-2.28 % of base) : 10574.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) : 19052.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)
         -48 (-1.82 % of base) : 23960.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) : 25924.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitLockStatement(Microsoft.CodeAnalysis.CSharp.BoundLockStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
         -48 (-1.05 % of base) : 19627.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:EarlyDecodeWellKnownAttribute(byref):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.CSharp.BoundAttribute]:this (FullOpts)
         -40 (-6.10 % of base) : 7792.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) : 9701.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.76 % of base) : 8333.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) : 22572.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetEnumeratorInfoCore(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,byref,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):int:this (FullOpts)
         -36 (-7.09 % of base) : 3320.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
         -36 (-1.49 % of base) : 22994.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitUsingStatement(Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax):this (FullOpts)
         -32 (-0.53 % of base) : 3214.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.52 % of base) : 10309.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) : 21862.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) : 26518.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) : 25972.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) : 29224.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 (-4.41 % of base) : 8421.dasm - FSharp.Compiler.CheckExpressions+GeneralizationHelpers+IsCondensationTypar@2210:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)
         -24 (-0.85 % of base) : 26597.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:MakeEventAccess(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.EventSymbol,Microsoft.CodeAnalysis.ConstantValue,ubyte,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
         -24 (-2.17 % of base) : 17957.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ReportDiagnosticsForSynthesizedAttributes(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)

Top method regressions (percentages):
           4 (4.55 % of base) : 3310.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
           4 (2.56 % of base) : 3347.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
           4 (2.13 % of base) : 11236.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
           4 (2.04 % of base) : 24574.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
           4 (1.75 % of base) : 12319.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
           8 (1.22 % of base) : 31383.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
          24 (1.01 % of base) : 29402.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
           8 (0.85 % of base) : 2202.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) : 31590.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
           8 (0.75 % of base) : 31382.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
           8 (0.72 % of base) : 31269.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) : 24808.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           4 (0.62 % of base) : 28518.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
           4 (0.46 % of base) : 2867.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
           4 (0.25 % of base) : 31165.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
           8 (0.18 % of base) : 28839.dasm - System.Management.Automation.Language.Compiler:.cctor() (FullOpts)

Top method improvements (percentages):
         -36 (-7.09 % of base) : 3320.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
         -40 (-6.10 % of base) : 7792.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)
          -8 (-5.88 % of base) : 16042.dasm - Roslyn.Utilities.TextKeyedCache`1[System.__Canon]:NextRandom():int:this (FullOpts)
         -16 (-5.88 % of base) : 564.dasm - System.IO.MemoryMappedFiles.MemoryMappedFile:Dispose(ubyte):this (FullOpts)
          -8 (-5.56 % of base) : 10340.dasm - FSharp.Compiler.TypedTreeBasics:isLessAccessible(FSharp.Compiler.TypedTree+Accessibility,FSharp.Compiler.TypedTree+Accessibility):ubyte (FullOpts)
          -8 (-5.41 % of base) : 8439.dasm - FSharp.Compiler.CheckExpressions+PlaceTyparsInDeclarationOrder@1625:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)
         -16 (-4.60 % of base) : 7926.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) : 8421.dasm - FSharp.Compiler.CheckExpressions+GeneralizationHelpers+IsCondensationTypar@2210:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)
          -8 (-4.17 % of base) : 965.dasm - System.Text.UnicodeEncoding:.cctor() (FullOpts)
         -12 (-3.90 % of base) : 23754.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitQueryClause(Microsoft.CodeAnalysis.CSharp.BoundQueryClause):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
          -8 (-3.85 % of base) : 21302.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:HasInitializer(Microsoft.CodeAnalysis.CSharp.Symbol):ubyte (FullOpts)
          -8 (-3.77 % of base) : 8289.dasm - FSharp.Compiler.CheckExpressions+envinner@6481:Invoke(FSharp.Compiler.TypedTree+Val,FSharp.Compiler.TypedTree+ArgReprInfo):Microsoft.FSharp.Core.Unit:this (FullOpts)
          -8 (-3.70 % of base) : 5528.dasm - System.Threading.CancellationTokenSource:Dispose(ubyte):this (FullOpts)
          -8 (-3.64 % of base) : 9607.dasm - FSharp.Compiler.ConstraintSolver+results@1879-1:Invoke(FSharp.Compiler.Infos+MethInfo):ubyte:this (FullOpts)
          -8 (-3.45 % of base) : 18774.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbolBase:GetAttributesBag():Microsoft.CodeAnalysis.CustomAttributesBag`1[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData]:this (FullOpts)
         -12 (-3.26 % of base) : 3288.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)
          -8 (-3.03 % of base) : 9230.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)
          -8 (-2.99 % of base) : 9779.dasm - FSharp.Compiler.CheckDeclarations+TcOpenModuleOrNamespaceDecl@643:Invoke(System.Tuple`3[int,FSharp.Compiler.TypedTree+EntityRef,FSharp.Compiler.TypedTree+ModuleOrNamespaceType]):ubyte:this (FullOpts)
         -16 (-2.99 % of base) : 8371.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.86 % of base) : 9336.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)



windows arm64

Diffs are based on 2,376,925 contexts (945,150 MinOpts, 1,431,775 FullOpts).

MISSED contexts: base: 5 (0.00%), diff: 11 (0.00%)

Overall (-199,184 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 11,037,884 -828
benchmarks.run_pgo.windows.arm64.checked.mch 46,555,288 -5,932
benchmarks.run_tiered.windows.arm64.checked.mch 15,575,692 -140
coreclr_tests.run.windows.arm64.checked.mch 505,264,988 -162,312
libraries.pmi.windows.arm64.checked.mch 80,134,348 -8,620
libraries_tests.run.windows.arm64.Release.mch 321,619,196 -6,436
librariestestsnotieredcompilation.run.windows.arm64.Release.mch 171,358,052 -11,492
realworld.run.windows.arm64.checked.mch 15,876,128 -3,424
smoke_tests.nativeaot.windows.arm64.checked.mch 3,995,200 +0

FullOpts (-199,184 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.arm64.checked.mch 11,037,348 -828
benchmarks.run_pgo.windows.arm64.checked.mch 30,069,536 -5,932
benchmarks.run_tiered.windows.arm64.checked.mch 4,281,392 -140
coreclr_tests.run.windows.arm64.checked.mch 163,807,864 -162,312
libraries.pmi.windows.arm64.checked.mch 80,014,364 -8,620
libraries_tests.run.windows.arm64.Release.mch 117,557,144 -6,436
librariestestsnotieredcompilation.run.windows.arm64.Release.mch 158,298,856 -11,492
realworld.run.windows.arm64.checked.mch 15,319,204 -3,424
smoke_tests.nativeaot.windows.arm64.checked.mch 3,994,188 +0

Example diffs

benchmarks.run.windows.arm64.checked.mch

-12 (-21.43%) : 19748.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%) : 7618.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%) : 5850.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%) : 3725.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 @@ -338,12 +340,13 @@ G_M7842_IG05: ; bbWeight=0.50, gcrefRegs=4980000 {x19 x20 x23 x26}, byref 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=C980000 {x19 x20 x23 x26 x27}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x27 @@ -484,12 +487,13 @@ G_M7842_IG07: ; bbWeight=0.50, gcrefRegs=4980000 {x19 x20 x23 x26}, byref 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=C980000 {x19 x20 x23 x26 x27}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x27 @@ -537,13 +541,14 @@ G_M7842_IG09: ; bbWeight=0.50, gcrefRegs=C980000 {x19 x20 x23 x26 x27}, b 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=1C980000 {x19 x20 x23 x26 x27 x28}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x28 @@ -713,12 +718,13 @@ G_M7842_IG11: ; bbWeight=0.50, gcrefRegs=4980000 {x19 x20 x23 x26}, byref 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=C980000 {x19 x20 x23 x26 x27}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x27 @@ -859,12 +865,13 @@ G_M7842_IG13: ; bbWeight=0.50, gcrefRegs=4980000 {x19 x20 x23 x26}, byref 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=C980000 {x19 x20 x23 x26 x27}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x27 @@ -1005,12 +1012,13 @@ G_M7842_IG15: ; bbWeight=0.50, gcrefRegs=4980000 {x19 x20 x23 x26}, byref 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=C980000 {x19 x20 x23 x26 x27}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x27 @@ -1151,12 +1159,13 @@ G_M7842_IG17: ; bbWeight=0.50, gcrefRegs=4900000 {x20 x23 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_IG18: ; bbWeight=1, gcrefRegs=C900000 {x20 x23 x26 x27}, byrefRegs=0000 {}, byref ; gcrRegs -[x0] mov x0, x27 @@ -1285,7 +1294,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 3284, prolog size 44, PerfScore 663.00, instruction count 821, allocated bytes for code 3284 (MethodHash=e29ee15d) for method Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
+; Total bytes of code 3320, prolog size 44, PerfScore 678.00, instruction count 830, allocated bytes for code 3320 (MethodHash=e29ee15d) for method Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
; ============================================================ Unwind Info: @@ -1296,7 +1305,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 821 (0x00335) Actual length = 3284 (0x000cd4)
+ Function Length : 830 (0x0033e) Actual length = 3320 (0x000cf8)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+24 (+1.67%) : 1903.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%) : 1885.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.windows.arm64.checked.mch

-8 (-4.76%) : 93492.dasm - System.Net.Sockets.SocketAsyncEventArgs:FinishOperationSendPackets():this (Tier1)

@@ -12,7 +12,7 @@ ; V00 this [V00,T00] ( 6, 3 ) ref -> x19 this class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs> ; V01 loc0 [V01,T01] ( 6, 0 ) int -> x20 ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T02] ( 4, 0 ) ref -> x21 class-hnd exact "dup spill" <<unknown class>>
+; V03 tmp1 [V03,T02] ( 5, 0 ) ref -> x21 class-hnd exact "dup spill" <<unknown class>>
;* V04 tmp2 [V04 ] ( 0, 0 ) ref -> zero-ref ; V05 tmp3 [V05,T03] ( 3, 0 ) ref -> x0 "arr expr" ; @@ -63,10 +63,8 @@ G_M41654_IG06: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by ; gcrRegs +[x0] ; byrRegs -[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] @@ -80,7 +78,7 @@ G_M41654_IG06: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by blr x1 ; gcrRegs -[x0 x21] ; gcr arg pop 0
- ;; size=84 bbWeight=0 PerfScore 0.00
+ ;; size=76 bbWeight=0 PerfScore 0.00
G_M41654_IG07: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref add w20, w20, #1 ;; size=4 bbWeight=0 PerfScore 0.00 @@ -95,7 +93,7 @@ G_M41654_IG08: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by b G_M41654_IG03 ;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 168, prolog size 20, PerfScore 13.00, instruction count 42, allocated bytes for code 168 (MethodHash=90505d49) for method System.Net.Sockets.SocketAsyncEventArgs:FinishOperationSendPackets():this (Tier1)
+; Total bytes of code 160, prolog size 20, PerfScore 13.00, instruction count 40, allocated bytes for code 160 (MethodHash=90505d49) for method System.Net.Sockets.SocketAsyncEventArgs:FinishOperationSendPackets():this (Tier1)
; ============================================================ Unwind Info: @@ -106,7 +104,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)

-8 (-1.89%) : 93563.dasm - System.Net.Sockets.SocketAsyncEventArgs:Dispose():this (Tier1)

@@ -17,7 +17,7 @@ ; V05 tmp4 [V05,T07] ( 3, 3.00) int -> x2 "Inline stloc first use temp" ; V06 tmp5 [V06,T03] ( 4, 5.33) long -> x21 "Inlining Arg" ; V07 tmp6 [V07,T08] ( 6, 0 ) int -> x20 "Inline stloc first use temp"
-; V08 tmp7 [V08,T09] ( 4, 0 ) ref -> x21 class-hnd exact "dup spill" <<unknown class>>
+; V08 tmp7 [V08,T09] ( 5, 0 ) ref -> x21 class-hnd exact "dup spill" <<unknown class>>
;* V09 tmp8 [V09 ] ( 0, 0 ) ref -> zero-ref ; V10 tmp9 [V10,T10] ( 3, 0 ) ref -> x0 "arr expr" ; V11 cse0 [V11,T05] ( 3, 3 ) ref -> x20 "CSE - aggressive" @@ -174,10 +174,8 @@ G_M37376_IG14: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by ; gcrRegs +[x0] ; byrRegs -[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] @@ -191,7 +189,7 @@ G_M37376_IG14: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by blr x1 ; gcrRegs -[x0 x21] ; gcr arg pop 0
- ;; size=84 bbWeight=0 PerfScore 0.00
+ ;; size=76 bbWeight=0 PerfScore 0.00
G_M37376_IG15: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref add w20, w20, #1 ;; size=4 bbWeight=0 PerfScore 0.00 @@ -206,7 +204,7 @@ G_M37376_IG16: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by b G_M37376_IG08 ;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 424, prolog size 20, PerfScore 60.33, instruction count 106, allocated bytes for code 424 (MethodHash=5b376dff) for method System.Net.Sockets.SocketAsyncEventArgs:Dispose():this (Tier1)
+; Total bytes of code 416, prolog size 20, PerfScore 60.33, instruction count 104, allocated bytes for code 416 (MethodHash=5b376dff) for method System.Net.Sockets.SocketAsyncEventArgs:Dispose():this (Tier1)
; ============================================================ Unwind Info: @@ -217,7 +215,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 106 (0x0006a) Actual length = 424 (0x0001a8)
+ Function Length : 104 (0x00068) Actual length = 416 (0x0001a0)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-1.64%) : 93396.dasm - System.Net.Sockets.Socket:DisposeCachedTaskSocketAsyncEventArgs():this (Tier1)

@@ -27,7 +27,7 @@ ; V15 tmp14 [V15,T08] ( 5, 2.50) int -> x1 "Inline stloc first use temp" ; V16 tmp15 [V16,T11] ( 3, 1.50) int -> x2 "Inline stloc first use temp" ; V17 tmp16 [V17,T12] ( 6, 0 ) int -> x21 "Inline stloc first use temp"
-; V18 tmp17 [V18,T13] ( 4, 0 ) ref -> x22 class-hnd exact "dup spill" <<unknown class>>
+; V18 tmp17 [V18,T13] ( 5, 0 ) ref -> x22 class-hnd exact "dup spill" <<unknown class>>
;* V19 tmp18 [V19 ] ( 0, 0 ) ref -> zero-ref ; V20 tmp19 [V20,T14] ( 3, 0 ) ref -> x0 "arr expr" ; V21 cse0 [V21,T09] ( 3, 1.50) ref -> x21 "CSE - moderate" @@ -224,10 +224,8 @@ G_M960_IG17: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, ; gcrRegs +[x0] ; byrRegs -[x0] mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x22] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] @@ -241,7 +239,7 @@ G_M960_IG17: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, blr x1 ; gcrRegs -[x0 x22] ; gcr arg pop 0
- ;; size=84 bbWeight=0 PerfScore 0.00
+ ;; size=76 bbWeight=0 PerfScore 0.00
G_M960_IG18: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref add w21, w21, #1 ;; size=4 bbWeight=0 PerfScore 0.00 @@ -256,7 +254,7 @@ G_M960_IG19: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, b G_M960_IG08 ;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 488, prolog size 20, PerfScore 57.25, instruction count 122, allocated bytes for code 488 (MethodHash=b933fc3f) for method System.Net.Sockets.Socket:DisposeCachedTaskSocketAsyncEventArgs():this (Tier1)
+; Total bytes of code 480, prolog size 20, PerfScore 57.25, instruction count 120, allocated bytes for code 480 (MethodHash=b933fc3f) for method System.Net.Sockets.Socket:DisposeCachedTaskSocketAsyncEventArgs():this (Tier1)
; ============================================================ Unwind Info: @@ -267,7 +265,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 122 (0x0007a) Actual length = 488 (0x0001e8)
+ Function Length : 120 (0x00078) Actual length = 480 (0x0001e0)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-0.14%) : 59880.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,T31] ( 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" @@ -2587,16 +2587,14 @@ G_M38586_IG142: ; bbWeight=0, gcrefRegs=FD80004 {x2 x19 x20 x22 x23 x24 x mov x1, x27 ; 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 x27-x28] ; gcr arg pop 0 b G_M38586_IG144
- ;; size=76 bbWeight=0 PerfScore 0.00
+ ;; size=68 bbWeight=0 PerfScore 0.00
G_M38586_IG143: ; bbWeight=0, gcrefRegs=FD80000 {x19 x20 x22 x23 x24 x25 x26 x27}, byrefRegs=0000 {}, byref ; gcrRegs +[x27] ldr w0, [x27, #0x20] @@ -2669,7 +2667,7 @@ G_M38586_IG147: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 b G_M38586_IG51 ;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 5756, prolog size 88, PerfScore 261.72, instruction count 1439, allocated bytes for code 5756 (MethodHash=a68b6945) for method Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
+; Total bytes of code 5748, prolog size 88, PerfScore 261.72, instruction count 1437, allocated bytes for code 5748 (MethodHash=a68b6945) for method Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
; ============================================================ Unwind Info: @@ -2680,7 +2678,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 1439 (0x0059f) Actual length = 5756 (0x00167c)
+ Function Length : 1437 (0x0059d) Actual length = 5748 (0x001674)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-12 (-0.10%) : 43496.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)

@@ -4889,17 +4889,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 @@ -5012,7 +5009,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 11628, prolog size 84, PerfScore 6974.75, instruction count 2907, allocated bytes for code 11628 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
+; Total bytes of code 11616, prolog size 84, PerfScore 6974.00, instruction count 2904, allocated bytes for code 11616 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
; ============================================================ Unwind Info: @@ -5023,7 +5020,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 2907 (0x00b5b) Actual length = 11628 (0x002d6c)
+ Function Length : 2904 (0x00b58) Actual length = 11616 (0x002d60)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+0.23%) : 71578.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)

@@ -172,6 +172,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] @@ -191,7 +192,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcrRegs -[x0] ; gcr arg pop 0 cbz w0, G_M22068_IG16
- ;; 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_IG47: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000 brk_windows #0 ;; size=56 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1764, prolog size 56, PerfScore 971.18, instruction count 441, allocated bytes for code 1764 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
+; Total bytes of code 1768, prolog size 56, PerfScore 974.18, instruction count 442, allocated bytes for code 1768 (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 : 401 (0x00191) Actual length = 1604 (0x000644)
+ Function Length : 402 (0x00192) Actual length = 1608 (0x000648)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

benchmarks.run_tiered.windows.arm64.checked.mch

-8 (-5.00%) : 49113.dasm - System.Net.Sockets.SocketAsyncEventArgs:FinishOperationSendPackets():this (Tier1)

@@ -11,7 +11,7 @@ ; V00 this [V00,T03] ( 6, 11.50) ref -> x19 this class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs> ; V01 loc0 [V01,T02] ( 6, 20.50) int -> x20 ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T00] ( 4, 24 ) ref -> x21 class-hnd exact "dup spill" <<unknown class>>
+; V03 tmp1 [V03,T00] ( 5, 28 ) ref -> x21 class-hnd exact "dup spill" <<unknown class>>
;* V04 tmp2 [V04 ] ( 0, 0 ) ref -> zero-ref ; V05 tmp3 [V05,T01] ( 3, 24 ) ref -> x0 "arr expr" ; V06 cse0 [V06,T04] ( 3, 2.50) ref -> x0 "CSE - aggressive" @@ -56,10 +56,8 @@ G_M41654_IG05: ; bbWeight=2, gcrefRegs=280000 {x19 x21}, 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] @@ -69,7 +67,7 @@ G_M41654_IG05: ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 { bl <unknown method> ; gcrRegs -[x0 x21] ; gcr arg pop 0
- ;; size=40 bbWeight=2 PerfScore 22.00
+ ;; size=32 bbWeight=2 PerfScore 25.00
G_M41654_IG06: ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz add w20, w20, #1 ldr x0, [x19, #0xA0] @@ -95,7 +93,7 @@ G_M41654_IG09: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { brk_windows #0 ;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 160, prolog size 20, PerfScore 118.00, instruction count 40, allocated bytes for code 160 (MethodHash=90505d49) for method System.Net.Sockets.SocketAsyncEventArgs:FinishOperationSendPackets():this (Tier1)
+; Total bytes of code 152, prolog size 20, PerfScore 121.00, instruction count 38, allocated bytes for code 152 (MethodHash=90505d49) for method System.Net.Sockets.SocketAsyncEventArgs:FinishOperationSendPackets():this (Tier1)
; ============================================================ Unwind Info: @@ -106,7 +104,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
+ Function Length : 38 (0x00026) Actual length = 152 (0x000098)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-16 (-2.70%) : 45617.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%) : 37465.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)

-12 (-0.10%) : 28812.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)

@@ -4902,17 +4902,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 @@ -4999,7 +4996,7 @@ G_M21650_IG225: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref brk_windows #0 ;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 11620, prolog size 84, PerfScore 6997.75, instruction count 2905, allocated bytes for code 11620 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
+; Total bytes of code 11608, prolog size 84, PerfScore 6997.00, instruction count 2902, allocated bytes for code 11608 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
; ============================================================ Unwind Info: @@ -5010,7 +5007,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 2905 (0x00b59) Actual length = 11620 (0x002d64)
+ Function Length : 2902 (0x00b56) Actual length = 11608 (0x002d58)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+0.11%) : 25862.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (Tier1)

@@ -332,6 +332,7 @@ G_M47704_IG10: ; bbWeight=0.50, gcrefRegs=3B80000 {x19 x20 x21 x23 x24 x2 movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x20] blr x1 ; gcrRegs +[x0] @@ -356,7 +357,7 @@ G_M47704_IG10: ; bbWeight=0.50, gcrefRegs=3B80000 {x19 x20 x21 x23 x24 x2 mov x25, x26 ; gcrRegs +[x25] b G_M47704_IG37
- ;; size=196 bbWeight=0.50 PerfScore 21.50
+ ;; size=200 bbWeight=0.50 PerfScore 23.00
G_M47704_IG11: ; bbWeight=0.50, gcrefRegs=3B80000 {x19 x20 x21 x23 x24 x25}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x26] movz x1, #0xD1FFAB1E @@ -1417,7 +1418,7 @@ G_M47704_IG58: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref brk_windows #0 ;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 3756, prolog size 28, PerfScore 670.25, instruction count 939, allocated bytes for code 3756 (MethodHash=134645a7) for method System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (Tier1)
+; Total bytes of code 3760, prolog size 28, PerfScore 671.75, instruction count 940, allocated bytes for code 3760 (MethodHash=134645a7) for method System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (Tier1)
; ============================================================ Unwind Info: @@ -1428,7 +1429,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 939 (0x003ab) Actual length = 3756 (0x000eac)
+ Function Length : 940 (0x003ac) Actual length = 3760 (0x000eb0)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+0.23%) : 42965.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_windows #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.windows.arm64.checked.mch

-16 (-23.53%) : 260887.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%) : 263268.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%) : 210380.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%) : 259127.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%) : 202864.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%) : 321265.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.windows.arm64.checked.mch

-12 (-21.43%) : 285078.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%) : 282381.dasm - System.Net.FtpControlStream:get_WelcomeMessage():System.String: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 <System.Net.FtpControlStream>
+; V00 this [V00,T01] ( 3, 3 ) ref -> x0 this class-hnd single-def <System.Net.FtpControlStream>
;# 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_M24354_IG04: ; bbWeight=0.50, epilog, nogc, extend ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M24354_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, #0x08]
- ;; size=20 bbWeight=0.50 PerfScore 3.75
+ ;; size=12 bbWeight=0.50 PerfScore 4.50
G_M24354_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=2e28a0dd) for method System.Net.FtpControlStream:get_WelcomeMessage():System.String:this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 12.25, instruction count 12, allocated bytes for code 48 (MethodHash=2e28a0dd) for method System.Net.FtpControlStream:get_WelcomeMessage():System.String: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%) : 141598.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary2[ubyte,System.Nullable1[int]]:GetHashCode():int:this (FullOpts)

@@ -7,9 +7,9 @@ ; No matching PGO data ; Final local variable assignments ;
-; V00 this [V00,T00] ( 3, 3 ) byref -> x0 this single-def
+; V00 this [V00,T01] ( 3, 3 ) byref -> x0 this single-def
;# 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 @@ -35,19 +35,17 @@ G_M21500_IG04: ; bbWeight=0.50, epilog, nogc, extend ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M21500_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_M21500_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=bb53ac03) for method Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 12.25, instruction count 12, allocated bytes for code 48 (MethodHash=bb53ac03) for method Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
; ============================================================ Unwind Info: @@ -58,7 +56,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%) : 254309.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)

+4 (+4.76%) : 254288.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)

@@ -30,6 +30,7 @@ G_M47755_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_M47755_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_M47755_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=6fdb4574) for method System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 21.00, instruction count 22, allocated bytes for code 88 (MethodHash=6fdb4574) for method System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.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%) : 254720.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)

@@ -30,6 +30,7 @@ G_M58324_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_M58324_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_M58324_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=ca881c2b) for method System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 21.00, instruction count 22, allocated bytes for code 88 (MethodHash=ca881c2b) for method System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.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.windows.arm64.Release.mch

-44 (-5.98%) : 567588.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo1[ubyte]:ConfigureIgnoreCondition(System.Nullable1[int]):this (Tier1)

@@ -9,7 +9,7 @@ ; 0 inlinees with PGO data; 10 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ;
-; V00 this [V00,T01] ( 13, 2.01) ref -> x19 this class-hnd single-def <System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]>
+; V00 this [V00,T01] ( 14, 2.01) ref -> x19 this class-hnd single-def <System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]>
; V01 arg1 [V01,T00] ( 4, 3.01) struct ( 8) [fp+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) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" @@ -68,15 +68,12 @@ G_M53492_IG04: ; bbWeight=0.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, G_M53492_IG05: ; bbWeight=0.01, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref mov x0, x19 ; gcrRegs +[x0]
- ldr xzr, [x19] - 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-x1 x19]
- ;; size=32 bbWeight=0.01 PerfScore 0.06
+ ;; size=20 bbWeight=0.01 PerfScore 0.06
G_M53492_IG06: ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc ldp x19, x20, [sp, #0x20] ldp fp, lr, [sp], #0x30 @@ -124,16 +121,13 @@ G_M53492_IG08: ; bbWeight=0, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, ; gcrRegs -[x20] mov x0, x19 ; gcrRegs +[x0]
- ldr xzr, [x19] - 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-x1 x19] b G_M53492_IG06
- ;; size=36 bbWeight=0 PerfScore 0.00
+ ;; size=24 bbWeight=0 PerfScore 0.00
G_M53492_IG09: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref ; gcrRegs +[x19] movz x0, #0xD1FFAB1E @@ -219,15 +213,13 @@ G_M53492_IG11: ; bbWeight=0, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, ; gcrRegs -[x20] 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, #0x30] blr x2 ; gcrRegs -[x0-x1] b G_M53492_IG15
- ;; size=32 bbWeight=0 PerfScore 0.00
+ ;; size=24 bbWeight=0 PerfScore 0.00
G_M53492_IG12: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref ldr x0, [x19, #0x40] ; gcrRegs +[x0] @@ -283,15 +275,12 @@ G_M53492_IG14: ; bbWeight=0, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, ; gcrRegs -[x20] mov x0, x19 ; gcrRegs +[x0]
- ldr xzr, [x19] - 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-x1]
- ;; size=32 bbWeight=0 PerfScore 0.00
+ ;; size=20 bbWeight=0 PerfScore 0.00
G_M53492_IG15: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref mov w0, #1 strb w0, [x19, #0x97] @@ -303,7 +292,7 @@ RWD00 dd G_M53492_IG07 - G_M53492_IG02 dd G_M53492_IG10 - G_M53492_IG02
-; Total bytes of code 736, prolog size 12, PerfScore 7.16, instruction count 184, allocated bytes for code 736 (MethodHash=44892f0b) for method System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
+; Total bytes of code 692, prolog size 12, PerfScore 7.15, instruction count 173, allocated bytes for code 692 (MethodHash=44892f0b) for method System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
; ============================================================ Unwind Info: @@ -314,7 +303,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 184 (0x000b8) Actual length = 736 (0x0002e0)
+ Function Length : 173 (0x000ad) Actual length = 692 (0x0002b4)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-44 (-5.98%) : 567852.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo1[double]:ConfigureIgnoreCondition(System.Nullable1[int]):this (Tier1)

@@ -9,7 +9,7 @@ ; 0 inlinees with PGO data; 10 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ;
-; V00 this [V00,T01] ( 13, 2 ) ref -> x19 this class-hnd single-def <System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]>
+; V00 this [V00,T01] ( 14, 2 ) ref -> x19 this class-hnd single-def <System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]>
; V01 arg1 [V01,T00] ( 4, 3 ) struct ( 8) [fp+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) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" @@ -105,16 +105,13 @@ G_M7006_IG06: ; bbWeight=0, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, ; gcrRegs -[x20] mov x0, x19 ; gcrRegs +[x0]
- ldr xzr, [x19] - 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-x1 x19] b G_M7006_IG03
- ;; size=36 bbWeight=0 PerfScore 0.00
+ ;; size=24 bbWeight=0 PerfScore 0.00
G_M7006_IG07: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x19] movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field> @@ -157,16 +154,13 @@ G_M7006_IG08: ; bbWeight=0, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, ; gcrRegs -[x20] mov x0, x19 ; gcrRegs +[x0]
- ldr xzr, [x19] - 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-x1 x19] b G_M7006_IG03
- ;; size=36 bbWeight=0 PerfScore 0.00
+ ;; size=24 bbWeight=0 PerfScore 0.00
G_M7006_IG09: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x19] mov x0, x19 @@ -219,15 +213,13 @@ G_M7006_IG10: ; bbWeight=0, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, ; gcrRegs -[x20] 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, #0x30] blr x2 ; gcrRegs -[x0-x1] b G_M7006_IG14
- ;; size=32 bbWeight=0 PerfScore 0.00
+ ;; size=24 bbWeight=0 PerfScore 0.00
G_M7006_IG11: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref ldr x0, [x19, #0x40] ; gcrRegs +[x0] @@ -283,15 +275,12 @@ G_M7006_IG13: ; bbWeight=0, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, ; gcrRegs -[x20] mov x0, x19 ; gcrRegs +[x0]
- ldr xzr, [x19] - 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-x1]
- ;; size=32 bbWeight=0 PerfScore 0.00
+ ;; size=20 bbWeight=0 PerfScore 0.00
G_M7006_IG14: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref mov w0, #1 strb w0, [x19, #0x97] @@ -303,7 +292,7 @@ RWD00 dd G_M7006_IG05 - G_M7006_IG02 dd G_M7006_IG09 - G_M7006_IG02
-; Total bytes of code 736, prolog size 12, PerfScore 7.00, instruction count 184, allocated bytes for code 736 (MethodHash=b0b5e4a1) for method System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
+; Total bytes of code 692, prolog size 12, PerfScore 7.00, instruction count 173, allocated bytes for code 692 (MethodHash=b0b5e4a1) for method System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
; ============================================================ Unwind Info: @@ -314,7 +303,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 184 (0x000b8) Actual length = 736 (0x0002e0)
+ Function Length : 173 (0x000ad) Actual length = 692 (0x0002b4)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-44 (-5.91%) : 567842.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo1[int]:ConfigureIgnoreCondition(System.Nullable1[int]):this (Tier1)

@@ -9,7 +9,7 @@ ; 4 inlinees with PGO data; 6 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ;
-; V00 this [V00,T00] ( 13, 4.99) ref -> x19 this class-hnd single-def <System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]>
+; V00 this [V00,T00] ( 14, 4.99) ref -> x19 this class-hnd single-def <System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]>
; V01 arg1 [V01,T01] ( 4, 3.01) struct ( 8) [fp+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) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" @@ -61,15 +61,12 @@ G_M51320_IG04: ; bbWeight=0.99, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 ; gcrRegs +[x1] mov x0, x19 ; gcrRegs +[x0]
- ldr xzr, [x19] - 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-x1]
- ;; size=32 bbWeight=0.99 PerfScore 11.94
+ ;; size=20 bbWeight=0.99 PerfScore 10.45
G_M51320_IG05: ; bbWeight=0.99, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref mov w0, #1 strb w0, [x19, #0x97] @@ -102,16 +99,13 @@ G_M51320_IG08: ; bbWeight=0.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, G_M51320_IG09: ; bbWeight=0.01, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref mov x0, x19 ; gcrRegs +[x0]
- ldr xzr, [x19] - 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-x1 x19] b G_M51320_IG06
- ;; size=36 bbWeight=0.01 PerfScore 0.07
+ ;; size=24 bbWeight=0.01 PerfScore 0.06
G_M51320_IG10: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x19] mov x0, x19 @@ -164,15 +158,13 @@ G_M51320_IG11: ; bbWeight=0, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, ; gcrRegs -[x20] 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, #0x30] blr x2 ; gcrRegs -[x0-x1] b G_M51320_IG05
- ;; size=32 bbWeight=0 PerfScore 0.00
+ ;; size=24 bbWeight=0 PerfScore 0.00
G_M51320_IG12: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref ldr x0, [x19, #0x40] ; gcrRegs +[x0] @@ -261,16 +253,13 @@ G_M51320_IG15: ; bbWeight=0, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, ; gcrRegs -[x20] mov x0, x19 ; gcrRegs +[x0]
- ldr xzr, [x19] - 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-x1 x19] b G_M51320_IG06
- ;; size=36 bbWeight=0 PerfScore 0.00
+ ;; size=24 bbWeight=0 PerfScore 0.00
G_M51320_IG16: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref ; gcrRegs +[x19] movz x0, #0xD1FFAB1E @@ -310,7 +299,7 @@ RWD00 dd G_M51320_IG14 - G_M51320_IG02 dd G_M51320_IG10 - G_M51320_IG02
-; Total bytes of code 744, prolog size 12, PerfScore 20.71, instruction count 186, allocated bytes for code 744 (MethodHash=9de53787) for method System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
+; Total bytes of code 700, prolog size 12, PerfScore 19.21, instruction count 175, allocated bytes for code 700 (MethodHash=9de53787) for method System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
; ============================================================ Unwind Info: @@ -321,7 +310,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 186 (0x000ba) Actual length = 744 (0x0002e8)
+ Function Length : 175 (0x000af) Actual length = 700 (0x0002bc)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+2.04%) : 78658.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)

+4 (+2.04%) : 190979.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%) : 238983.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)

librariestestsnotieredcompilation.run.windows.arm64.Release.mch

-12 (-21.43%) : 164612.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%) : 22678.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%) : 11734.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 (+7.69%) : 191347.dasm - System.Reflection.Tests.TypeInfoTests+<>c:b_670():System.Object:this (FullOpts)

@@ -29,15 +29,16 @@ G_M3015_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]
- ;; size=36 bbWeight=1 PerfScore 9.50
+ ;; size=40 bbWeight=1 PerfScore 12.50
G_M3015_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 br x2 ; gcr arg pop 0 ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 52, prolog size 8, PerfScore 13.00, instruction count 13, allocated bytes for code 52 (MethodHash=d8dcf438) for method System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredEvent_NullName_ThrowsArgumentNullException>b__67_0():System.Object:this (FullOpts)
+; Total bytes of code 56, prolog size 8, PerfScore 16.00, instruction count 14, allocated bytes for code 56 (MethodHash=d8dcf438) for method System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredEvent_NullName_ThrowsArgumentNullException>b__67_0():System.Object:this (FullOpts)
; ============================================================ Unwind Info: @@ -48,7 +49,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 13 (0x0000d) Actual length = 52 (0x000034)
+ Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+8.33%) : 184431.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%) : 191179.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.windows.arm64.checked.mch

-40 (-5.95%) : 7536.dasm - FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:GetTyconAttribs(FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Collections.FSharpList1[FSharp.Compiler.TypedTree+Attrib]):System.Tuple5ubyte,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] ( 12, 12 ) ref -> x19 class-hnd single-def <FSharp.Compiler.TcGlobals+TcGlobals>
+; V00 arg0 [V00,T15] ( 12, 12 ) 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 -> x24 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 -> x23 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V25 tmp22 [V25,T11] ( 3, 18 ) ref -> x23 class-hnd single-def "Inlining Arg" <<unknown class>>
; V26 tmp23 [V26,T36] ( 3, 2 ) ubyte -> x23 "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 -> x23 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 -> x24 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V43 tmp40 [V43,T14] ( 3, 18 ) ref -> x24 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" @@ -114,11 +114,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] @@ -126,7 +124,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 @@ -175,11 +173,9 @@ G_M41131_IG09: ; bbWeight=4, gcrefRegs=D80004 {x2 x19 x20 x22 x23}, byref ; gcrRegs +[x1] mov x0, x23 ; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
+ ldr x2, [x23]
; 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] @@ -187,7 +183,7 @@ G_M41131_IG09: ; bbWeight=4, gcrefRegs=D80004 {x2 x19 x20 x22 x23}, byref 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-x23] mov w22, wzr @@ -237,11 +233,9 @@ G_M41131_IG14: ; bbWeight=4, gcrefRegs=2980004 {x2 x19 x20 x23 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] @@ -249,7 +243,7 @@ G_M41131_IG14: ; bbWeight=4, gcrefRegs=2980004 {x2 x19 x20 x23 x25}, byre mov x2, x23 ; 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 x23 x25] mov w23, wzr @@ -296,11 +290,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] @@ -308,7 +300,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 @@ -353,10 +345,8 @@ G_M41131_IG24: ; bbWeight=4, gcrefRegs=1180000 {x19 x20 x24}, byrefRegs=0 ; gcrRegs +[x1] mov x0, x24 ; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x24] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20] blr x2 ; gcrRegs -[x0-x1 x20] @@ -364,7 +354,7 @@ G_M41131_IG24: ; bbWeight=4, gcrefRegs=1180000 {x19 x20 x24}, byrefRegs=0 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 x24] mov w19, wzr @@ -394,7 +384,7 @@ G_M41131_IG28: ; bbWeight=1, epilog, nogc, extend ret lr ;; size=24 bbWeight=1 PerfScore 6.00
-; Total bytes of code 672, prolog size 24, PerfScore 527.50, instruction count 168, allocated bytes for code 672 (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 632, prolog size 24, PerfScore 557.50, instruction count 158, allocated bytes for code 632 (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: @@ -405,7 +395,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 168 (0x000a8) Actual length = 672 (0x0002a0)
+ Function Length : 158 (0x0009e) Actual length = 632 (0x000278)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-5.56%) : 10255.dasm - FSharp.Compiler.TypedTreeBasics:isLessAccessible(FSharp.Compiler.TypedTree+Accessibility,FSharp.Compiler.TypedTree+Accessibility):ubyte (FullOpts)

@@ -19,7 +19,7 @@ ;* V08 tmp4 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+CompilationPath]> ; V09 tmp5 [V09,T03] ( 2, 8 ) ref -> x20 class-hnd "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+CompilationPath]> ;* V10 tmp6 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <FSharp.Compiler.TypedTree+CompilationPath>
-; V11 tmp7 [V11,T02] ( 2, 10 ) ref -> x21 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V11 tmp7 [V11,T02] ( 3, 18 ) ref -> x21 class-hnd single-def "Inlining Arg" <<unknown class>>
; V12 cse0 [V12,T01] ( 3, 20 ) ref -> x20 "CSE - aggressive" ; ; Lcl frame size = 8 @@ -62,10 +62,8 @@ G_M33395_IG04: ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00 ; gcrRegs +[x1] mov x0, x21 ; gcrRegs +[x0]
- 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, #0x20] blr x2 ; gcrRegs -[x0-x1 x19] @@ -73,7 +71,7 @@ G_M33395_IG04: ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00 mov x19, x20 ; gcrRegs +[x19] b G_M33395_IG03
- ;; size=44 bbWeight=4 PerfScore 58.00
+ ;; size=36 bbWeight=4 PerfScore 64.00
G_M33395_IG05: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x19-x21] mov w0, #1 @@ -93,7 +91,7 @@ G_M33395_IG08: ; bbWeight=1, epilog, nogc, extend ret lr ;; size=16 bbWeight=1 PerfScore 5.00
-; Total bytes of code 144, prolog size 16, PerfScore 111.50, instruction count 36, allocated bytes for code 144 (MethodHash=12247d8c) for method FSharp.Compiler.TypedTreeBasics:isLessAccessible(FSharp.Compiler.TypedTree+Accessibility,FSharp.Compiler.TypedTree+Accessibility):ubyte (FullOpts)
+; Total bytes of code 136, prolog size 16, PerfScore 117.50, instruction count 34, allocated bytes for code 136 (MethodHash=12247d8c) for method FSharp.Compiler.TypedTreeBasics:isLessAccessible(FSharp.Compiler.TypedTree+Accessibility,FSharp.Compiler.TypedTree+Accessibility):ubyte (FullOpts)
; ============================================================ Unwind Info: @@ -104,7 +102,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 36 (0x00024) Actual length = 144 (0x000090)
+ Function Length : 34 (0x00022) Actual length = 136 (0x000088)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-5.41%) : 8188.dasm - FSharp.Compiler.CheckExpressions+PlaceTyparsInDeclarationOrder@1625:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)

@@ -18,7 +18,7 @@ ;* V07 tmp5 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <<unknown class>> ; V08 tmp6 [V08,T03] ( 2, 8 ) ref -> x19 class-hnd "Inline stloc first use temp" <<unknown class>> ;* V09 tmp7 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <FSharp.Compiler.TypedTree+Typar>
-; V10 tmp8 [V10,T02] ( 2, 10 ) ref -> x21 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V10 tmp8 [V10,T02] ( 3, 18 ) ref -> x21 class-hnd single-def "Inlining Arg" <<unknown class>>
; V11 cse0 [V11,T01] ( 3, 20 ) ref -> x19 "CSE - aggressive" ; ; Lcl frame size = 8 @@ -62,11 +62,9 @@ G_M57204_IG04: ; bbWeight=4, gcrefRegs=280004 {x2 x19 x21}, byrefRegs=000 ; gcrRegs +[x1] mov x0, x21 ; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
+ ldr x2, [x21]
; 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] @@ -74,7 +72,7 @@ G_M57204_IG04: ; bbWeight=4, gcrefRegs=280004 {x2 x19 x21}, byrefRegs=000 mov x2, x19 ; gcrRegs +[x2] b G_M57204_IG03
- ;; size=44 bbWeight=4 PerfScore 58.00
+ ;; size=36 bbWeight=4 PerfScore 64.00
G_M57204_IG05: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x2 x19 x21] mov w0, wzr @@ -94,7 +92,7 @@ G_M57204_IG08: ; bbWeight=1, epilog, nogc, extend ret lr ;; size=16 bbWeight=1 PerfScore 5.00
-; Total bytes of code 148, prolog size 16, PerfScore 109.50, instruction count 37, allocated bytes for code 148 (MethodHash=d742208b) for method FSharp.Compiler.CheckExpressions+PlaceTyparsInDeclarationOrder@1625:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)
+; Total bytes of code 140, prolog size 16, PerfScore 115.50, instruction count 35, allocated bytes for code 140 (MethodHash=d742208b) for method FSharp.Compiler.CheckExpressions+PlaceTyparsInDeclarationOrder@1625:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)
; ============================================================ Unwind Info: @@ -105,7 +103,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 37 (0x00025) Actual length = 148 (0x000094)
+ Function Length : 35 (0x00023) Actual length = 140 (0x00008c)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+1.75%) : 12233.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)

@@ -56,11 +56,12 @@ G_M46437_IG02: ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2]
+ ldr x2, [x2, #0xC8]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x1] cbnz w0, G_M46437_IG04
- ;; size=92 bbWeight=1 PerfScore 26.00
+ ;; size=96 bbWeight=1 PerfScore 29.00
G_M46437_IG03: ; bbWeight=1, epilog, nogc, extend ldp x19, x20, [sp, #0x10] ldp fp, lr, [sp], #0x20 @@ -108,7 +109,7 @@ G_M46437_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { brk_windows #0 ;; size=108 bbWeight=0 PerfScore 0.00
-; Total bytes of code 228, prolog size 12, PerfScore 32.00, instruction count 57, allocated bytes for code 228 (MethodHash=3cf14a9a) for method Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
+; Total bytes of code 232, prolog size 12, PerfScore 35.00, instruction count 58, allocated bytes for code 232 (MethodHash=3cf14a9a) for method Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
; ============================================================ Unwind Info: @@ -119,7 +120,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 57 (0x00039) Actual length = 228 (0x0000e4)
+ Function Length : 58 (0x0003a) Actual length = 232 (0x0000e8)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+2.04%) : 25614.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)

@@ -63,6 +63,7 @@ G_M6603_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre 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] @@ -82,7 +83,7 @@ G_M6603_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre ; gcrRegs +[x15] bl CORINFO_HELP_ASSIGN_REF ; gcrRegs -[x15 x21]
- ;; size=140 bbWeight=0.50 PerfScore 15.00
+ ;; size=144 bbWeight=0.50 PerfScore 16.50
G_M6603_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ldr x0, [x19] ; gcrRegs +[x0] @@ -94,7 +95,7 @@ G_M6603_IG05: ; bbWeight=1, epilog, nogc, extend ret lr ;; size=16 bbWeight=1 PerfScore 5.00
-; Total bytes of code 196, prolog size 16, PerfScore 32.00, instruction count 49, allocated bytes for code 196 (MethodHash=af67e634) for method Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
+; Total bytes of code 200, prolog size 16, PerfScore 33.50, instruction count 50, allocated bytes for code 200 (MethodHash=af67e634) for method Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
; ============================================================ Unwind Info: @@ -105,7 +106,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.13%) : 11375.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)

smoke_tests.nativeaot.windows.arm64.checked.mch

+0 (0.00%) : 3182.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)

@@ -12,7 +12,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 @@ -83,10 +83,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

+0 (0.00%) : 14102.dasm - System.Threading.Win32ThreadPoolNativeOverlapped:AllocateNew():ulong (FullOpts)

@@ -7,19 +7,19 @@ ; fully interruptible ; Final local variable assignments ;
-; V00 loc0 [V00,T05] ( 9, 23 ) long -> x0 -; V01 loc1 [V01,T15] ( 4, 2 ) long -> x20 -; V02 loc2 [V02,T13] ( 3, 5 ) ref -> x21 class-hnd exact single-def <System.Threading.Win32ThreadPoolNativeOverlapped+OverlappedData>
+; V00 loc0 [V00,T05] ( 9, 23 ) long -> x1 +; V01 loc1 [V01,T16] ( 4, 2 ) long -> x20 +; V02 loc2 [V02,T14] ( 3, 5 ) ref -> x21 class-hnd exact single-def <System.Threading.Win32ThreadPoolNativeOverlapped+OverlappedData>
; V03 loc3 [V03,T02] ( 10, 34.75) int -> x19 ; V04 loc4 [V04,T03] ( 11, 33 ) ref -> x25 class-hnd <<unknown class>> ;* V05 loc5 [V05 ] ( 0, 0 ) int -> zero-ref ; V06 loc6 [V06,T01] ( 8, 66 ) int -> x2 ; V07 loc7 [V07 ] ( 4, 14 ) ref -> [fp+0x48] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <<unknown class>> ;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V09 tmp1 [V09,T06] ( 4, 20 ) long -> x0 "dup spill"
+; V09 tmp1 [V09,T06] ( 4, 20 ) long -> x1 "dup spill"
;* V10 tmp2 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Threading.Win32ThreadPoolNativeOverlapped+OverlappedData> ; V11 tmp3 [V11,T08] ( 4, 12 ) int -> x2
-; V12 tmp4 [V12,T16] ( 3, 1.50) long -> x20 "Inline stloc first use temp"
+; V12 tmp4 [V12,T17] ( 3, 1.50) long -> x20 "Inline stloc first use temp"
;* V13 tmp5 [V13 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V14 tmp6 [V14 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V15 tmp7 [V15,T07] ( 2, 16 ) ref -> x1 class-hnd exact "Inlining Arg" <<unknown class>> @@ -27,14 +27,15 @@ ;* V17 tmp9 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V18 tmp10 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "updating class info" <System.Threading.Win32ThreadPoolNativeOverlapped+OverlappedData> ;* V19 tmp11 [V19 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V20 tmp12 [V20,T14] ( 3, 4 ) long -> x0 "Single return block return value"
+; V20 tmp12 [V20,T15] ( 3, 4 ) long -> x1 "Single return block return value"
; V21 PInvokeFrame [V21 ] ( 3, 2 ) struct (40) [fp+0x18] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" ; V22 tmp14 [V22,T04] ( 3, 24 ) ref -> x0 "arr expr"
-; V23 cse0 [V23,T11] ( 3, 8.75) long -> x23 hoist "CSE - aggressive" -; V24 cse1 [V24,T12] ( 3, 5.50) long -> x22 "CSE - aggressive" -; V25 cse2 [V25,T09] ( 5, 10.50) long -> x19 "CSE - aggressive" -; V26 cse3 [V26,T10] ( 4, 9.25) long -> x24 hoist "CSE - aggressive" -; V27 rat0 [V27,T00] ( 3, 96 ) int -> x2 "ReplaceWithLclVar is creating a new local variable"
+; V23 cse0 [V23,T10] ( 3, 8.75) long -> x23 hoist "CSE - aggressive" +; V24 cse1 [V24,T13] ( 3, 5.50) long -> x22 "CSE - aggressive" +; V25 cse2 [V25,T12] ( 3, 6 ) long -> x0 "CSE - aggressive" +; V26 cse3 [V26,T11] ( 4, 6.50) long -> x19 "CSE - aggressive" +; V27 cse4 [V27,T09] ( 4, 9.25) long -> x24 hoist "CSE - aggressive" +; V28 rat0 [V28,T00] ( 3, 96 ) int -> x2 "ReplaceWithLclVar is creating a new local variable"
; TEMP_01 long -> [fp+0x40] ; ; Lcl frame size = 64 @@ -53,20 +54,19 @@ G_M59694_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, adrp x19, [HIGH RELOC #0xD1FFAB1E] add x19, x19, [LOW RELOC #0xD1FFAB1E] add x0, x19, #8
- ldar x0, [x0] - cbz x0, G_M59694_IG04
+ ldar x1, [x0] + cbz x1, G_M59694_IG04
;; size=20 bbWeight=1 PerfScore 5.50 G_M59694_IG03: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- add x1, x19, #8 - ldr x2, [x0, #0x20] - mov x3, x0 - casal x3, x2, [x1] - cmp x3, x0
+ add x2, x19, #8 + ldr x3, [x1, #0x20] + mov x4, x1 + casal x4, x3, [x2] + cmp x4, x1
beq G_M59694_IG17
- add x0, x19, #8 - ldar x0, [x0] - cbnz x0, G_M59694_IG03 - ;; size=36 bbWeight=4 PerfScore 52.00
+ ldar x1, [x0] + cbnz x1, G_M59694_IG03 + ;; size=32 bbWeight=4 PerfScore 50.00
G_M59694_IG04: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov x0, #48 str x0, [fp, #0x40] // [TEMP_01] @@ -84,7 +84,7 @@ G_M59694_IG06: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr add x0, fp, #24 // [V21 PInvokeFrame] bl CORINFO_HELP_JIT_PINVOKE_END ; gcr arg pop 0
- cbz x20, G_M59694_IG23
+ cbz x20, G_M59694_IG24
stp xzr, xzr, [x20] stp xzr, xzr, [x20, #0x10] stp xzr, xzr, [x20, #0x20] @@ -176,7 +176,7 @@ G_M59694_IG16: ; bbWeight=4, gcrefRegs=2200000 {x21 x25}, byrefRegs=0000 ; gcrRegs +[x0] ldr w1, [x0, #0x08] cmp w19, w1
- bhs G_M59694_IG22
+ bhs G_M59694_IG23
add x0, x0, #16 ; gcrRegs -[x0] ; byrRegs +[x0] @@ -187,7 +187,7 @@ G_M59694_IG16: ; bbWeight=4, gcrefRegs=2200000 {x21 x25}, byrefRegs=0000 ldr w0, [x25, #0x08] ; gcrRegs -[x0] cmp w19, w0
- bhs G_M59694_IG22
+ bhs G_M59694_IG23
add x0, x25, #16 ; byrRegs +[x0] lsl x1, x24, #3 @@ -202,7 +202,7 @@ G_M59694_IG16: ; bbWeight=4, gcrefRegs=2200000 {x21 x25}, byrefRegs=0000 ;; size=64 bbWeight=4 PerfScore 84.00 G_M59694_IG17: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x0 x21]
- str xzr, [x0, #0x20]
+ str xzr, [x1, #0x20]
b G_M59694_IG21 ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M59694_IG18: ; bbWeight=2, gcrefRegs=2200000 {x21 x25}, byrefRegs=0000 {}, byref @@ -213,7 +213,7 @@ G_M59694_IG18: ; bbWeight=2, gcrefRegs=2200000 {x21 x25}, byrefRegs=0000 G_M59694_IG19: ; bbWeight=0.50, gcrefRegs=2200000 {x21 x25}, byrefRegs=0000 {}, byref, isz ldr w0, [x25, #0x08] cmp w19, w0
- bhs G_M59694_IG22
+ bhs G_M59694_IG23
add x0, x25, #16 ; byrRegs +[x0] ldr x0, [x0, x24, LSL #3] @@ -234,9 +234,12 @@ G_M59694_IG19: ; bbWeight=0.50, gcrefRegs=2200000 {x21 x25}, byrefRegs=00 ;; size=48 bbWeight=0.50 PerfScore 6.25 G_M59694_IG20: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref str w19, [x20, #0x28]
- mov x0, x20
+ mov x1, x20
;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M59694_IG21: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M59694_IG21: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref + mov x0, x1 + ;; size=4 bbWeight=1 PerfScore 0.50 +G_M59694_IG22: ; bbWeight=1, epilog, nogc, extend
ldp x27, x28, [sp, #0x90] ldp x25, x26, [sp, #0x80] ldp x23, x24, [sp, #0x70] @@ -245,17 +248,17 @@ G_M59694_IG21: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ldp fp, lr, [sp], #0xA0 ret lr ;; size=28 bbWeight=1 PerfScore 7.00
-G_M59694_IG22: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M59694_IG23: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL ; gcr arg pop 0 ;; size=4 bbWeight=0 PerfScore 0.00
-G_M59694_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M59694_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
bl System.ThrowHelper:ThrowOutOfMemoryException() ; gcr arg pop 0 brk_windows #0 ;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 504, prolog size 32, PerfScore 357.50, instruction count 126, allocated bytes for code 504 (MethodHash=d28416d1) for method System.Threading.Win32ThreadPoolNativeOverlapped:AllocateNew():ulong (FullOpts)
+; Total bytes of code 504, prolog size 32, PerfScore 356.00, instruction count 126, allocated bytes for code 504 (MethodHash=d28416d1) for method System.Threading.Win32ThreadPoolNativeOverlapped:AllocateNew():ulong (FullOpts)
; ============================================================ Unwind Info:

+0 (0.00%) : 8651.dasm - System.Threading.Win32ThreadPoolNativeOverlapped:AllocateNew():ulong (FullOpts)

@@ -8,19 +8,19 @@ ; control-flow guard enabled ; Final local variable assignments ;
-; V00 loc0 [V00,T05] ( 9, 23 ) long -> x0 -; V01 loc1 [V01,T15] ( 4, 2 ) long -> x20 -; V02 loc2 [V02,T13] ( 3, 5 ) ref -> x21 class-hnd exact single-def <System.Threading.Win32ThreadPoolNativeOverlapped+OverlappedData>
+; V00 loc0 [V00,T05] ( 9, 23 ) long -> x1 +; V01 loc1 [V01,T16] ( 4, 2 ) long -> x20 +; V02 loc2 [V02,T14] ( 3, 5 ) ref -> x21 class-hnd exact single-def <System.Threading.Win32ThreadPoolNativeOverlapped+OverlappedData>
; V03 loc3 [V03,T02] ( 10, 34.75) int -> x19 ; V04 loc4 [V04,T03] ( 11, 33 ) ref -> x25 class-hnd <<unknown class>> ;* V05 loc5 [V05 ] ( 0, 0 ) int -> zero-ref ; V06 loc6 [V06,T01] ( 8, 66 ) int -> x2 ; V07 loc7 [V07 ] ( 4, 14 ) ref -> [fp+0x48] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <<unknown class>> ;# V08 OutArgs [V08 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V09 tmp1 [V09,T06] ( 4, 20 ) long -> x0 "dup spill"
+; V09 tmp1 [V09,T06] ( 4, 20 ) long -> x1 "dup spill"
;* V10 tmp2 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Threading.Win32ThreadPoolNativeOverlapped+OverlappedData> ; V11 tmp3 [V11,T08] ( 4, 12 ) int -> x2
-; V12 tmp4 [V12,T16] ( 3, 1.50) long -> x20 "Inline stloc first use temp"
+; V12 tmp4 [V12,T17] ( 3, 1.50) long -> x20 "Inline stloc first use temp"
;* V13 tmp5 [V13 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V14 tmp6 [V14 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V15 tmp7 [V15,T07] ( 2, 16 ) ref -> x1 class-hnd exact "Inlining Arg" <<unknown class>> @@ -28,14 +28,15 @@ ;* V17 tmp9 [V17 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V18 tmp10 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "updating class info" <System.Threading.Win32ThreadPoolNativeOverlapped+OverlappedData> ;* V19 tmp11 [V19 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V20 tmp12 [V20,T14] ( 3, 4 ) long -> x0 "Single return block return value"
+; V20 tmp12 [V20,T15] ( 3, 4 ) long -> x1 "Single return block return value"
; V21 PInvokeFrame [V21 ] ( 3, 2 ) struct (40) [fp+0x18] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" ; V22 tmp14 [V22,T04] ( 3, 24 ) ref -> x0 "arr expr"
-; V23 cse0 [V23,T11] ( 3, 8.75) long -> x23 hoist "CSE - aggressive" -; V24 cse1 [V24,T12] ( 3, 5.50) long -> x22 "CSE - aggressive" -; V25 cse2 [V25,T09] ( 5, 10.50) long -> x19 "CSE - aggressive" -; V26 cse3 [V26,T10] ( 4, 9.25) long -> x24 hoist "CSE - aggressive" -; V27 rat0 [V27,T00] ( 3, 96 ) int -> x2 "ReplaceWithLclVar is creating a new local variable"
+; V23 cse0 [V23,T10] ( 3, 8.75) long -> x23 hoist "CSE - aggressive" +; V24 cse1 [V24,T13] ( 3, 5.50) long -> x22 "CSE - aggressive" +; V25 cse2 [V25,T12] ( 3, 6 ) long -> x0 "CSE - aggressive" +; V26 cse3 [V26,T11] ( 4, 6.50) long -> x19 "CSE - aggressive" +; V27 cse4 [V27,T09] ( 4, 9.25) long -> x24 hoist "CSE - aggressive" +; V28 rat0 [V28,T00] ( 3, 96 ) int -> x2 "ReplaceWithLclVar is creating a new local variable"
; TEMP_01 long -> [fp+0x40] ; ; Lcl frame size = 64 @@ -54,20 +55,19 @@ G_M59694_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, adrp x19, [HIGH RELOC #0xD1FFAB1E] add x19, x19, [LOW RELOC #0xD1FFAB1E] add x0, x19, #8
- ldar x0, [x0] - cbz x0, G_M59694_IG04
+ ldar x1, [x0] + cbz x1, G_M59694_IG04
;; size=20 bbWeight=1 PerfScore 5.50 G_M59694_IG03: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- add x1, x19, #8 - ldr x2, [x0, #0x20] - mov x3, x0 - casal x3, x2, [x1] - cmp x3, x0
+ add x2, x19, #8 + ldr x3, [x1, #0x20] + mov x4, x1 + casal x4, x3, [x2] + cmp x4, x1
beq G_M59694_IG17
- add x0, x19, #8 - ldar x0, [x0] - cbnz x0, G_M59694_IG03 - ;; size=36 bbWeight=4 PerfScore 52.00
+ ldar x1, [x0] + cbnz x1, G_M59694_IG03 + ;; size=32 bbWeight=4 PerfScore 50.00
G_M59694_IG04: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov x0, #48 str x0, [fp, #0x40] // [TEMP_01] @@ -85,7 +85,7 @@ G_M59694_IG06: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr add x0, fp, #24 // [V21 PInvokeFrame] bl CORINFO_HELP_JIT_PINVOKE_END ; gcr arg pop 0
- cbz x20, G_M59694_IG23
+ cbz x20, G_M59694_IG24
stp xzr, xzr, [x20] stp xzr, xzr, [x20, #0x10] stp xzr, xzr, [x20, #0x20] @@ -177,7 +177,7 @@ G_M59694_IG16: ; bbWeight=4, gcrefRegs=2200000 {x21 x25}, byrefRegs=0000 ; gcrRegs +[x0] ldr w1, [x0, #0x08] cmp w19, w1
- bhs G_M59694_IG22
+ bhs G_M59694_IG23
add x0, x0, #16 ; gcrRegs -[x0] ; byrRegs +[x0] @@ -188,7 +188,7 @@ G_M59694_IG16: ; bbWeight=4, gcrefRegs=2200000 {x21 x25}, byrefRegs=0000 ldr w0, [x25, #0x08] ; gcrRegs -[x0] cmp w19, w0
- bhs G_M59694_IG22
+ bhs G_M59694_IG23
add x0, x25, #16 ; byrRegs +[x0] lsl x1, x24, #3 @@ -203,7 +203,7 @@ G_M59694_IG16: ; bbWeight=4, gcrefRegs=2200000 {x21 x25}, byrefRegs=0000 ;; size=64 bbWeight=4 PerfScore 84.00 G_M59694_IG17: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x0 x21]
- str xzr, [x0, #0x20]
+ str xzr, [x1, #0x20]
b G_M59694_IG21 ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M59694_IG18: ; bbWeight=2, gcrefRegs=2200000 {x21 x25}, byrefRegs=0000 {}, byref @@ -214,7 +214,7 @@ G_M59694_IG18: ; bbWeight=2, gcrefRegs=2200000 {x21 x25}, byrefRegs=0000 G_M59694_IG19: ; bbWeight=0.50, gcrefRegs=2200000 {x21 x25}, byrefRegs=0000 {}, byref, isz ldr w0, [x25, #0x08] cmp w19, w0
- bhs G_M59694_IG22
+ bhs G_M59694_IG23
add x0, x25, #16 ; byrRegs +[x0] ldr x0, [x0, x24, LSL #3] @@ -235,9 +235,12 @@ G_M59694_IG19: ; bbWeight=0.50, gcrefRegs=2200000 {x21 x25}, byrefRegs=00 ;; size=48 bbWeight=0.50 PerfScore 6.25 G_M59694_IG20: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref str w19, [x20, #0x28]
- mov x0, x20
+ mov x1, x20
;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M59694_IG21: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M59694_IG21: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref + mov x0, x1 + ;; size=4 bbWeight=1 PerfScore 0.50 +G_M59694_IG22: ; bbWeight=1, epilog, nogc, extend
ldp x27, x28, [sp, #0x90] ldp x25, x26, [sp, #0x80] ldp x23, x24, [sp, #0x70] @@ -246,17 +249,17 @@ G_M59694_IG21: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ldp fp, lr, [sp], #0xA0 ret lr ;; size=28 bbWeight=1 PerfScore 7.00
-G_M59694_IG22: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M59694_IG23: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL ; gcr arg pop 0 ;; size=4 bbWeight=0 PerfScore 0.00
-G_M59694_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M59694_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
bl System.ThrowHelper:ThrowOutOfMemoryException() ; gcr arg pop 0 brk_windows #0 ;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 504, prolog size 32, PerfScore 357.50, instruction count 126, allocated bytes for code 504 (MethodHash=d28416d1) for method System.Threading.Win32ThreadPoolNativeOverlapped:AllocateNew():ulong (FullOpts)
+; Total bytes of code 504, prolog size 32, PerfScore 356.00, instruction count 126, allocated bytes for code 504 (MethodHash=d28416d1) for method System.Threading.Win32ThreadPoolNativeOverlapped:AllocateNew():ulong (FullOpts)
; ============================================================ Unwind Info:

+0 (0.00%) : 14103.dasm - System.Threading.Win32ThreadPoolNativeOverlapped:Free(ulong) (FullOpts)

@@ -8,11 +8,12 @@ ; Final local variable assignments ; ; V00 arg0 [V00,T01] ( 6, 20 ) long -> x19 single-def
-; V01 loc0 [V01,T00] ( 4, 32 ) long -> x1
+; V01 loc0 [V01,T00] ( 4, 32 ) long -> x2
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T03] ( 3, 6 ) ref -> x0 single-def "arr expr" -; V04 tmp2 [V04,T04] ( 3, 6 ) int -> x1 "index expr" -; V05 cse0 [V05,T02] ( 3, 17 ) long -> x0 hoist "CSE - aggressive"
+; V03 tmp1 [V03,T04] ( 3, 6 ) ref -> x0 single-def "arr expr" +; V04 tmp2 [V04,T05] ( 3, 6 ) int -> x1 "index expr" +; V05 cse0 [V05,T03] ( 2, 9 ) long -> x1 hoist "CSE - aggressive" +; V06 cse1 [V06,T02] ( 3, 10 ) long -> x0 "CSE - aggressive"
; ; Lcl frame size = 8 @@ -46,17 +47,17 @@ G_M14785_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, stp xzr, xzr, [x19, #0x10] adrp x0, [HIGH RELOC #0xD1FFAB1E] add x0, x0, [LOW RELOC #0xD1FFAB1E]
- ;; size=64 bbWeight=1 PerfScore 25.00 -G_M14785_IG03: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
add x1, x0, #8
- ldar x1, [x1] - str x1, [x19, #0x20] - add x2, x0, #8 - mov x3, x1 - casal x3, x19, [x2] - cmp x3, x1
+ ;; size=68 bbWeight=1 PerfScore 25.50 +G_M14785_IG03: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz + ldar x2, [x1] + str x2, [x19, #0x20] + add x3, x0, #8 + mov x4, x2 + casal x4, x19, [x3] + cmp x4, x2
bne G_M14785_IG03
- ;; size=32 bbWeight=8 PerfScore 80.00
+ ;; size=28 bbWeight=8 PerfScore 76.00
G_M14785_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc ldr x19, [sp, #0x18] ldp fp, lr, [sp], #0x20 @@ -68,7 +69,7 @@ G_M14785_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { brk_windows #0 ;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 132, prolog size 16, PerfScore 112.00, instruction count 33, allocated bytes for code 132 (MethodHash=edc3c63e) for method System.Threading.Win32ThreadPoolNativeOverlapped:Free(ulong) (FullOpts)
+; Total bytes of code 132, prolog size 16, PerfScore 108.50, instruction count 33, allocated bytes for code 132 (MethodHash=edc3c63e) for method System.Threading.Win32ThreadPoolNativeOverlapped:Free(ulong) (FullOpts)
; ============================================================ Unwind Info:

+0 (0.00%) : 288.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

+0 (0.00%) : 8652.dasm - System.Threading.Win32ThreadPoolNativeOverlapped:Free(ulong) (FullOpts)

@@ -9,11 +9,12 @@ ; Final local variable assignments ; ; V00 arg0 [V00,T01] ( 6, 20 ) long -> x19 single-def
-; V01 loc0 [V01,T00] ( 4, 32 ) long -> x1
+; V01 loc0 [V01,T00] ( 4, 32 ) long -> x2
;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T03] ( 3, 6 ) ref -> x0 single-def "arr expr" -; V04 tmp2 [V04,T04] ( 3, 6 ) int -> x1 "index expr" -; V05 cse0 [V05,T02] ( 3, 17 ) long -> x0 hoist "CSE - aggressive"
+; V03 tmp1 [V03,T04] ( 3, 6 ) ref -> x0 single-def "arr expr" +; V04 tmp2 [V04,T05] ( 3, 6 ) int -> x1 "index expr" +; V05 cse0 [V05,T03] ( 2, 9 ) long -> x1 hoist "CSE - aggressive" +; V06 cse1 [V06,T02] ( 3, 10 ) long -> x0 "CSE - aggressive"
; ; Lcl frame size = 8 @@ -47,17 +48,17 @@ G_M14785_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, stp xzr, xzr, [x19, #0x10] adrp x0, [HIGH RELOC #0xD1FFAB1E] add x0, x0, [LOW RELOC #0xD1FFAB1E]
- ;; size=64 bbWeight=1 PerfScore 25.00 -G_M14785_IG03: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
add x1, x0, #8
- ldar x1, [x1] - str x1, [x19, #0x20] - add x2, x0, #8 - mov x3, x1 - casal x3, x19, [x2] - cmp x3, x1
+ ;; size=68 bbWeight=1 PerfScore 25.50 +G_M14785_IG03: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz + ldar x2, [x1] + str x2, [x19, #0x20] + add x3, x0, #8 + mov x4, x2 + casal x4, x19, [x3] + cmp x4, x2
bne G_M14785_IG03
- ;; size=32 bbWeight=8 PerfScore 80.00
+ ;; size=28 bbWeight=8 PerfScore 76.00
G_M14785_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc ldr x19, [sp, #0x18] ldp fp, lr, [sp], #0x20 @@ -69,7 +70,7 @@ G_M14785_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { brk_windows #0 ;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 132, prolog size 16, PerfScore 112.00, instruction count 33, allocated bytes for code 132 (MethodHash=edc3c63e) for method System.Threading.Win32ThreadPoolNativeOverlapped:Free(ulong) (FullOpts)
+; Total bytes of code 132, prolog size 16, PerfScore 108.50, instruction count 33, allocated bytes for code 132 (MethodHash=edc3c63e) for method System.Threading.Win32ThreadPoolNativeOverlapped:Free(ulong) (FullOpts)
; ============================================================ Unwind Info:

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.windows.arm64.checked.mch 85 70 15 0 -1,000 +172
benchmarks.run_pgo.windows.arm64.checked.mch 378 377 1 0 -5,936 +4
benchmarks.run_tiered.windows.arm64.checked.mch 14 12 2 0 -148 +8
coreclr_tests.run.windows.arm64.checked.mch 1,571 1,342 224 5 -165,128 +2,816
libraries.crossgen2.windows.arm64.checked.mch 0 0 0 0 -0 +0
libraries.pmi.windows.arm64.checked.mch 953 811 142 0 -9,360 +740
libraries_tests.run.windows.arm64.Release.mch 1,788 930 858 0 -9,904 +3,468
librariestestsnotieredcompilation.run.windows.arm64.Release.mch 2,882 1,440 1,439 3 -19,908 +8,416
realworld.run.windows.arm64.checked.mch 290 274 15 1 -3,536 +112
smoke_tests.nativeaot.windows.arm64.checked.mch 6 0 0 6 -0 +0
7,967 5,256 2,696 15 -214,920 +15,736

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.windows.arm64.checked.mch 24,654 4 24,650 0 (0.00%) 0 (0.00%)
benchmarks.run_pgo.windows.arm64.checked.mch 96,699 49,319 47,380 0 (0.00%) 0 (0.00%)
benchmarks.run_tiered.windows.arm64.checked.mch 49,429 37,113 12,316 0 (0.00%) 0 (0.00%)
coreclr_tests.run.windows.arm64.checked.mch 605,280 369,845 235,435 5 (0.00%) 5 (0.00%)
libraries.crossgen2.windows.arm64.checked.mch 275,113 15 275,098 0 (0.00%) 0 (0.00%)
libraries.pmi.windows.arm64.checked.mch 307,382 6 307,376 0 (0.00%) 0 (0.00%)
libraries_tests.run.windows.arm64.Release.mch 643,567 467,219 176,348 0 (0.00%) 0 (0.00%)
librariestestsnotieredcompilation.run.windows.arm64.Release.mch 317,383 21,618 295,765 0 (0.00%) 6 (0.00%)
realworld.run.windows.arm64.checked.mch 33,259 3 33,256 0 (0.00%) 0 (0.00%)
smoke_tests.nativeaot.windows.arm64.checked.mch 24,159 8 24,151 0 (0.00%) 0 (0.00%)
2,376,925 945,150 1,431,775 5 (0.00%) 11 (0.00%)

jit-analyze output

benchmarks.run.windows.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 11037884 (overridden on cmd)
Total bytes of diff: 11037056 (overridden on cmd)
Total bytes of delta: -828 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          36 : 3725.dasm (1.10 % of base)
          36 : 3649.dasm (0.66 % of base)
          24 : 1903.dasm (1.67 % of base)
          24 : 3676.dasm (0.66 % of base)
          12 : 1885.dasm (2.59 % of base)
           4 : 10033.dasm (0.16 % of base)
           4 : 15778.dasm (0.65 % of base)
           4 : 20427.dasm (0.23 % of base)
           4 : 3701.dasm (0.25 % of base)
           4 : 3877.dasm (0.39 % of base)
           4 : 14940.dasm (0.13 % of base)
           4 : 3520.dasm (0.44 % of base)
           4 : 3778.dasm (0.35 % of base)
           4 : 6969.dasm (0.11 % of base)
           4 : 9946.dasm (0.15 % of base)

Top file improvements (bytes):
         -56 : 16985.dasm (-1.20 % of base)
         -56 : 5464.dasm (-2.14 % of base)
         -44 : 2790.dasm (-7.69 % of base)
         -40 : 5470.dasm (-0.29 % of base)
         -40 : 7024.dasm (-0.21 % of base)
         -32 : 11909.dasm (-2.01 % of base)
         -24 : 17618.dasm (-1.17 % of base)
         -24 : 15825.dasm (-1.89 % of base)
         -24 : 15826.dasm (-2.01 % of base)
         -24 : 16672.dasm (-1.49 % of base)
         -20 : 3716.dasm (-1.97 % of base)
         -20 : 7719.dasm (-2.33 % of base)
         -16 : 13397.dasm (-1.88 % of base)
         -16 : 15802.dasm (-0.37 % of base)
         -16 : 21754.dasm (-3.64 % of base)
         -16 : 18447.dasm (-3.17 % of base)
         -16 : 19082.dasm (-1.27 % of base)
         -16 : 11593.dasm (-0.83 % of base)
         -16 : 17437.dasm (-1.98 % of base)
         -16 : 19914.dasm (-2.40 % of base)

61 total files with Code Size differences (46 improved, 15 regressed), 0 unchanged.

Top method regressions (bytes):
          36 (0.66 % of base) : 3649.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
          36 (1.10 % of base) : 3725.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
          24 (1.67 % of base) : 1903.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          24 (0.66 % of base) : 3676.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
          12 (2.59 % of base) : 1885.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
           4 (0.16 % of base) : 10033.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
           4 (0.15 % of base) : 9946.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
           4 (0.23 % of base) : 20427.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
           4 (0.39 % of base) : 3877.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
           4 (0.65 % of base) : 15778.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           4 (0.13 % of base) : 14940.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
           4 (0.11 % of base) : 6969.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (FullOpts)
           4 (0.44 % of base) : 3520.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) : 3778.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) : 3701.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) : 16985.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) : 5464.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) : 2790.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
         -40 (-0.29 % of base) : 5470.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
         -40 (-0.21 % of base) : 7024.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) : 11909.dasm - System.Xml.XmlBinaryNodeWriter:UnsafeWriteText(ulong,int):this (FullOpts)
         -24 (-1.17 % of base) : 17618.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (FullOpts)
         -24 (-1.89 % of base) : 15825.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ReportDiagnosticsForSynthesizedAttributes(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
         -24 (-2.01 % of base) : 15826.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ReportDiagnosticsForUnsafeSynthesizedAttributes(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
         -24 (-1.49 % of base) : 16672.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckForRequiredMemberAttribute(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -20 (-2.33 % of base) : 7719.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) : 3716.dasm - System.Reflection.RuntimeModule:ResolveMethod(int,System.Type[],System.Type[]):System.Reflection.MethodBase:this (FullOpts)
         -16 (-1.98 % of base) : 17437.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:CheckIfAttributeShouldBeEmbedded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,int,int,System.Nullable`1[int]):ubyte:this (FullOpts)
         -16 (-0.37 % of base) : 15802.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions:ValidateOptions(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic]):this (FullOpts)
         -16 (-1.27 % of base) : 19082.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (FullOpts)
         -16 (-0.65 % of base) : 8867.dasm - Sigil.Emit`1[System.__Canon]:Call(System.Reflection.MethodInfo,System.Type[]):Sigil.Emit`1[System.__Canon]:this (FullOpts)
         -16 (-2.40 % of base) : 19914.dasm - System.Diagnostics.Process:WaitForExitCore(int):ubyte:this (FullOpts)
         -16 (-3.17 % of base) : 18447.dasm - System.Diagnostics.ProcessManager:HasExited(Microsoft.Win32.SafeHandles.SafeProcessHandle,byref,byref):ubyte (FullOpts)
         -16 (-0.83 % of base) : 11593.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (FullOpts)
         -16 (-3.64 % of base) : 21754.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (FullOpts)

Top method regressions (percentages):
          12 (2.59 % of base) : 1885.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
          24 (1.67 % of base) : 1903.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          36 (1.10 % of base) : 3725.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
          36 (0.66 % of base) : 3649.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
          24 (0.66 % of base) : 3676.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
           4 (0.65 % of base) : 15778.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           4 (0.44 % of base) : 3520.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) : 3877.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
           4 (0.35 % of base) : 3778.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) : 3701.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) : 20427.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
           4 (0.16 % of base) : 10033.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
           4 (0.15 % of base) : 9946.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
           4 (0.13 % of base) : 14940.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
           4 (0.11 % of base) : 6969.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) : 19748.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) : 7618.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -8 (-8.33 % of base) : 5850.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (FullOpts)
         -44 (-7.69 % of base) : 2790.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -8 (-4.17 % of base) : 822.dasm - System.Text.UnicodeEncoding:.cctor() (FullOpts)
          -8 (-4.17 % of base) : 11913.dasm - System.Xml.XmlBinaryNodeWriter:WriteDateTimeText(System.DateTime):this (FullOpts)
         -16 (-3.64 % of base) : 21754.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (FullOpts)
          -8 (-3.33 % of base) : 12190.dasm - System.Xml.XmlBaseReader:Close():this (FullOpts)
         -16 (-3.17 % of base) : 18447.dasm - System.Diagnostics.ProcessManager:HasExited(Microsoft.Win32.SafeHandles.SafeProcessHandle,byref,byref):ubyte (FullOpts)
         -12 (-3.09 % of base) : 5316.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -8 (-2.94 % of base) : 17434.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceModuleSymbol:<RequiresRefSafetyRulesAttribute>g__isFeatureDisabled|62_0(Microsoft.CodeAnalysis.CSharp.CSharpCompilation):ubyte (FullOpts)
          -8 (-2.70 % of base) : 5548.dasm - System.Net.Http.HttpConnection:ReturnConnectionToPool():this (FullOpts)
         -16 (-2.40 % of base) : 19914.dasm - System.Diagnostics.Process:WaitForExitCore(int):ubyte:this (FullOpts)
          -8 (-2.38 % of base) : 1879.dasm - System.Threading.ManualResetEventSlim:Dispose(ubyte):this (FullOpts)
         -20 (-2.33 % of base) : 7719.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) : 5547.dasm - System.Net.Http.HttpConnection:CompleteResponse():this (FullOpts)
          -8 (-2.30 % of base) : 7402.dasm - System.Xml.XmlBaseWriter:Close():this (FullOpts)
          -8 (-2.25 % of base) : 17337.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.Location):ubyte:this (FullOpts)
          -8 (-2.25 % of base) : 16535.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (FullOpts)
          -8 (-2.17 % of base) : 5573.dasm - System.Net.Http.HttpConnection:Dispose(ubyte):this (FullOpts)


benchmarks.run_pgo.windows.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 46555288 (overridden on cmd)
Total bytes of diff: 46549356 (overridden on cmd)
Total bytes of delta: -5932 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
           4 : 71578.dasm (0.23 % of base)

Top file improvements (bytes):
         -40 : 96618.dasm (-0.52 % of base)
         -16 : 11661.dasm (-0.37 % of base)
         -16 : 24985.dasm (-0.42 % of base)
         -16 : 26977.dasm (-0.44 % of base)
         -16 : 28590.dasm (-0.49 % of base)
         -16 : 32289.dasm (-0.44 % of base)
         -16 : 35817.dasm (-0.44 % of base)
         -16 : 40089.dasm (-0.48 % of base)
         -16 : 42915.dasm (-0.48 % of base)
         -16 : 68276.dasm (-0.43 % of base)
         -16 : 69842.dasm (-0.43 % of base)
         -16 : 88406.dasm (-0.49 % of base)
         -16 : 91945.dasm (-0.49 % of base)
         -16 : 13517.dasm (-0.42 % of base)
         -16 : 23837.dasm (-0.38 % of base)
         -16 : 86470.dasm (-0.49 % of base)
         -16 : 18869.dasm (-0.38 % of base)
         -16 : 22136.dasm (-0.43 % of base)
         -16 : 28265.dasm (-0.42 % of base)
         -16 : 32702.dasm (-0.44 % of base)

68 total files with Code Size differences (67 improved, 1 regressed), 0 unchanged.

Top method regressions (bytes):
           4 (0.23 % of base) : 71578.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)

Top method improvements (bytes):
         -40 (-0.52 % of base) : 96618.dasm - System.Net.Sockets.Tests.SocketSendReceivePerfTest+<SendAsyncThenReceiveAsync_Task>d__9:MoveNext():this (Tier1-OSR)
         -16 (-0.80 % of base) : 34123.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
         -16 (-0.37 % of base) : 11661.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) : 24985.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.44 % of base) : 26977.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) : 28590.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.44 % of base) : 32289.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.44 % of base) : 35817.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.48 % of base) : 40089.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.48 % of base) : 42915.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.43 % of base) : 68276.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.43 % of base) : 69842.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) : 88406.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) : 91945.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) : 13517.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.38 % of base) : 23837.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) : 86470.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.38 % of base) : 18869.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.43 % of base) : 22136.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) : 28265.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) : 71578.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)

Top method improvements (percentages):
          -8 (-4.76 % of base) : 93492.dasm - System.Net.Sockets.SocketAsyncEventArgs:FinishOperationSendPackets():this (Tier1)
          -8 (-1.89 % of base) : 93563.dasm - System.Net.Sockets.SocketAsyncEventArgs:Dispose():this (Tier1)
          -8 (-1.64 % of base) : 93396.dasm - System.Net.Sockets.Socket:DisposeCachedTaskSocketAsyncEventArgs():this (Tier1)
         -16 (-0.80 % of base) : 34123.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) : 59543.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
          -8 (-0.53 % of base) : 60842.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)
         -40 (-0.52 % of base) : 96618.dasm - System.Net.Sockets.Tests.SocketSendReceivePerfTest+<SendAsyncThenReceiveAsync_Task>d__9:MoveNext():this (Tier1-OSR)
         -16 (-0.49 % of base) : 28590.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) : 88406.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) : 91945.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) : 86470.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) : 94769.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) : 28021.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.48 % of base) : 30763.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.48 % of base) : 40089.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.48 % of base) : 42915.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.44 % of base) : 47113.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.44 % of base) : 67287.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.44 % of base) : 71371.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.44 % of base) : 95857.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.windows.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 15575692 (overridden on cmd)
Total bytes of diff: 15575552 (overridden on cmd)
Total bytes of delta: -140 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
           4 : 42965.dasm (0.23 % of base)
           4 : 25862.dasm (0.11 % of base)

Top file improvements (bytes):
         -16 : 37783.dasm (-1.98 % of base)
         -16 : 24788.dasm (-0.83 % of base)
         -16 : 37465.dasm (-2.63 % of base)
         -16 : 40656.dasm (-1.27 % of base)
         -16 : 40659.dasm (-2.37 % of base)
         -16 : 45617.dasm (-2.70 % of base)
         -12 : 28812.dasm (-0.10 % of base)
          -8 : 3224.dasm (-0.35 % of base)
          -8 : 44438.dasm (-0.61 % of base)
          -8 : 35892.dasm (-2.25 % of base)
          -8 : 43713.dasm (-1.72 % of base)
          -8 : 49113.dasm (-5.00 % of base)

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

Top method regressions (bytes):
           4 (0.23 % of base) : 42965.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
           4 (0.11 % of base) : 25862.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (Tier1)

Top method improvements (bytes):
         -16 (-2.63 % of base) : 37465.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) : 37783.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) : 40656.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
         -16 (-2.37 % of base) : 40659.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitVariableDeclarator(Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax):this (Tier1)
         -16 (-0.83 % of base) : 24788.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) : 45617.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
         -12 (-0.10 % of base) : 28812.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
          -8 (-2.25 % of base) : 35892.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
          -8 (-0.61 % of base) : 44438.dasm - Sigil.Emit`1[System.__Canon]:LoadArgument(ushort):Sigil.Emit`1[System.__Canon]:this (Tier1)
          -8 (-1.72 % of base) : 43713.dasm - Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable`1[System.Type],System.Collections.Generic.IEnumerable`1[System.Type],Sigil.Impl.VerificationCallback):this (Tier1)
          -8 (-5.00 % of base) : 49113.dasm - System.Net.Sockets.SocketAsyncEventArgs:FinishOperationSendPackets():this (Tier1)
          -8 (-0.35 % of base) : 3224.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) : 42965.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
           4 (0.11 % of base) : 25862.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (Tier1)

Top method improvements (percentages):
          -8 (-5.00 % of base) : 49113.dasm - System.Net.Sockets.SocketAsyncEventArgs:FinishOperationSendPackets():this (Tier1)
         -16 (-2.70 % of base) : 45617.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
         -16 (-2.63 % of base) : 37465.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 (-2.37 % of base) : 40659.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitVariableDeclarator(Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax):this (Tier1)
          -8 (-2.25 % of base) : 35892.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
         -16 (-1.98 % of base) : 37783.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:CheckIfAttributeShouldBeEmbedded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,int,int,System.Nullable`1[int]):ubyte:this (Tier1)
          -8 (-1.72 % of base) : 43713.dasm - Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable`1[System.Type],System.Collections.Generic.IEnumerable`1[System.Type],Sigil.Impl.VerificationCallback):this (Tier1)
         -16 (-1.27 % of base) : 40656.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
         -16 (-0.83 % of base) : 24788.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
          -8 (-0.61 % of base) : 44438.dasm - Sigil.Emit`1[System.__Canon]:LoadArgument(ushort):Sigil.Emit`1[System.__Canon]:this (Tier1)
          -8 (-0.35 % of base) : 3224.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.10 % of base) : 28812.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)

14 total methods with Code Size differences (12 improved, 2 regressed).


coreclr_tests.run.windows.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 505264988 (overridden on cmd)
Total bytes of diff: 505102676 (overridden on cmd)
Total bytes of delta: -162312 (-0.03 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
         148 : 233174.dasm (1.97 % of base)
         148 : 233488.dasm (1.68 % of base)
         148 : 233804.dasm (1.97 % of base)
         148 : 233822.dasm (1.68 % of base)
         148 : 192263.dasm (1.68 % of base)
         148 : 192510.dasm (1.70 % of base)
         148 : 193114.dasm (1.97 % of base)
         148 : 233211.dasm (1.67 % of base)
         148 : 233479.dasm (1.67 % of base)
          48 : 194140.dasm (1.70 % of base)
          48 : 320312.dasm (0.81 % of base)
          24 : 192532.dasm (1.58 % of base)
          24 : 192572.dasm (1.51 % of base)
          24 : 192588.dasm (1.50 % of base)
          24 : 193120.dasm (1.49 % of base)
          24 : 193131.dasm (1.50 % of base)
          24 : 233247.dasm (1.57 % of base)
          24 : 233171.dasm (1.53 % of base)
          24 : 233656.dasm (1.59 % of base)
          24 : 233771.dasm (1.50 % of base)

Top file improvements (bytes):
        -512 : 298570.dasm (-1.79 % of base)
        -512 : 297660.dasm (-1.85 % of base)
        -504 : 298075.dasm (-1.78 % of base)
        -504 : 299422.dasm (-1.83 % of base)
        -496 : 298258.dasm (-1.84 % of base)
        -496 : 297444.dasm (-1.81 % of base)
        -488 : 299150.dasm (-1.73 % of base)
        -480 : 269348.dasm (-1.84 % of base)
        -472 : 298291.dasm (-1.84 % of base)
        -472 : 298458.dasm (-1.71 % of base)
        -472 : 297377.dasm (-1.65 % of base)
        -464 : 297627.dasm (-1.78 % of base)
        -464 : 299388.dasm (-1.73 % of base)
        -456 : 297563.dasm (-1.74 % of base)
        -456 : 269776.dasm (-1.85 % of base)
        -456 : 270228.dasm (-1.76 % of base)
        -440 : 298755.dasm (-1.68 % of base)
        -440 : 297494.dasm (-1.67 % of base)
        -440 : 269732.dasm (-1.76 % of base)
        -440 : 299118.dasm (-1.68 % of base)

92 total files with Code Size differences (50 improved, 42 regressed), 5 unchanged.

Top method regressions (bytes):
         148 (1.67 % of base) : 233479.dasm - Test_AbstractBase02:TestEntryPoint():int (FullOpts)
         148 (1.68 % of base) : 192263.dasm - Test_BaseClass02:TestEntryPoint():int (FullOpts)
         148 (1.70 % of base) : 192510.dasm - Test_class01:TestEntryPoint():int (FullOpts)
         148 (1.67 % of base) : 233211.dasm - Test_NestedBaseClass05:TestEntryPoint():int (FullOpts)
         148 (1.68 % of base) : 233488.dasm - Test_NestedClass01:TestEntryPoint():int (FullOpts)
         148 (1.68 % of base) : 233822.dasm - Test_NestedClass03:TestEntryPoint():int (FullOpts)
         148 (1.97 % of base) : 233804.dasm - Test_NestedStruct01:TestEntryPoint():int (FullOpts)
         148 (1.97 % of base) : 233174.dasm - Test_NestedStruct03:TestEntryPoint():int (FullOpts)
         148 (1.97 % of base) : 193114.dasm - Test_struct01:TestEntryPoint():int (FullOpts)
          48 (0.81 % of base) : 320312.dasm - Program:RuntimeMethodHandle():ubyte (FullOpts)
          48 (1.70 % of base) : 194140.dasm - VectorTest:TestEntryPoint():int (FullOpts)
          24 (1.57 % of base) : 233247.dasm - Test_AbstractBase06:TestEntryPoint():int (FullOpts)
          24 (1.58 % of base) : 192532.dasm - Test_Class01:TestEntryPoint():int (FullOpts)
          24 (1.51 % of base) : 192572.dasm - Test_Class02:TestEntryPoint():int (FullOpts)
          24 (1.50 % of base) : 192588.dasm - Test_Class03:TestEntryPoint():int (FullOpts)
          24 (1.59 % of base) : 233656.dasm - Test_NestedInterface01:TestEntryPoint():int (FullOpts)
          24 (1.53 % of base) : 233171.dasm - Test_NestedInterface06:TestEntryPoint():int (FullOpts)
          24 (1.50 % of base) : 233771.dasm - Test_NestedInterface07:TestEntryPoint():int (FullOpts)
          24 (1.49 % of base) : 193120.dasm - Test_Struct02:TestEntryPoint():int (FullOpts)
          24 (1.50 % of base) : 193131.dasm - Test_Struct03:TestEntryPoint():int (FullOpts)

Top method improvements (bytes):
        -512 (-1.85 % of base) : 297660.dasm - Generated908:MethodCallingTest() (FullOpts)
        -512 (-1.79 % of base) : 298570.dasm - Generated934:MethodCallingTest() (FullOpts)
        -504 (-1.78 % of base) : 298075.dasm - Generated920:MethodCallingTest() (FullOpts)
        -504 (-1.83 % of base) : 299422.dasm - Generated960:MethodCallingTest() (FullOpts)
        -496 (-1.81 % of base) : 297444.dasm - Generated902:MethodCallingTest() (FullOpts)
        -496 (-1.84 % of base) : 298258.dasm - Generated925:MethodCallingTest() (FullOpts)
        -488 (-1.73 % of base) : 299150.dasm - Generated952:MethodCallingTest() (FullOpts)
        -480 (-1.84 % of base) : 269348.dasm - Generated1055:MethodCallingTest() (FullOpts)
        -472 (-1.65 % of base) : 297377.dasm - Generated900:MethodCallingTest() (FullOpts)
        -472 (-1.84 % of base) : 298291.dasm - Generated926:MethodCallingTest() (FullOpts)
        -472 (-1.71 % of base) : 298458.dasm - Generated931:MethodCallingTest() (FullOpts)
        -464 (-1.78 % of base) : 297627.dasm - Generated907:MethodCallingTest() (FullOpts)
        -464 (-1.73 % of base) : 299388.dasm - Generated959:MethodCallingTest() (FullOpts)
        -456 (-1.85 % of base) : 269776.dasm - Generated1065:MethodCallingTest() (FullOpts)
        -456 (-1.76 % of base) : 270228.dasm - Generated1076:MethodCallingTest() (FullOpts)
        -456 (-1.74 % of base) : 297563.dasm - Generated905:MethodCallingTest() (FullOpts)
        -440 (-1.76 % of base) : 269732.dasm - Generated1064:MethodCallingTest() (FullOpts)
        -440 (-1.67 % of base) : 297494.dasm - Generated903:MethodCallingTest() (FullOpts)
        -440 (-1.68 % of base) : 298755.dasm - Generated940:MethodCallingTest() (FullOpts)
        -440 (-1.68 % of base) : 299118.dasm - Generated951:MethodCallingTest() (FullOpts)

Top method regressions (percentages):
           4 (4.55 % of base) : 321265.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
          12 (4.05 % of base) : 202864.dasm - ForwardSubCallArgInterference3:TestEntryPoint():int (FullOpts)
           4 (3.57 % of base) : 259127.dasm - Runtime_95347:Test():int (FullOpts)
           4 (3.23 % of base) : 303965.dasm - ILVerify.Verifier+<>c:<.ctor>b__5_0():System.Resources.ResourceManager:this (FullOpts)
           4 (2.94 % of base) : 192716.dasm - Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
          12 (2.65 % of base) : 192584.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          12 (2.65 % of base) : 192594.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          12 (2.65 % of base) : 192279.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          12 (2.65 % of base) : 233199.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.63 % of base) : 192581.dasm - Gen`2[double,System.Guid]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 192568.dasm - Gen`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 192275.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 192269.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 233807.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 233089.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           4 (2.44 % of base) : 192512.dasm - Gen`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
           4 (2.44 % of base) : 233481.dasm - GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
           4 (2.44 % of base) : 233642.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) : 233212.dasm - Outer+GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
           4 (2.44 % of base) : 233176.dasm - Outer+GenInner`1[ValX1`1[ValX1`1[int]]]:InstVerify(System.Type):ubyte:this (FullOpts)

Top method improvements (percentages):
        -108 (-26.21 % of base) : 263487.dasm - testout1:Func(testout1+CL,testout1+VT):long (FullOpts)
         -16 (-23.53 % of base) : 260887.dasm - GitHub_18497:Test():System.Numerics.Vector`1[float] (FullOpts)
         -36 (-22.50 % of base) : 263268.dasm - bug1:TestEntryPoint() (FullOpts)
         -96 (-16.90 % of base) : 246013.dasm - Test_200w1d_02.testout1:TestEntryPoint():int (FullOpts)
         -12 (-16.67 % of base) : 210380.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
         -16 (-15.38 % of base) : 234186.dasm - Program:Main():int (FullOpts)
         -24 (-14.29 % of base) : 191955.dasm - StaticValueField:TestEntryPoint():int (FullOpts)
         -16 (-13.79 % of base) : 254488.dasm - Test_b18049:main():int (FullOpts)
         -16 (-13.33 % of base) : 203609.dasm - Q:TestEntryPoint():int (FullOpts)
          -8 (-13.33 % of base) : 260975.dasm - Test_GitHub_19222:main():int (FullOpts)
         -52 (-12.75 % of base) : 263475.dasm - bug1:TestEntryPoint() (FullOpts)
         -12 (-11.54 % of base) : 321218.dasm - Microsoft.Build.Framework.NativeMethods:get_IsWindows():ubyte (FullOpts)
         -12 (-10.71 % of base) : 260890.dasm - GitHub_18522:TestEntryPoint():int (FullOpts)
          -8 (-10.53 % of base) : 225038.dasm - AssemblyToLoad.Program:UseDependentAssembly():System.Reflection.Assembly (FullOpts)
          -8 (-10.53 % of base) : 225044.dasm - BinderTracingTests.BinderTracingTest:UseDependentAssembly():System.Reflection.Assembly (FullOpts)
         -16 (-10.26 % of base) : 232473.dasm - CMain:RunTest_ImplicitOverride5():ubyte (FullOpts)
         -16 (-10.26 % of base) : 225485.dasm - CMain:RunTest2():ubyte (FullOpts)
         -16 (-10.26 % of base) : 228253.dasm - CMain:RunTest3():ubyte (FullOpts)
         -16 (-10.26 % of base) : 232453.dasm - CMain:RunTest5():ubyte (FullOpts)
         -16 (-10.26 % of base) : 225493.dasm - CMain:RunTest6():ubyte (FullOpts)


libraries.pmi.windows.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 80134348 (overridden on cmd)
Total bytes of diff: 80125728 (overridden on cmd)
Total bytes of delta: -8620 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          20 : 225695.dasm (1.31 % of base)
          20 : 254280.dasm (0.55 % of base)
          16 : 26500.dasm (0.67 % of base)
          16 : 26881.dasm (1.31 % of base)
          16 : 26882.dasm (1.33 % of base)
          16 : 26883.dasm (1.78 % of base)
          12 : 254717.dasm (0.52 % of base)
          12 : 30556.dasm (2.91 % of base)
           8 : 225658.dasm (0.82 % of base)
           8 : 225659.dasm (1.79 % of base)
           8 : 254279.dasm (0.22 % of base)
           8 : 254687.dasm (0.87 % of base)
           8 : 26043.dasm (0.37 % of base)
           8 : 288472.dasm (0.33 % of base)
           8 : 305899.dasm (0.33 % of base)
           8 : 98416.dasm (0.58 % of base)
           8 : 149135.dasm (1.04 % of base)
           8 : 149136.dasm (1.09 % of base)
           8 : 7355.dasm (0.34 % of base)
           8 : 149147.dasm (0.63 % of base)

Top file improvements (bytes):
         -88 : 40370.dasm (-1.31 % of base)
         -64 : 263987.dasm (-5.18 % of base)
         -64 : 39457.dasm (-0.77 % of base)
         -60 : 184567.dasm (-2.04 % of base)
         -56 : 184568.dasm (-1.60 % of base)
         -56 : 40347.dasm (-1.08 % of base)
         -56 : 74162.dasm (-1.13 % of base)
         -48 : 100609.dasm (-0.31 % of base)
         -48 : 39753.dasm (-1.72 % of base)
         -48 : 39821.dasm (-1.48 % of base)
         -48 : 48010.dasm (-0.89 % of base)
         -48 : 69359.dasm (-1.02 % of base)
         -44 : 216472.dasm (-7.69 % of base)
         -40 : 184250.dasm (-1.32 % of base)
         -40 : 205088.dasm (-0.21 % of base)
         -40 : 40311.dasm (-1.01 % of base)
         -36 : 40843.dasm (-1.49 % of base)
         -36 : 122931.dasm (-1.29 % of base)
         -32 : 44741.dasm (-1.12 % of base)
         -32 : 47449.dasm (-1.75 % of base)

81 total files with Code Size differences (44 improved, 37 regressed), 0 unchanged.

Top method regressions (bytes):
          20 (1.31 % of base) : 225695.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          20 (0.55 % of base) : 254280.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) : 26500.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.Adapters:ConvImmutableTypeToMutableType(Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,System.Type):System.Type (FullOpts)
          16 (1.33 % of base) : 26882.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) : 26883.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) : 26881.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) : 30556.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
          12 (0.52 % of base) : 254717.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) : 7355.dasm - Microsoft.Build.BackEnd.TaskExecutionHost:FindTaskInRegistry(System.Collections.Generic.IDictionary`2[System.String,System.String]):Microsoft.Build.Execution.TaskFactoryWrapper:this (FullOpts)
           8 (0.82 % of base) : 225658.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactory[ubyte](System.Type[]):Microsoft.Extensions.DependencyInjection.ObjectFactory`1[ubyte] (FullOpts)
           8 (1.79 % of base) : 225659.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
           8 (0.37 % of base) : 26043.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) : 149135.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateMethodCall[System.__Canon](System.Reflection.MethodBase):Newtonsoft.Json.Utilities.MethodCall`2[System.__Canon,System.__Canon]:this (FullOpts)
           8 (1.09 % of base) : 149136.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateMethodCall[ubyte](System.Reflection.MethodBase):Newtonsoft.Json.Utilities.MethodCall`2[ubyte,System.Object]:this (FullOpts)
           8 (0.63 % of base) : 149147.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[ubyte](System.Reflection.PropertyInfo):System.Action`2[ubyte,System.Object]:this (FullOpts)
           8 (0.22 % of base) : 254279.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[System.__Canon]():System.Func`2[System.__Canon,System.__Canon] (FullOpts)
           8 (0.87 % of base) : 254687.dasm - System.Composition.TypedParts.Discovery.DiscoveredPropertyExport:GetExportDescriptor(System.Composition.Hosting.Core.CompositeActivator):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)
           8 (0.58 % of base) : 98416.dasm - System.Configuration.ConfigurationLockCollection:Add(System.String):this (FullOpts)
           8 (0.33 % of base) : 288472.dasm - System.Reflection.Emit.IgnoreAccessChecksToAttributeBuilder:AddToModule(System.Reflection.Emit.ModuleBuilder):System.Reflection.ConstructorInfo (FullOpts)
           8 (0.33 % of base) : 305899.dasm - Xunit.Sdk.ExecutionContextHelper:EnsureInitialized() (FullOpts)

Top method improvements (bytes):
         -88 (-1.31 % of base) : 40370.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) : 39457.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)
         -64 (-5.18 % of base) : 263987.dasm - System.DirectoryServices.AccountManagement.ADStoreCtx:SetCannotChangePasswordStatus(System.DirectoryServices.AccountManagement.Principal,ubyte,ubyte) (FullOpts)
         -60 (-2.04 % of base) : 184567.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) : 74162.dasm - Microsoft.CodeAnalysis.CSharp.AsyncRewriter+AsyncIteratorRewriter:VerifyPresenceOfRequiredAPIs(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -56 (-1.08 % of base) : 40347.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) : 184568.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) : 39821.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) : 39753.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) : 48010.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitLockStatement(Microsoft.CodeAnalysis.CSharp.BoundLockStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
         -48 (-1.02 % of base) : 69359.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) : 100609.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) : 216472.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
         -40 (-1.01 % of base) : 40311.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.32 % of base) : 184250.dasm - System.Net.Http.Http2Connection+Http2Stream:OnStatus(int):this (FullOpts)
         -40 (-0.21 % of base) : 205088.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) : 40843.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitUsingStatement(Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax):this (FullOpts)
         -36 (-1.29 % of base) : 122931.dasm - Microsoft.CodeAnalysis.VisualBasic.LocalRewriter:EnsureStringHashFunction(Microsoft.CodeAnalysis.VisualBasic.BoundSelectStatement):this (FullOpts)
         -32 (-1.75 % of base) : 47449.dasm - Microsoft.CodeAnalysis.CSharp.CodeCoverageInstrumenter:TryCreate(Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.BoundStatement,Microsoft.CodeAnalysis.CSharp.SyntheticBoundNodeFactory,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CodeGen.DebugDocumentProvider,Microsoft.CodeAnalysis.CSharp.Instrumenter,byref):ubyte (FullOpts)
         -32 (-1.12 % of base) : 44741.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) : 254305.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 254309.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 254293.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 254297.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 254288.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 254720.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
           4 (4.55 % of base) : 8939.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
           4 (3.85 % of base) : 79422.dasm - Microsoft.Diagnostics.Tracing.Stacks.StackSourceWriterHelper:GetExporterInfo():System.String (FullOpts)
           4 (3.23 % of base) : 233423.dasm - Internal.TypeSystem.TypeSystemException+<>c:<.cctor>b__20_0():System.Resources.ResourceManager:this (FullOpts)
          12 (2.91 % of base) : 30556.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
           4 (2.78 % of base) : 6224.dasm - Microsoft.Build.BackEnd.TaskParameterTypeVerifier:IsAssignableToITask(System.Type):ubyte (FullOpts)
           4 (2.56 % of base) : 254686.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:.cctor() (FullOpts)
           4 (2.33 % of base) : 77305.dasm - Dia2Lib.DiaLoader:GetDiaSourceObject():Dia2Lib.IDiaDataSource3 (FullOpts)
           4 (2.27 % of base) : 254301.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:.cctor() (FullOpts)
           4 (2.22 % of base) : 254709.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.00 % of base) : 240337.dasm - Microsoft.Build.Framework.NativeMethods:get_FrameworkCurrentPath():System.String (FullOpts)
           8 (1.79 % of base) : 225659.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
           4 (1.79 % of base) : 305756.dasm - Xunit.Sdk.XunitTestFrameworkDiscoverer:.cctor() (FullOpts)
          16 (1.78 % of base) : 26883.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)
           4 (1.72 % of base) : 307152.dasm - Xunit.Serialization.XunitSerializationInfo:GetValue[long](System.String):long:this (FullOpts)

Top method improvements (percentages):
         -12 (-21.43 % of base) : 285078.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) : 166380.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 240815.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 141598.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 144439.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
          -8 (-14.29 % of base) : 169214.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
          -8 (-14.29 % of base) : 252292.dasm - System.ComponentModel.DesignerCategoryAttribute:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 282380.dasm - System.Net.FtpControlStream:get_BannerMessage():System.String:this (FullOpts)
          -8 (-14.29 % of base) : 282382.dasm - System.Net.FtpControlStream:get_ExitMessage():System.String:this (FullOpts)
          -8 (-14.29 % of base) : 282381.dasm - System.Net.FtpControlStream:get_WelcomeMessage():System.String:this (FullOpts)
          -8 (-14.29 % of base) : 306896.dasm - Xunit.ExecutionSink:WaitForStopEvent(int):ubyte:this (FullOpts)
          -8 (-13.33 % of base) : 226025.dasm - Microsoft.Extensions.DependencyInjection.ServiceProvider:OnCreate(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite):this (FullOpts)
          -8 (-11.76 % of base) : 252278.dasm - System.ComponentModel.DescriptionAttribute:GetHashCode():int:this (FullOpts)
          -8 (-11.76 % of base) : 252310.dasm - System.ComponentModel.DisplayNameAttribute:GetHashCode():int:this (FullOpts)
          -8 (-11.11 % of base) : 252256.dasm - System.ComponentModel.CategoryAttribute:GetHashCode():int:this (FullOpts)
         -12 (-10.00 % of base) : 181352.dasm - System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
         -16 (-9.09 % of base) : 259401.dasm - System.Data.OleDb.OleDbConnectionInternal:Dispose():this (FullOpts)
          -8 (-8.33 % of base) : 233235.dasm - Internal.TypeSystem.Ecma.PortablePdbSymbolReader:Dispose():this (FullOpts)
          -8 (-8.33 % of base) : 137561.dasm - Microsoft.CodeAnalysis.Text.TextChange:GetHashCode():int:this (FullOpts)
          -8 (-8.33 % of base) : 285213.dasm - System.Net.WebSockets.Compression.WebSocketDeflater:Dispose():this (FullOpts)


libraries_tests.run.windows.arm64.Release.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 321619196 (overridden on cmd)
Total bytes of diff: 321612760 (overridden on cmd)
Total bytes of delta: -6436 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          16 : 514170.dasm (0.11 % of base)
           8 : 114538.dasm (0.31 % of base)
           8 : 114537.dasm (0.30 % of base)
           8 : 114539.dasm (1.21 % of base)
           8 : 256735.dasm (0.85 % of base)
           8 : 513090.dasm (0.19 % of base)
           8 : 76165.dasm (0.64 % of base)
           4 : 120489.dasm (1.64 % of base)
           4 : 635000.dasm (0.77 % of base)
           4 : 640636.dasm (0.40 % of base)
           4 : 642236.dasm (0.40 % of base)
           4 : 642764.dasm (0.14 % of base)
           4 : 169397.dasm (1.64 % of base)
           4 : 190979.dasm (2.04 % of base)
           4 : 213141.dasm (1.64 % of base)
           4 : 228581.dasm (1.64 % of base)
           4 : 238983.dasm (2.04 % of base)
           4 : 259116.dasm (1.64 % of base)
           4 : 272512.dasm (1.64 % of base)
           4 : 285296.dasm (1.64 % of base)

Top file improvements (bytes):
         -44 : 54907.dasm (-1.39 % of base)
         -44 : 56705.dasm (-1.02 % of base)
         -44 : 567588.dasm (-5.98 % of base)
         -44 : 567842.dasm (-5.91 % of base)
         -44 : 567852.dasm (-5.98 % of base)
         -32 : 111997.dasm (-1.33 % of base)
         -32 : 74041.dasm (-1.33 % of base)
         -32 : 338237.dasm (-1.33 % of base)
         -32 : 361121.dasm (-1.32 % of base)
         -32 : 426425.dasm (-1.32 % of base)
         -32 : 483705.dasm (-1.32 % of base)
         -32 : 486577.dasm (-1.32 % of base)
         -32 : 328973.dasm (-1.32 % of base)
         -32 : 350217.dasm (-1.32 % of base)
         -32 : 385333.dasm (-0.44 % of base)
         -32 : 436957.dasm (-1.32 % of base)
         -32 : 454485.dasm (-1.32 % of base)
         -32 : 470801.dasm (-1.32 % of base)
         -32 : 491341.dasm (-1.31 % of base)
         -32 : 610857.dasm (-1.33 % of base)

95 total files with Code Size differences (37 improved, 58 regressed), 0 unchanged.

Top method regressions (bytes):
          16 (0.11 % of base) : 514170.dasm - System.Text.Tests.TranscodingStreamTests+<RunReadTestAsync>d__29:MoveNext():this (Tier1)
           8 (0.31 % of base) : 114538.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactory(System.Type,System.Type[]):Microsoft.Extensions.DependencyInjection.ObjectFactory (Tier1)
           8 (1.21 % of base) : 114539.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (Tier1)
           8 (0.30 % of base) : 114537.dasm - Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests:CreateInstanceFromFactory(System.IServiceProvider,System.Type,System.Object[]):System.Object (Tier1)
           8 (0.85 % of base) : 256735.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (Tier0-FullOpts)
           8 (0.19 % of base) : 513090.dasm - Moq.ExpressionExtensions:IsMatch(System.Linq.Expressions.Expression,byref):ubyte (Tier1)
           8 (0.64 % of base) : 76165.dasm - System.Reflection.FieldAccessor:Initialize():this (Instrumented Tier1)
           4 (0.40 % of base) : 640636.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 642236.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 640756.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 642904.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 642996.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.39 % of base) : 636856.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.39 % of base) : 639344.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (2.04 % of base) : 190979.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
           4 (2.04 % of base) : 238983.dasm - System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
           4 (2.04 % of base) : 78658.dasm - System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
           4 (0.77 % of base) : 635000.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.14 % of base) : 642764.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateInterfaces(System.RuntimeType+RuntimeTypeCache+Filter):System.RuntimeType[]:this (Instrumented Tier1)
           4 (0.14 % of base) : 639800.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateInterfaces(System.RuntimeType+RuntimeTypeCache+Filter):System.RuntimeType[]:this (Instrumented Tier1)

Top method improvements (bytes):
         -44 (-1.02 % of base) : 56705.dasm - Microsoft.CodeAnalysis.CSharp.DocumentationCommentCompiler:TryGetDocumentationCommentNodes(Microsoft.CodeAnalysis.CSharp.Symbol,byref,byref):ubyte:this (Tier1)
         -44 (-1.39 % of base) : 54907.dasm - Microsoft.CodeAnalysis.CSharp.MergedTypeDeclaration:get_SyntaxReferences():System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.SyntaxReference]:this (Tier1)
         -44 (-5.98 % of base) : 567852.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.91 % of base) : 567842.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 567588.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -32 (-0.44 % of base) : 385333.dasm - System.Reflection.Emit.CustomAttributeBuilder:.ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]):this (Instrumented Tier1)
         -32 (-1.33 % of base) : 111997.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.33 % of base) : 74041.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.33 % of base) : 338237.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 361121.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 426425.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 483705.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 486577.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 328973.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 350217.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 436957.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 454485.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.32 % of base) : 470801.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.31 % of base) : 491341.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)
         -32 (-1.33 % of base) : 610857.dasm - System.Resources.ManifestBasedResourceGroveler:CreateResourceSet(System.IO.Stream,System.Reflection.Assembly):System.Resources.ResourceSet:this (Instrumented Tier1)

Top method regressions (percentages):
           4 (2.04 % of base) : 190979.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
           4 (2.04 % of base) : 238983.dasm - System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
           4 (2.04 % of base) : 78658.dasm - System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
           4 (1.64 % of base) : 120489.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 169397.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 213141.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 228581.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 259116.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 272512.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 285296.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 292560.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 302589.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 335189.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 336912.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 344149.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 360992.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 427497.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 440484.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 442600.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
           4 (1.64 % of base) : 445525.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)

Top method improvements (percentages):
         -44 (-5.98 % of base) : 567852.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 567588.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.91 % of base) : 567842.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -12 (-4.55 % of base) : 52335.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
         -12 (-4.55 % of base) : 82513.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
          -8 (-3.85 % of base) : 386655.dasm - System.IO.StringWriter:get_Encoding():System.Text.Encoding:this (Instrumented Tier1)
         -12 (-3.53 % of base) : 350900.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (Tier1)
          -8 (-3.39 % of base) : 590397.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:HasInitializer(Microsoft.CodeAnalysis.CSharp.Symbol):ubyte (Tier1)
          -8 (-2.99 % of base) : 157122.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:HasInitializer(Microsoft.CodeAnalysis.CSharp.Symbol):ubyte (Tier1)
         -12 (-2.91 % of base) : 405040.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (Tier1)
          -8 (-2.82 % of base) : 512226.dasm - System.Text.UTF32Encoding:.ctor(ubyte,ubyte,ubyte):this (Instrumented Tier1)
         -12 (-2.54 % of base) : 588575.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:get_HasDeclaredRequiredMembers():ubyte:this (Tier1)
         -24 (-2.51 % of base) : 89007.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SymbolExtensions:GetNonNullSyntaxNode(Microsoft.CodeAnalysis.CSharp.Symbol):Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode (Tier1)
         -12 (-2.44 % of base) : 237091.dasm - Microsoft.Diagnostics.Tracing.Session.TraceEventProviderOptions:get_FilteringSupported():ubyte (Tier1)
         -16 (-2.41 % of base) : 411205.dasm - System.Xml.RwFactoryWriterTests.CXmlDriverEngine:CreateTestCase(System.String,System.String,System.Xml.RwFactoryWriterTests.CXmlDriverParam):System.Xml.RwFactoryWriterTests.CXmlDriverScenario:this (Tier1)
          -8 (-2.35 % of base) : 571399.dasm - Microsoft.CSharp.RuntimeBinder.ComInterop.ComBinder:TryBindInvokeMember(System.Dynamic.InvokeMemberBinder,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],byref):ubyte (Tier1)
          -8 (-2.13 % of base) : 151685.dasm - Microsoft.CodeAnalysis.CSharp.EarlyWellKnownAttributeBinder:CanBeValidAttributeArgument(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax):ubyte (Tier1)
         -16 (-2.07 % of base) : 286071.dasm - System.IO.Pipes.Tests.NamedPipeTest_CurrentUserOnly:CreateMultipleConcurrentServers_ConnectMultipleClients(int) (Tier0-FullOpts)
          -8 (-2.06 % of base) : 408201.dasm - System.Collections.Hashtable:Clone():System.Object:this (Instrumented Tier1)
          -8 (-2.04 % of base) : 4713.dasm - System.Reflection.TypeNameParser:EscapeTypeName(System.String,System.ReadOnlySpan`1[System.String]):System.String (Instrumented Tier1)


librariestestsnotieredcompilation.run.windows.arm64.Release.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 171358052 (overridden on cmd)
Total bytes of diff: 171346560 (overridden on cmd)
Total bytes of delta: -11492 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          60 : 88006.dasm (0.61 % of base)
          60 : 88119.dasm (0.61 % of base)
          60 : 87988.dasm (0.61 % of base)
          60 : 88115.dasm (0.61 % of base)
          36 : 81308.dasm (0.62 % of base)
          36 : 81320.dasm (0.63 % of base)
          32 : 87994.dasm (0.52 % of base)
          32 : 88108.dasm (0.52 % of base)
          32 : 88124.dasm (0.52 % of base)
          32 : 81796.dasm (0.66 % of base)
          32 : 87974.dasm (0.52 % of base)
          28 : 242422.dasm (0.52 % of base)
          28 : 88034.dasm (0.54 % of base)
          28 : 87261.dasm (0.50 % of base)
          28 : 88116.dasm (0.54 % of base)
          28 : 88117.dasm (0.54 % of base)
          28 : 88118.dasm (0.54 % of base)
          24 : 141108.dasm (0.63 % of base)
          24 : 141056.dasm (0.76 % of base)
          24 : 141068.dasm (0.73 % of base)

Top file improvements (bytes):
        -228 : 149850.dasm (-3.04 % of base)
        -100 : 270959.dasm (-5.35 % of base)
         -96 : 241493.dasm (-2.53 % of base)
         -96 : 241952.dasm (-2.93 % of base)
         -80 : 313116.dasm (-1.61 % of base)
         -64 : 207042.dasm (-2.82 % of base)
         -64 : 24025.dasm (-0.77 % of base)
         -64 : 90008.dasm (-1.14 % of base)
         -64 : 90010.dasm (-1.29 % of base)
         -64 : 209246.dasm (-2.87 % of base)
         -64 : 241927.dasm (-2.96 % of base)
         -64 : 241987.dasm (-2.96 % of base)
         -64 : 241994.dasm (-2.00 % of base)
         -56 : 134722.dasm (-1.08 % of base)
         -56 : 146951.dasm (-2.18 % of base)
         -56 : 146982.dasm (-2.05 % of base)
         -56 : 164171.dasm (-1.67 % of base)
         -56 : 22322.dasm (-2.13 % of base)
         -56 : 147030.dasm (-2.15 % of base)
         -48 : 31429.dasm (-1.10 % of base)

87 total files with Code Size differences (46 improved, 41 regressed), 3 unchanged.

Top method regressions (bytes):
          60 (0.61 % of base) : 88119.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeObject_RemovesProvider():this (FullOpts)
          60 (0.61 % of base) : 87988.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeType_RemovesProvider():this (FullOpts)
          60 (0.61 % of base) : 88115.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeObject_RemovesProvider():this (FullOpts)
          60 (0.61 % of base) : 88006.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeType_RemovesProvider():this (FullOpts)
          36 (0.63 % of base) : 81320.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
          36 (0.62 % of base) : 81308.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameReverseOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
          32 (0.66 % of base) : 81796.dasm - System.ComponentModel.Composition.DirectoryCatalogTests:GetExports():this (FullOpts)
          32 (0.52 % of base) : 87994.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
          32 (0.52 % of base) : 88108.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
          32 (0.52 % of base) : 87974.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
          32 (0.52 % of base) : 88124.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
          28 (0.50 % of base) : 87261.dasm - System.ComponentModel.Tests.TypeDescriptionProviderTests:GetFullComponentName_InvokeWithCustomTypeDescriptor_ReturnsExpected(System.Object,System.String):this (FullOpts)
          28 (0.54 % of base) : 88116.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
          28 (0.54 % of base) : 88117.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeType_GetProviderReturnsExpected():this (FullOpts)
          28 (0.54 % of base) : 88118.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
          28 (0.54 % of base) : 88034.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeType_GetProviderReturnsExpected():this (FullOpts)
          28 (0.52 % of base) : 242422.dasm - System.Text.Tests.TranscodingStreamTests:Flush_FlushesInnerStreamButNotDecodedState():this (FullOpts)
          24 (0.63 % of base) : 141108.dasm - System.Linq.Tests.GroupJoinTests:CustomComparer():this (FullOpts)
          24 (0.73 % of base) : 141068.dasm - System.Linq.Tests.GroupJoinTests:OuterEmptyInnerNonEmpty():this (FullOpts)
          24 (0.76 % of base) : 141056.dasm - System.Linq.Tests.GroupJoinTests+<>c__DisplayClass7_0:<InnerNull>b__0():System.Object:this (FullOpts)

Top method improvements (bytes):
        -228 (-3.04 % of base) : 149850.dasm - System.Buffers.Binary.Tests.BinaryReaderUnitTests:SpanWriteAndReadBigEndianHeterogeneousStruct():this (FullOpts)
        -100 (-5.35 % of base) : 270959.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.53 % of base) : 241493.dasm - System.Text.Tests.NegativeEncodingTests+<Encodings_TestData>d__0:MoveNext():ubyte:this (FullOpts)
         -96 (-2.93 % of base) : 241952.dasm - System.Text.Tests.UnicodeEncodingTests+<Equals_TestData>d__10:MoveNext():ubyte:this (FullOpts)
         -80 (-1.61 % of base) : 313116.dasm - System.Threading.Tests.MutexTests+<>c__DisplayClass19_0:<AbandonExisting>b__0():this (FullOpts)
         -64 (-2.82 % of base) : 207042.dasm - DataContractSerializerTests:DCS_KnownSerializableTypes_Tuples() (FullOpts)
         -64 (-2.87 % of base) : 209246.dasm - DataContractSerializerTests:DCS_KnownSerializableTypes_Tuples() (FullOpts)
         -64 (-0.77 % of base) : 24025.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.29 % of base) : 90010.dasm - MonoTests.System.Configuration.ConfigurationErrorsExceptionTest:Constructor4():this (FullOpts)
         -64 (-1.14 % of base) : 90008.dasm - MonoTests.System.Configuration.ConfigurationErrorsExceptionTest:Constructor6():this (FullOpts)
         -64 (-2.96 % of base) : 241927.dasm - System.Text.Tests.UnicodeEncodingTests+<Encodings_TestData>d__4:MoveNext():ubyte:this (FullOpts)
         -64 (-2.96 % of base) : 241987.dasm - System.Text.Tests.UTF32EncodingTests+<Encodings_TestData>d__4:MoveNext():ubyte:this (FullOpts)
         -64 (-2.00 % of base) : 241994.dasm - System.Text.Tests.UTF32EncodingTests+<Equals_TestData>d__10:MoveNext():ubyte:this (FullOpts)
         -56 (-1.08 % of base) : 134722.dasm - System.IO.Tests.BinaryWriterTests:BinaryWriter_SeekTests():this (FullOpts)
         -56 (-2.18 % of base) : 146951.dasm - System.MemoryTests.MemoryTests:MemoryFromMemoryManagerInt() (FullOpts)
         -56 (-2.05 % of base) : 146982.dasm - System.MemoryTests.MemoryTests:MemoryFromMemoryManagerLong() (FullOpts)
         -56 (-2.15 % of base) : 147030.dasm - System.MemoryTests.MemoryTests:ReadOnlyMemoryFromMemoryFromMemoryManagerInt() (FullOpts)
         -56 (-2.13 % of base) : 22322.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.67 % of base) : 164171.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) : 31429.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetEnumeratorInfoCore(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,byref,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):int:this (FullOpts)

Top method regressions (percentages):
           4 (8.33 % of base) : 184431.dasm - System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
           4 (8.33 % of base) : 191179.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumUnderlyingType_TypeNotEnum_ThrowsArgumentException>b__18_0():System.Object:this (FullOpts)
           4 (7.69 % of base) : 191347.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredEvent_NullName_ThrowsArgumentNullException>b__67_0():System.Object:this (FullOpts)
           4 (7.69 % of base) : 191378.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredField_NullName_ThrowsArgumentNullException>b__68_0():System.Object:this (FullOpts)
           4 (7.69 % of base) : 191138.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredNestedType_NullName_ThrowsArgumentNullException>b__71_0():System.Object:this (FullOpts)
           4 (7.69 % of base) : 191418.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumName_Invalid>b__13_1():System.Object:this (FullOpts)
           4 (7.14 % of base) : 191384.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEvent_NullName_ThrowsArgumentNullException>b__58_0():System.Object:this (FullOpts)
           4 (7.14 % of base) : 191315.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetField_NullName_ThrowsArgumentNullException>b__61_0():System.Object:this (FullOpts)
           4 (6.67 % of base) : 191417.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumName_Invalid>b__13_0():System.Object:this (FullOpts)
           4 (5.26 % of base) : 209837.dasm - System.Tests.Types.GenericTypeParameter1Of2Tests:CreateType():System.Type:this (FullOpts)
           4 (4.76 % of base) : 35054.dasm - DryIoc.Converter:.cctor() (FullOpts)
           4 (4.76 % of base) : 35854.dasm - LightInject.ServiceContainer:.cctor() (FullOpts)
           4 (4.76 % of base) : 88802.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 88810.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 88808.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 42594.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 88763.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 30143.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 88806.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 88424.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)

Top method improvements (percentages):
         -12 (-21.43 % of base) : 164612.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) : 22678.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -8 (-14.29 % of base) : 11734.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
          -8 (-14.29 % of base) : 2795.dasm - Microsoft.VisualStudio.Composition.ByValueEquality+AssemblyNameComparer:GetHashCode(System.Reflection.AssemblyName):int:this (FullOpts)
          -8 (-14.29 % of base) : 84534.dasm - System.ComponentModel.DesignerCategoryAttribute:GetHashCode():int:this (FullOpts)
          -8 (-11.76 % of base) : 84611.dasm - System.ComponentModel.DescriptionAttribute:GetHashCode():int:this (FullOpts)
          -8 (-11.76 % of base) : 84779.dasm - System.ComponentModel.DisplayNameAttribute:GetHashCode():int:this (FullOpts)
         -32 (-11.27 % of base) : 42888.dasm - Microsoft.CodeAnalysis.NamingStyles.NamingStyle:GetHashCode():int:this (FullOpts)
         -32 (-11.27 % of base) : 48627.dasm - Microsoft.CodeAnalysis.NamingStyles.NamingStyle:GetHashCode():int:this (FullOpts)
         -12 (-11.11 % of base) : 134145.dasm - System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
          -8 (-11.11 % of base) : 84620.dasm - System.ComponentModel.CategoryAttribute:GetHashCode():int:this (FullOpts)
         -12 (-9.09 % of base) : 36662.dasm - Autofac.Core.Resolving.Pipeline.DefaultResolveRequestContext:ChangeScope(Autofac.Core.ISharingLifetimeScope):this (FullOpts)
          -8 (-8.70 % of base) : 187398.dasm - System.Reflection.Tests.MyAttributeBase_M:ToString():System.String:this (FullOpts)
          -8 (-8.70 % of base) : 187342.dasm - System.Reflection.Tests.ParameterInfoAttributeBase:ToString():System.String:this (FullOpts)
         -16 (-8.70 % of base) : 224154.dasm - System.Security.Cryptography.DSACng:Dispose(ubyte):this (FullOpts)
          -8 (-8.33 % of base) : 164135.dasm - System.Net.WebSockets.Compression.WebSocketDeflater:Dispose():this (FullOpts)
          -8 (-8.33 % of base) : 310750.dasm - System.Threading.Tasks.Tests.TaskAPMTests:Dispose():this (FullOpts)
          -8 (-7.69 % of base) : 238081.dasm - System.Security.Permissions.Tests.CodeConnectAccessTests:CodeConnectAccessCallMethods() (FullOpts)
         -44 (-7.69 % of base) : 146513.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -8 (-7.14 % of base) : 164133.dasm - System.Net.WebSockets.Compression.WebSocketInflater:Dispose():this (FullOpts)


realworld.run.windows.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 15876128 (overridden on cmd)
Total bytes of diff: 15872704 (overridden on cmd)
Total bytes of delta: -3424 (-0.02 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          24 : 30308.dasm (1.00 % of base)
          12 : 33026.dasm (1.07 % of base)
           8 : 2098.dasm (0.85 % of base)
           8 : 29733.dasm (0.18 % of base)
           8 : 32172.dasm (0.81 % of base)
           8 : 32187.dasm (0.72 % of base)
           8 : 32312.dasm (0.75 % of base)
           8 : 32313.dasm (1.22 % of base)
           4 : 12233.dasm (1.75 % of base)
           4 : 17134.dasm (0.65 % of base)
           4 : 25614.dasm (2.04 % of base)
           4 : 29407.dasm (0.61 % of base)
           4 : 11375.dasm (2.13 % of base)
           4 : 2760.dasm (0.44 % of base)
           4 : 32454.dasm (0.25 % of base)

Top file improvements (bytes):
         -64 : 10487.dasm (-2.28 % of base)
         -56 : 20562.dasm (-1.20 % of base)
         -52 : 14135.dasm (-2.02 % of base)
         -48 : 19542.dasm (-1.05 % of base)
         -48 : 24973.dasm (-1.82 % of base)
         -48 : 26761.dasm (-0.92 % of base)
         -40 : 8082.dasm (-1.75 % of base)
         -40 : 9455.dasm (-1.05 % of base)
         -40 : 14144.dasm (-0.29 % of base)
         -40 : 23119.dasm (-1.07 % of base)
         -40 : 7536.dasm (-5.95 % of base)
         -36 : 22182.dasm (-1.49 % of base)
         -32 : 26809.dasm (-0.35 % of base)
         -32 : 3152.dasm (-0.54 % of base)
         -32 : 10224.dasm (-0.51 % of base)
         -32 : 23839.dasm (-0.77 % of base)
         -32 : 27355.dasm (-0.92 % of base)
         -28 : 30128.dasm (-0.93 % of base)
         -24 : 10221.dasm (-0.57 % of base)
         -24 : 3353.dasm (-1.08 % of base)

67 total files with Code Size differences (52 improved, 15 regressed), 1 unchanged.

Top method regressions (bytes):
          24 (1.00 % of base) : 30308.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
          12 (1.07 % of base) : 33026.dasm - System.Management.Automation.ReflectionParameterBinder+<>c__DisplayClass8_0:<GetSetter>b__0(System.Tuple`2[System.Type,System.String]):System.Action`2[System.Object,System.Object]:this (FullOpts)
           8 (0.85 % of base) : 2098.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) : 32172.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
           8 (1.22 % of base) : 32313.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
           8 (0.75 % of base) : 32312.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
           8 (0.18 % of base) : 29733.dasm - System.Management.Automation.Language.Compiler:.cctor() (FullOpts)
           8 (0.72 % of base) : 32187.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.44 % of base) : 2760.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
           4 (0.61 % of base) : 29407.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
           4 (2.04 % of base) : 25614.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
           4 (1.75 % of base) : 12233.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
           4 (0.25 % of base) : 32454.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
           4 (0.65 % of base) : 17134.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           4 (2.13 % of base) : 11375.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)

Top method improvements (bytes):
         -64 (-2.28 % of base) : 10487.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) : 20562.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) : 14135.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) : 24973.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) : 26761.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitLockStatement(Microsoft.CodeAnalysis.CSharp.BoundLockStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
         -48 (-1.05 % of base) : 19542.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:EarlyDecodeWellKnownAttribute(byref):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.CSharp.BoundAttribute]:this (FullOpts)
         -40 (-5.95 % of base) : 7536.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) : 9455.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) : 8082.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) : 23119.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) : 14144.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
         -36 (-1.49 % of base) : 22182.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitUsingStatement(Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax):this (FullOpts)
         -32 (-0.54 % of base) : 3152.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) : 10224.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) : 23839.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) : 27355.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) : 26809.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) : 30128.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 (-4.48 % of base) : 8170.dasm - FSharp.Compiler.CheckExpressions+GeneralizationHelpers+IsCondensationTypar@2210:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)
         -24 (-1.08 % of base) : 3353.dasm - FSharp.Compiler.ParseAndCheckInputs:ParseInput(Microsoft.FSharp.Core.FSharpFunc`2[Internal.Utilities.Text.Lexing.LexBuffer`1[ushort],FSharp.Compiler.Parser+token],FSharp.Compiler.Diagnostics.FSharpDiagnosticOptions,FSharp.Compiler.ErrorLogger+ErrorLogger,Internal.Utilities.Text.Lexing.LexBuffer`1[ushort],Microsoft.FSharp.Core.FSharpOption`1[System.String],System.String,System.Tuple`2[ubyte,ubyte]):FSharp.Compiler.Syntax.ParsedInput (FullOpts)

Top method regressions (percentages):
           4 (2.13 % of base) : 11375.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
           4 (2.04 % of base) : 25614.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
           4 (1.75 % of base) : 12233.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
           8 (1.22 % of base) : 32313.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
          12 (1.07 % of base) : 33026.dasm - System.Management.Automation.ReflectionParameterBinder+<>c__DisplayClass8_0:<GetSetter>b__0(System.Tuple`2[System.Type,System.String]):System.Action`2[System.Object,System.Object]:this (FullOpts)
          24 (1.00 % of base) : 30308.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
           8 (0.85 % of base) : 2098.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) : 32172.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
           8 (0.75 % of base) : 32312.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
           8 (0.72 % of base) : 32187.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) : 17134.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           4 (0.61 % of base) : 29407.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
           4 (0.44 % of base) : 2760.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
           4 (0.25 % of base) : 32454.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
           8 (0.18 % of base) : 29733.dasm - System.Management.Automation.Language.Compiler:.cctor() (FullOpts)

Top method improvements (percentages):
         -40 (-5.95 % of base) : 7536.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)
          -8 (-5.56 % of base) : 10255.dasm - FSharp.Compiler.TypedTreeBasics:isLessAccessible(FSharp.Compiler.TypedTree+Accessibility,FSharp.Compiler.TypedTree+Accessibility):ubyte (FullOpts)
          -8 (-5.41 % of base) : 8188.dasm - FSharp.Compiler.CheckExpressions+PlaceTyparsInDeclarationOrder@1625:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)
         -24 (-4.69 % of base) : 29060.dasm - System.Management.Automation.Security.SystemPolicy:GetWldpPolicy(System.String,System.Runtime.InteropServices.SafeHandle):int (FullOpts)
         -16 (-4.60 % of base) : 7671.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.48 % of base) : 8170.dasm - FSharp.Compiler.CheckExpressions+GeneralizationHelpers+IsCondensationTypar@2210:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)
          -8 (-4.35 % of base) : 32756.dasm - Microsoft.PowerShell.Commands.ImportModuleCommand:ImportModule_LocallyViaName_WithTelemetry(Microsoft.PowerShell.Commands.ModuleCmdletBase+ImportModuleOptions,System.String):System.Management.Automation.PSModuleInfo:this (FullOpts)
          -8 (-4.17 % of base) : 718.dasm - System.Text.UnicodeEncoding:.cctor() (FullOpts)
         -12 (-3.90 % of base) : 25068.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitQueryClause(Microsoft.CodeAnalysis.CSharp.BoundQueryClause):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
          -8 (-3.85 % of base) : 22405.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:HasInitializer(Microsoft.CodeAnalysis.CSharp.Symbol):ubyte (FullOpts)
          -8 (-3.77 % of base) : 8038.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) : 9361.dasm - FSharp.Compiler.ConstraintSolver+results@1879-1:Invoke(FSharp.Compiler.Infos+MethInfo):ubyte:this (FullOpts)
          -8 (-3.45 % of base) : 20233.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbolBase:GetAttributesBag():Microsoft.CodeAnalysis.CustomAttributesBag`1[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData]:this (FullOpts)
         -12 (-3.09 % of base) : 13777.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -8 (-3.03 % of base) : 8984.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)
          -8 (-2.99 % of base) : 9533.dasm - FSharp.Compiler.CheckDeclarations+TcOpenModuleOrNamespaceDecl@643:Invoke(System.Tuple`3[int,FSharp.Compiler.TypedTree+EntityRef,FSharp.Compiler.TypedTree+ModuleOrNamespaceType]):ubyte:this (FullOpts)
         -16 (-2.96 % of base) : 8120.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.86 % of base) : 9090.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)
          -8 (-2.78 % of base) : 7627.dasm - FSharp.Compiler.TypedTreeOps:TryFindFSharpInt32Attribute(FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.TcGlobals+BuiltinAttribInfo,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]):Microsoft.FSharp.Core.FSharpOption`1[int] (FullOpts)
          -8 (-2.78 % of base) : 19758.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbol:GetParameterListSyntax(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode):Microsoft.CodeAnalysis.CSharp.Syntax.BaseParameterListSyntax (FullOpts)


smoke_tests.nativeaot.windows.arm64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 3995200 (overridden on cmd)
Total bytes of diff: 3995200 (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), 6 unchanged.

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



windows x64

Diffs are based on 2,416,970 contexts (937,071 MinOpts, 1,479,899 FullOpts).

MISSED contexts: base: 0 (0.00%), diff: 6 (0.00%)

Overall (+43,548 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,800,450 +472
benchmarks.run_pgo.windows.x64.checked.mch 34,024,626 +8
benchmarks.run_tiered.windows.x64.checked.mch 12,549,220 +12
coreclr_tests.run.windows.x64.checked.mch 407,341,561 +6,134
libraries.pmi.windows.x64.checked.mch 61,945,756 +2,354
libraries_tests.run.windows.x64.Release.mch 281,668,253 +11,081
librariestestsnotieredcompilation.run.windows.x64.Release.mch 136,469,148 +23,058
realworld.run.windows.x64.checked.mch 14,196,497 +414
smoke_tests.nativeaot.windows.x64.checked.mch 5,148,895 +15

FullOpts (+43,548 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.windows.x64.checked.mch 8,800,090 +472
benchmarks.run_pgo.windows.x64.checked.mch 20,368,333 +8
benchmarks.run_tiered.windows.x64.checked.mch 3,319,446 +12
coreclr_tests.run.windows.x64.checked.mch 126,875,197 +6,134
libraries.pmi.windows.x64.checked.mch 61,832,262 +2,354
libraries_tests.run.windows.x64.Release.mch 106,974,869 +11,081
librariestestsnotieredcompilation.run.windows.x64.Release.mch 126,176,351 +23,058
realworld.run.windows.x64.checked.mch 13,810,329 +414
smoke_tests.nativeaot.windows.x64.checked.mch 5,147,948 +15

Example diffs

benchmarks.run.windows.x64.checked.mch

-9 (-20.45%) : 8773.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 (-2.11%) : 21198.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)

@@ -68,22 +68,22 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0108 {rbx r8 mov rdx, rbx ; gcrRegs -[rdx] ; byrRegs +[rdx]
- cmp dword ptr [rcx], ecx - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rcx] + mov rax, qword ptr [rax+0x58]
call [rax]<unknown method> ; gcrRegs -[rcx] ; byrRegs -[rdx] ; gcr arg pop 0 mov rax, rbx ; byrRegs +[rax]
- ;; size=74 bbWeight=1 PerfScore 24.25
+ ;; size=72 bbWeight=1 PerfScore 23.25
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 64 pop rbx ret ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 95, prolog size 12, PerfScore 28.75, instruction count 26, allocated bytes for code 95 (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 93, prolog size 12, PerfScore 27.75, instruction count 26, allocated bytes for code 93 (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:

-6 (-1.08%) : 3137.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo1[ubyte]:ConfigureIgnoreCondition(System.Nullable1[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[ubyte]>
+; V00 this [V00,T00] ( 14, 7 ) ref -> rbx this class-hnd single-def <System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]>
; V01 arg1 [V01,T05] ( 4, 3.50) struct ( 8) [rsp+0x48] 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 (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" @@ -92,13 +92,13 @@ G_M53492_IG05: ; bbWeight=0.50, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 ; gcrRegs -[rsi] mov rcx, rbx ; gcrRegs +[rcx]
- 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 -[rcx rdx rbx] ; gcr arg pop 0 jmp G_M53492_IG11
- ;; size=20 bbWeight=0.50 PerfScore 5.12
+ ;; size=18 bbWeight=0.50 PerfScore 4.62
G_M53492_IG06: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[rbx] mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field> @@ -135,13 +135,13 @@ G_M53492_IG07: ; bbWeight=0.50, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 ; gcrRegs -[rsi] mov rcx, rbx ; gcrRegs +[rcx]
- 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 -[rcx rdx rbx] ; gcr arg pop 0 jmp G_M53492_IG11
- ;; size=20 bbWeight=0.50 PerfScore 5.12
+ ;; size=18 bbWeight=0.50 PerfScore 4.62
G_M53492_IG08: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[rbx] mov rcx, rbx @@ -186,11 +186,12 @@ G_M53492_IG09: ; bbWeight=0.50, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 ; gcrRegs -[rdi] mov rcx, rbx ; gcrRegs +[rcx]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx] + mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method> ; gcrRegs -[rcx rdx] ; gcr arg pop 0
- ;; size=13 bbWeight=0.50 PerfScore 2.62
+ ;; size=13 bbWeight=0.50 PerfScore 3.62
G_M53492_IG10: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref mov byte ptr [rbx+0x97], 1 ;; size=7 bbWeight=0.50 PerfScore 0.50 @@ -238,13 +239,13 @@ G_M53492_IG13: ; bbWeight=0.50, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 ; gcrRegs -[rdi] mov rcx, rbx ; gcrRegs +[rcx]
- 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 -[rcx rdx] ; gcr arg pop 0 jmp SHORT G_M53492_IG10
- ;; size=17 bbWeight=0.50 PerfScore 5.12
+ ;; size=15 bbWeight=0.50 PerfScore 4.62
G_M53492_IG14: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref mov rcx, gword ptr [rbx+0x40] ; gcrRegs +[rcx] @@ -261,7 +262,7 @@ RWD00 dd G_M53492_IG04 - G_M53492_IG02 dd G_M53492_IG08 - G_M53492_IG02
-; Total bytes of code 554, prolog size 7, PerfScore 58.50, instruction count 121, allocated bytes for code 554 (MethodHash=44892f0b) for method System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
+; Total bytes of code 548, prolog size 7, PerfScore 58.00, instruction count 122, allocated bytes for code 548 (MethodHash=44892f0b) for method System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
; ============================================================ Unwind Info:

+13 (+1.86%) : 3637.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildFormatterToAssemblySystem.__Canon:System.Object (FullOpts)

@@ -258,7 +258,11 @@ G_M45124_IG11: ; bbWeight=0.50, gcrefRegs=90C0 {rsi rdi r12 r15}, byrefRe ; gcrRegs +[rcx] mov rdx, r12 ; gcrRegs +[rdx]
- 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 -[rcx rdx] ; gcr arg pop 0 @@ -275,7 +279,7 @@ G_M45124_IG11: ; bbWeight=0.50, gcrefRegs=90C0 {rsi rdi r12 r15}, byrefRe ; gcrRegs -[rcx rdx rsi rdi r12 r15] +[rax] ; gcr arg pop 0 jmp G_M45124_IG21
- ;; size=59 bbWeight=0.50 PerfScore 6.88
+ ;; size=72 bbWeight=0.50 PerfScore 8.00
G_M45124_IG12: ; bbWeight=0.50, gcrefRegs=90C0 {rsi rdi r12 r15}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[rax] +[rsi rdi r12 r15] mov rcx, r12 @@ -405,7 +409,7 @@ G_M45124_IG23: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { int3 ;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 699, prolog size 28, PerfScore 97.20, instruction count 187, allocated bytes for code 699 (MethodHash=1c5c4fbb) for method Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildFormatterToAssembly[System.__Canon](Utf8Json.Internal.Emit.DynamicAssembly,Utf8Json.IJsonFormatterResolver,System.Func`2[System.String,System.String],ubyte):System.Object (FullOpts)
+; Total bytes of code 712, prolog size 28, PerfScore 98.33, instruction count 189, allocated bytes for code 712 (MethodHash=1c5c4fbb) for method Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildFormatterToAssembly[System.__Canon](Utf8Json.Internal.Emit.DynamicAssembly,Utf8Json.IJsonFormatterResolver,System.Func`2[System.String,System.String],ubyte):System.Object (FullOpts)
; ============================================================ Unwind Info:

+10 (+2.11%) : 18046.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)

@@ -62,8 +62,10 @@ G_M5978_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, test rcx, rcx jne SHORT G_M5978_IG04 mov rcx, 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 -[rcx] +[rax] ; gcr arg pop 0 @@ -79,7 +81,7 @@ G_M5978_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcr arg pop 0 mov rcx, rax ; gcrRegs +[rcx]
- ;; size=70 bbWeight=1 PerfScore 17.75
+ ;; size=80 bbWeight=1 PerfScore 20.00
G_M5978_IG04: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[rax] test rcx, rcx @@ -304,7 +306,7 @@ G_M5978_IG24: ; bbWeight=0, funclet epilog, nogc, extend ret ;; size=9 bbWeight=0 PerfScore 0.00
-; Total bytes of code 475, prolog size 21, PerfScore 123.75, instruction count 133, allocated bytes for code 475 (MethodHash=93fee8a5) for method Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
+; Total bytes of code 485, prolog size 21, PerfScore 126.00, instruction count 135, allocated bytes for code 485 (MethodHash=93fee8a5) for method Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
; ============================================================ Unwind Info:

+30 (+9.97%) : 5075.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)

@@ -62,25 +62,33 @@ G_M61493_IG02: ; bbWeight=1, gcrefRegs=0006 {rcx rdx}, byrefRegs=0048 {rb ; gcr arg pop 0 mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- mov rbp, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rbp, qword ptr [rax+0x60]
call [rbp+0x18]<unknown method> ; gcrRegs -[rcx] ; gcr arg pop 0 mov r14d, eax test r14d, r14d je SHORT G_M61493_IG04
- ;; size=68 bbWeight=1 PerfScore 14.50
+ ;; size=78 bbWeight=1 PerfScore 16.75
G_M61493_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref ; gcrRegs -[rdi] mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx] +[rax] ; gcr arg pop 0 mov rdi, rax ; gcrRegs +[rdi]
- ;; size=23 bbWeight=0.50 PerfScore 2.75
+ ;; size=33 bbWeight=0.50 PerfScore 3.88
G_M61493_IG04: ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref, isz ; gcrRegs -[rax] mov rcx, rdi @@ -119,13 +127,17 @@ G_M61493_IG05: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rs ; gcrRegs -[rdi] mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx] +[rax] ; gcr arg pop 0 mov rdi, rax ; gcrRegs +[rdi]
- ;; size=23 bbWeight=0.50 PerfScore 2.75
+ ;; size=33 bbWeight=0.50 PerfScore 3.88
G_M61493_IG06: ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref ; gcrRegs -[rax] mov rcx, rdi @@ -174,7 +186,7 @@ G_M61493_IG07: ; bbWeight=1, epilog, nogc, extend ret ;; size=11 bbWeight=1 PerfScore 3.75
-; Total bytes of code 301, prolog size 22, PerfScore 62.25, instruction count 71, allocated bytes for code 301 (MethodHash=8df50fca) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
+; Total bytes of code 331, prolog size 22, PerfScore 66.75, instruction count 77, allocated bytes for code 331 (MethodHash=8df50fca) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
; ============================================================ Unwind Info:

benchmarks.run_pgo.windows.x64.checked.mch

-6 (-0.08%) : 94811.dasm - System.Net.Sockets.Tests.SocketSendReceivePerfTest+d__9:MoveNext():this (Tier1-OSR)

@@ -21,7 +21,7 @@ ;* V08 loc7 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Exception> ; V09 OutArgs [V09 ] ( 1, 1 ) struct (40) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V10 tmp1 [V10 ] ( 0, 0 ) int -> zero-ref "dup spill"
-; V11 tmp2 [V11,T30] ( 6, 4799.52) ref -> r15 class-hnd "impAppendStmt" <System.Net.Sockets.Socket>
+; V11 tmp2 [V11,T31] ( 6, 4799.52) ref -> r15 class-hnd "impAppendStmt" <System.Net.Sockets.Socket>
;* V12 tmp3 [V12 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Memory`1[ubyte]> ;* V13 tmp4 [V13 ] ( 0, 0 ) int -> zero-ref "dup spill" ;* V14 tmp5 [V14 ] ( 0, 0 ) int -> zero-ref "dup spill" @@ -39,7 +39,7 @@ ; V26 tmp17 [V26,T47] ( 7, 2799.72) ref -> r13 ; V27 tmp18 [V27,T12] ( 23,14098.59) ref -> r12 class-hnd "Inline stloc first use temp" <System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs> ;* V28 tmp19 [V28 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Memory`1[ubyte]>
-; V29 tmp20 [V29,T33] ( 11, 4599.54) ref -> r13 class-hnd exact "NewObj constructor temp" <System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs>
+; V29 tmp20 [V29,T34] ( 11, 4599.54) ref -> r13 class-hnd exact "NewObj constructor temp" <System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs>
;* V30 tmp21 [V30,T213] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V31 tmp22 [V31 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.CancellationTokenSource> ;* V32 tmp23 [V32 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken> @@ -93,7 +93,7 @@ ;* V80 tmp71 [V80 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Globalization.CultureInfo> ; V81 tmp72 [V81,T116] ( 3, 1199.88) ref -> r8 class-hnd exact "Inline stloc first use temp" <System.Globalization.NumberFormatInfo> ; V82 tmp73 [V82,T86] ( 2, 1599.84) ref -> rcx class-hnd "dup spill" <System.Globalization.CultureInfo>
-; V83 tmp74 [V83,T36] ( 11, 4399.56) ref -> rcx
+; V83 tmp74 [V83,T37] ( 11, 4399.56) ref -> rcx
; V84 tmp75 [V84,T87] ( 2, 1599.84) ref -> rcx class-hnd "dup spill" <System.Globalization.CultureInfo> ; V85 tmp76 [V85,T88] ( 2, 1599.84) ref -> rcx class-hnd "dup spill" <System.Globalization.CultureInfo> ; V86 tmp77 [V86,T51] ( 3, 2399.76) ref -> rdx class-hnd "Inline return value spill temp" <System.Globalization.CultureInfo> @@ -188,7 +188,7 @@ ;* V175 tmp166 [V175 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V176 tmp167 [V176 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ; V177 tmp168 [V177,T21] ( 6, 7999.20) long -> r14 "Inlining Arg"
-; V178 tmp169 [V178,T43] ( 3, 3399.66) long -> r15 "Inline stloc first use temp"
+; V178 tmp169 [V178,T44] ( 3, 3399.66) long -> r15 "Inline stloc first use temp"
; V179 tmp170 [V179,T16] ( 5,12898.71) long -> [rbp-0x78] "Inline stloc first use temp" ;* V180 tmp171 [V180 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V181 tmp172 [V181,T18] ( 3, 9599.04) long -> r8 "Inline stloc first use temp" @@ -200,9 +200,9 @@ ;* V187 tmp178 [V187 ] ( 0, 0 ) ref -> zero-ref ; V188 tmp179 [V188,T105] ( 4, 1299.87) ref -> rdi class-hnd "Inline return value spill temp" <System.Exception> ; V189 tmp180 [V189,T60] ( 7, 1999.80) ref -> rdi class-hnd exact "NewObj constructor temp" <System.Net.Sockets.SocketException>
-; V190 tmp181 [V190,T46] ( 9, 2999.70) ref -> rdi class-hnd "Inline stloc first use temp" <System.Exception>
+; V190 tmp181 [V190,T43] ( 10, 3399.66) ref -> rdi class-hnd "Inline stloc first use temp" <System.Exception>
; V191 tmp182 [V191,T106] ( 4, 1299.87) ref -> rsi
-; V192 tmp183 [V192,T31] ( 6, 4799.52) ref -> rsi class-hnd exact "NewObj constructor temp" <System.IO.IOException>
+; V192 tmp183 [V192,T32] ( 6, 4799.52) ref -> rsi class-hnd exact "NewObj constructor temp" <System.IO.IOException>
; V193 tmp184 [V193,T89] ( 2, 1599.84) ref -> rdx class-hnd exact "Inlining Arg" <System.String> ;* V194 tmp185 [V194 ] ( 0, 0 ) ref -> zero-ref ; V195 tmp186 [V195,T107] ( 4, 1299.87) ref -> rdx @@ -217,7 +217,7 @@ ;* V204 tmp195 [V204 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V205 tmp196 [V205 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <ushort[]> ; V206 tmp197 [V206,T62] ( 4, 1999.80) ref -> rax class-hnd exact "Inlining Arg" <System.String>
-; V207 tmp198 [V207,T35] ( 8, 4599.54) int -> r14 "Inlining Arg"
+; V207 tmp198 [V207,T36] ( 8, 4599.54) int -> r14 "Inlining Arg"
; V208 tmp199 [V208,T117] ( 3, 1199.88) ref -> r8 class-hnd "Inline stloc first use temp" <ushort[]> ; V209 tmp200 [V209,T76] ( 4, 1599.84) int -> r15 "Inline stloc first use temp" ; V210 tmp201 [V210,T48] ( 5, 2799.72) byref -> rdx "Inlining Arg" @@ -267,9 +267,9 @@ ;* V254 tmp245 [V254 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] "Inline return value spill temp" <System.Threading.Tasks.ValueTask`1[int]> ;* V255 tmp246 [V255 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.Threading.CancellationToken> ; V256 tmp247 [V256,T90] ( 2, 1599.84) ref -> r14 class-hnd "dup spill" <System.__Canon>
-; V257 tmp248 [V257,T45] ( 8, 3199.68) ref -> r14
+; V257 tmp248 [V257,T46] ( 8, 3199.68) ref -> r14
; V258 tmp249 [V258,T11] ( 25,14598.54) ref -> rsi class-hnd "Inline stloc first use temp" <System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs>
-; V259 tmp250 [V259,T34] ( 11, 4599.54) ref -> r14 class-hnd exact "NewObj constructor temp" <System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs>
+; V259 tmp250 [V259,T35] ( 11, 4599.54) ref -> r14 class-hnd exact "NewObj constructor temp" <System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs>
;* V260 tmp251 [V260,T216] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V261 tmp252 [V261 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.CancellationTokenSource> ;* V262 tmp253 [V262 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.Threading.CancellationToken> @@ -323,7 +323,7 @@ ;* V310 tmp301 [V310 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Globalization.CultureInfo> ; V311 tmp302 [V311,T122] ( 3, 1199.88) ref -> r8 class-hnd exact "Inline stloc first use temp" <System.Globalization.NumberFormatInfo> ; V312 tmp303 [V312,T91] ( 2, 1599.84) ref -> rcx class-hnd "dup spill" <System.Globalization.CultureInfo>
-; V313 tmp304 [V313,T37] ( 11, 4399.56) ref -> rcx
+; V313 tmp304 [V313,T38] ( 11, 4399.56) ref -> rcx
; V314 tmp305 [V314,T92] ( 2, 1599.84) ref -> rcx class-hnd "dup spill" <System.Globalization.CultureInfo> ; V315 tmp306 [V315,T93] ( 2, 1599.84) ref -> rcx class-hnd "dup spill" <System.Globalization.CultureInfo> ; V316 tmp307 [V316,T53] ( 3, 2399.76) ref -> rax class-hnd "Inline return value spill temp" <System.Globalization.CultureInfo> @@ -415,7 +415,7 @@ ;* V402 tmp393 [V402 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V403 tmp394 [V403 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ; V404 tmp395 [V404,T22] ( 6, 7999.20) long -> r13 "Inlining Arg"
-; V405 tmp396 [V405,T44] ( 3, 3399.66) long -> r12 "Inline stloc first use temp"
+; V405 tmp396 [V405,T45] ( 3, 3399.66) long -> r12 "Inline stloc first use temp"
; V406 tmp397 [V406,T17] ( 5,12898.71) long -> [rbp-0xC8] "Inline stloc first use temp" ;* V407 tmp398 [V407 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V408 tmp399 [V408,T19] ( 3, 9599.04) long -> r8 "Inline stloc first use temp" @@ -426,10 +426,10 @@ ; V413 tmp404 [V413,T15] ( 5,13398.66) ref -> r13 class-hnd exact "dup spill" <<unknown class>> ;* V414 tmp405 [V414 ] ( 0, 0 ) ref -> zero-ref ; V415 tmp406 [V415,T109] ( 4, 1299.87) ref -> rdi class-hnd "Inline return value spill temp" <System.Exception>
-; V416 tmp407 [V416,T38] ( 10, 4399.56) ref -> rdi class-hnd exact "NewObj constructor temp" <System.Net.Sockets.SocketException>
+; V416 tmp407 [V416,T29] ( 11, 5199.48) ref -> rdi class-hnd exact "NewObj constructor temp" <System.Net.Sockets.SocketException>
;* V417 tmp408 [V417 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Exception> ; V418 tmp409 [V418,T110] ( 4, 1299.87) ref -> r14
-; V419 tmp410 [V419,T32] ( 6, 4799.52) ref -> r14 class-hnd exact "NewObj constructor temp" <System.IO.IOException>
+; V419 tmp410 [V419,T33] ( 6, 4799.52) ref -> r14 class-hnd exact "NewObj constructor temp" <System.IO.IOException>
; V420 tmp411 [V420,T94] ( 2, 1599.84) ref -> rdx class-hnd exact "Inlining Arg" <System.String> ;* V421 tmp412 [V421 ] ( 0, 0 ) ref -> zero-ref ; V422 tmp413 [V422,T111] ( 4, 1299.87) ref -> rdx @@ -586,7 +586,7 @@ ; V573 tmp564 [V573,T204] ( 2, 399.96) ref -> rcx "arr expr" ; V574 tmp565 [V574,T81] ( 3, 1599.84) ref -> rax "argument with side effect" ; V575 tmp566 [V575 ] ( 8, 6399.36) struct (16) [rbp-0xE8] do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" <System.Memory`1[ubyte]>
-; V576 tmp567 [V576,T29] ( 12, 4799.52) ref -> rcx "Field obj"
+; V576 tmp567 [V576,T30] ( 12, 4799.52) ref -> rcx "Field obj"
; V577 tmp568 [V577,T03] ( 3,19198.08) long -> rdx "Zero offset field obj" ; V578 tmp569 [V578,T01] ( 3,19198.08) ref -> rcx "arr expr" ;* V579 tmp570 [V579 ] ( 0, 0 ) ref -> zero-ref "argument with side effect" @@ -2341,8 +2341,8 @@ G_M52225_IG124: ; bbWeight=99.99, gcrefRegs=5000 {r12 r14}, byrefRegs=000 mov rcx, r14 ; gcrRegs +[rcx] mov edx, 1
- cmp dword ptr [r14], r14d - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r14] + mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method> ; gcrRegs -[rcx] ; gcr arg pop 0 @@ -2351,7 +2351,7 @@ G_M52225_IG124: ; bbWeight=99.99, gcrefRegs=5000 {r12 r14}, byrefRegs=000 call <unknown method> ; gcrRegs -[rcx r14] ; gcr arg pop 0
- ;; size=29 bbWeight=99.99 PerfScore 974.90
+ ;; size=26 bbWeight=99.99 PerfScore 874.91
G_M52225_IG125: ; bbWeight=3199.68, gcrefRegs=1000 {r12}, byrefRegs=0008 {rbx}, byref, isz inc edi mov rcx, gword ptr [r12+0xA0] @@ -2599,7 +2599,8 @@ G_M52225_IG143: ; bbWeight=399.96, gcrefRegs=00C0 {rsi rdi}, byrefRegs=00 ; gcrRegs -[rax] mov rcx, rdi ; gcrRegs +[rcx]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rdi] + mov rax, qword ptr [rax+0x48]
call [rax+0x20]<unknown method> ; gcrRegs -[rcx] +[rax] ; gcr arg pop 0 @@ -2607,7 +2608,7 @@ G_M52225_IG143: ; bbWeight=399.96, gcrefRegs=00C0 {rsi rdi}, byrefRegs=00 ; gcrRegs +[r14] test byte ptr [(reloc)], 1 ; global ptr je G_M52225_IG78
- ;; size=29 bbWeight=399.96 PerfScore 3799.62
+ ;; size=29 bbWeight=399.96 PerfScore 4599.54
G_M52225_IG144: ; bbWeight=399.96, gcrefRegs=40C0 {rsi rdi r14}, byrefRegs=0008 {rbx}, byref, isz ; gcrRegs -[rax] cmp byte ptr [(reloc)], 0 ; data for <unknown class>:<unknown field> @@ -3124,8 +3125,8 @@ G_M52225_IG194: ; bbWeight=99.99, gcrefRegs=2040 {rsi r13}, byrefRegs=000 mov rcx, r13 ; gcrRegs +[rcx] mov edx, 1
- cmp dword ptr [r13], r13d - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r13] + mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method> ; gcrRegs -[rcx] ; gcr arg pop 0 @@ -3134,7 +3135,7 @@ G_M52225_IG194: ; bbWeight=99.99, gcrefRegs=2040 {rsi r13}, byrefRegs=000 call <unknown method> ; gcrRegs -[rcx r13] ; gcr arg pop 0
- ;; size=30 bbWeight=99.99 PerfScore 974.90
+ ;; size=27 bbWeight=99.99 PerfScore 874.91
G_M52225_IG195: ; bbWeight=3199.68, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz inc r15d mov rcx, gword ptr [rsi+0xA0] @@ -3232,7 +3233,8 @@ G_M52225_IG203: ; bbWeight=399.96, gcrefRegs=4080 {rdi r14}, byrefRegs=00 ; gcrRegs -[rax] mov rcx, rdi ; gcrRegs +[rcx]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rdi] + mov rax, qword ptr [rax+0x48]
call [rax+0x20]<unknown method> ; gcrRegs -[rcx] +[rax] ; gcr arg pop 0 @@ -3240,7 +3242,7 @@ G_M52225_IG203: ; bbWeight=399.96, gcrefRegs=4080 {rdi r14}, byrefRegs=00 ; gcrRegs +[r15] test byte ptr [(reloc)], 1 ; global ptr je G_M52225_IG62
- ;; size=29 bbWeight=399.96 PerfScore 3799.62
+ ;; size=29 bbWeight=399.96 PerfScore 4599.54
G_M52225_IG204: ; bbWeight=399.96, gcrefRegs=C080 {rdi r14 r15}, byrefRegs=0008 {rbx}, byref, isz ; gcrRegs -[rax] cmp byte ptr [(reloc)], 0 ; data for <unknown class>:<unknown field> @@ -3505,7 +3507,7 @@ G_M52225_IG228: ; bbWeight=0, funclet epilog, nogc, extend ret ;; size=17 bbWeight=0 PerfScore 0.00
-; Total bytes of code 7181, prolog size 136, PerfScore 904893.03, instruction count 1494, allocated bytes for code 7181 (MethodHash=c20d33fe) for method System.Net.Sockets.Tests.SocketSendReceivePerfTest+<SendAsyncThenReceiveAsync_Task>d__9:MoveNext():this (Tier1-OSR)
+; Total bytes of code 7175, prolog size 136, PerfScore 906292.89, instruction count 1496, allocated bytes for code 7175 (MethodHash=c20d33fe) for method System.Net.Sockets.Tests.SocketSendReceivePerfTest+<SendAsyncThenReceiveAsync_Task>d__9:MoveNext():this (Tier1-OSR)
; ============================================================ Unwind Info:

-2 (-0.02%) : 47117.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)

@@ -4098,12 +4098,12 @@ G_M21650_IG220: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, by ;; size=4 bbWeight=0.50 PerfScore 1.12 G_M21650_IG221: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref ; gcrRegs -[rax] +[rcx]
- 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] +[rax] ; gcr arg pop 0
- ;; size=12 bbWeight=0.50 PerfScore 4.00
+ ;; size=10 bbWeight=0.50 PerfScore 3.50
G_M21650_IG222: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx] @@ -4193,7 +4193,7 @@ G_M21650_IG232: ; bbWeight=0, gcrefRegs=40C8 {rbx rsi rdi r14}, byrefRegs jmp G_M21650_IG201 ;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 8546, prolog size 112, PerfScore 5246.13, instruction count 1892, allocated bytes for code 8546 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
+; Total bytes of code 8544, prolog size 112, PerfScore 5245.63, instruction count 1892, allocated bytes for code 8544 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
; ============================================================ Unwind Info:

+0 (0.00%) : 8833.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary2[System.String,System.Collections.Generic.List1[System.Reflection.RuntimePropertyInfo]],System.Span1[ubyte],ubyte,byref):this (Tier1)

@@ -22,7 +22,7 @@ ; V10 loc3 [V10,T65] ( 3, 3.50) int -> [rbp-0x98] spill-single-def ptr ; V11 loc4 [V11,T15] ( 9, 14.40) int -> [rbp-0x9C] ptr ; V12 loc5 [V12,T20] ( 9, 14.48) int -> [rbp-0xA0] ptr
-; V13 loc6 [V13,T06] ( 11, 22.97) ref -> [rbp-0x190] class-hnd exact spill-single-def ptr <System.Reflection.RuntimePropertyInfo>
+; V13 loc6 [V13,T06] ( 13, 24.93) ref -> [rbp-0x190] class-hnd exact spill-single-def ptr <System.Reflection.RuntimePropertyInfo>
; V14 loc7 [V14 ] ( 2, 3.70) 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> @@ -1075,13 +1075,14 @@ G_M9628_IG69: ; bbWeight=1.73, gcVars=00000000000000000000000000000040 {V mov rcx, r8 ; gcrRegs +[rcx] xor edx, edx
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r8] + mov rax, qword ptr [rax+0x60]
call [rax+0x08]<unknown method> ; gcrRegs -[rcx r8] +[rax] ; gcr arg pop 0 test rax, rax je G_M9628_IG75
- ;; size=24 bbWeight=1.73 PerfScore 11.70
+ ;; size=24 bbWeight=1.73 PerfScore 15.17
G_M9628_IG70: ; bbWeight=1.73, gcrefRegs=D001 {rax r12 r14 r15}, byrefRegs=20C0 {rsi rdi r13}, byref, isz test rax, rax je SHORT G_M9628_IG72 @@ -1135,12 +1136,13 @@ G_M9628_IG75: ; bbWeight=0.23, gcrefRegs=D000 {r12 r14 r15}, byrefRegs=20 mov rcx, gword ptr [rbp-0x190] ; gcrRegs +[rcx] xor edx, edx
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rcx] + mov rax, qword ptr [rax+0x60]
call [rax+0x18]<unknown method> ; gcrRegs -[rcx] +[rax] ; gcr arg pop 0 jmp G_M9628_IG70
- ;; size=24 bbWeight=0.23 PerfScore 1.92
+ ;; size=24 bbWeight=0.23 PerfScore 2.39
G_M9628_IG76: ; bbWeight=6.33, gcVars=00000000000000000000000000000060 {V13 V120}, gcrefRegs=D000 {r12 r14 r15}, byrefRegs=20C0 {rsi rdi r13}, gcvars, byref ; gcrRegs -[rax] ; GC ptr vars +{V05 V120} @@ -1710,7 +1712,7 @@ G_M9628_IG123: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 3946, prolog size 106, PerfScore 1069.26, instruction count 791, allocated bytes for code 3946 (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 3946, prolog size 106, PerfScore 1073.20, instruction count 793, allocated bytes for code 3946 (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:

+1 (+0.09%) : 64060.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,7 +16,7 @@ ; V04 arg4 [V04,T09] ( 9, 2 ) ref -> r15 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag> ;* V05 arg5 [V05 ] ( 0, 0 ) struct ( 8) zero-ref single-def <System.Threading.CancellationToken> ; V06 loc0 [V06,T02] ( 4, 4 ) ref -> r13 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.CSharpCompilation+EntryPoint>
-; V07 loc1 [V07,T08] ( 11, 2.00) ref -> r13 class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol>
+; V07 loc1 [V07,T08] ( 12, 2.00) ref -> r13 class-hnd <Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol>
; V08 loc2 [V08,T16] ( 12, 0 ) ref -> r12 class-hnd <<unknown class>> ; V09 loc3 [V09,T20] ( 3, 0 ) ref -> [rbp-0x60] class-hnd spill-single-def <Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol> ; V10 loc4 [V10,T21] ( 3, 0 ) ref -> rdi class-hnd exact single-def <<unknown class>> @@ -227,7 +227,8 @@ G_M6651_IG08: ; bbWeight=0, gcrefRegs=A048 {rbx rsi r13 r15}, byrefRegs=0 je SHORT G_M6651_IG09 mov rcx, r13 ; gcrRegs +[rcx]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r13] + mov rax, qword ptr [rax+0x58]
call [rax+0x10]<unknown method> ; gcrRegs -[rcx] +[rax] mov rdx, rax @@ -238,7 +239,7 @@ G_M6651_IG08: ; bbWeight=0, gcrefRegs=A048 {rbx rsi r13 r15}, byrefRegs=0 ; gcrRegs +[r8] call [Microsoft.CodeAnalysis.Emit.PEModuleBuilder`9[System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon]:AddSynthesizedDefinition(System.__Canon,Microsoft.Cci.IMethodDefinition):this] ; gcrRegs -[rax rcx rdx r8]
- ;; size=86 bbWeight=0 PerfScore 0.00
+ ;; size=87 bbWeight=0 PerfScore 0.00
G_M6651_IG09: ; bbWeight=0, gcrefRegs=B048 {rbx rsi r12 r13 r15}, byrefRegs=0000 {}, byref, isz test r12, r12 je SHORT G_M6651_IG10 @@ -551,7 +552,7 @@ G_M6651_IG25: ; bbWeight=0, gcrefRegs=B048 {rbx rsi r12 r13 r15}, byrefRe jmp G_M6651_IG04 ;; size=16 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1150, prolog size 42, PerfScore 59.08, instruction count 283, allocated bytes for code 1150 (MethodHash=6f44e604) for method 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)
+; Total bytes of code 1151, prolog size 42, PerfScore 59.08, instruction count 284, allocated bytes for code 1151 (MethodHash=6f44e604) for method 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)
; ============================================================ Unwind Info:

+1 (+0.27%) : 91116.dasm - System.Net.Sockets.Socket:DisposeCachedTaskSocketAsyncEventArgs():this (Tier1)

@@ -24,7 +24,7 @@ ; V12 tmp11 [V12,T08] ( 5, 2.49) int -> [rsp+0x24] spill-single-def "Inline stloc first use temp" ; V13 tmp12 [V13,T11] ( 3, 1.49) int -> rdx "Inline stloc first use temp" ; V14 tmp13 [V14,T12] ( 6, 0 ) int -> rdi "Inline stloc first use temp"
-; V15 tmp14 [V15,T13] ( 4, 0 ) ref -> rbp class-hnd exact "dup spill" <<unknown class>>
+; V15 tmp14 [V15,T13] ( 5, 0 ) ref -> rbp class-hnd exact "dup spill" <<unknown class>>
;* V16 tmp15 [V16 ] ( 0, 0 ) ref -> zero-ref ; V17 tmp16 [V17,T14] ( 3, 0 ) ref -> rcx "arr expr" ; V18 cse0 [V18,T09] ( 3, 1.49) ref -> rdi "CSE - moderate" @@ -216,7 +216,8 @@ G_M960_IG16: ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, b je SHORT G_M960_IG17 mov rcx, rbp mov edx, 1
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbp] + mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method> ; gcrRegs -[rcx] ; gcr arg pop 0 @@ -225,7 +226,7 @@ G_M960_IG16: ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, b call [System.GC:SuppressFinalize(System.Object)] ; gcrRegs -[rcx rbp] ; gcr arg pop 0
- ;; size=51 bbWeight=0 PerfScore 0.00
+ ;; size=52 bbWeight=0 PerfScore 0.00
G_M960_IG17: ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref inc edi ;; size=2 bbWeight=0 PerfScore 0.00 @@ -240,7 +241,7 @@ G_M960_IG18: ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, b jmp G_M960_IG08 ;; size=26 bbWeight=0 PerfScore 0.00
-; Total bytes of code 375, prolog size 11, PerfScore 135.86, instruction count 113, allocated bytes for code 375 (MethodHash=b933fc3f) for method System.Net.Sockets.Socket:DisposeCachedTaskSocketAsyncEventArgs():this (Tier1)
+; Total bytes of code 376, prolog size 11, PerfScore 135.86, instruction count 114, allocated bytes for code 376 (MethodHash=b933fc3f) for method System.Net.Sockets.Socket:DisposeCachedTaskSocketAsyncEventArgs():this (Tier1)
; ============================================================ Unwind Info:

+13 (+1.01%) : 75956.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)

@@ -169,7 +169,11 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byr ; gcrRegs -[rax] mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx] +[rax] ; gcr arg pop 0 @@ -189,7 +193,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byr ; 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=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz mov rcx, rsi ; gcrRegs +[rcx] @@ -765,7 +769,7 @@ G_M22068_IG46: ; bbWeight=0, gcVars=0000000000000001 {V93}, gcrefRegs=000 int3 ;; size=42 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1287, prolog size 51, PerfScore 733.09, instruction count 339, allocated bytes for code 1287 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
+; Total bytes of code 1300, prolog size 51, PerfScore 735.34, instruction count 341, allocated bytes for code 1300 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
; ============================================================ Unwind Info:

benchmarks.run_tiered.windows.x64.checked.mch

-2 (-0.02%) : 30709.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)

@@ -4106,12 +4106,12 @@ G_M21650_IG220: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, by ;; size=4 bbWeight=0.50 PerfScore 1.12 G_M21650_IG221: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref ; gcrRegs -[rax] +[rcx]
- 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] +[rax] ; gcr arg pop 0
- ;; size=12 bbWeight=0.50 PerfScore 4.00
+ ;; size=10 bbWeight=0.50 PerfScore 3.50
G_M21650_IG222: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx] @@ -4180,7 +4180,7 @@ G_M21650_IG230: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 8524, prolog size 112, PerfScore 5257.13, instruction count 1890, allocated bytes for code 8524 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
+; Total bytes of code 8522, prolog size 112, PerfScore 5256.63, instruction count 1890, allocated bytes for code 8522 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
; ============================================================ Unwind Info:

+0 (0.00%) : 2745.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary2[System.String,System.Collections.Generic.List1[System.Reflection.RuntimePropertyInfo]],System.Span1[ubyte],ubyte,byref):this (Tier1)

@@ -21,7 +21,7 @@ ; V10 loc3 [V10,T61] ( 3, 3 ) int -> [rbp-0x98] spill-single-def ptr ; V11 loc4 [V11,T14] ( 9, 24.50) int -> [rbp-0x9C] ptr ; V12 loc5 [V12,T13] ( 5, 28 ) int -> [rbp-0xA0] spill-single-def ptr
-; V13 loc6 [V13,T10] ( 9, 46 ) ref -> [rbp-0xF0] class-hnd exact spill-single-def ptr <System.Reflection.RuntimePropertyInfo>
+; V13 loc6 [V13,T08] ( 10, 48 ) ref -> [rbp-0xF0] class-hnd exact spill-single-def ptr <System.Reflection.RuntimePropertyInfo>
; V14 loc7 [V14 ] ( 2, 4 ) 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> @@ -35,7 +35,7 @@ ; V24 tmp0 [V24,T68] ( 1, 1 ) int -> [rbp-0xB4] do-not-enreg[V] "GSCookie dummy" ; V25 OutArgs [V25 ] ( 1, 1 ) struct (40) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V26 tmp2 [V26,T63] ( 2, 1 ) int -> rcx
-; V27 tmp3 [V27,T08] ( 3, 48 ) ref -> rax class-hnd exact "dup spill" <int[]>
+; V27 tmp3 [V27,T09] ( 3, 48 ) ref -> rax class-hnd exact "dup spill" <int[]>
; V28 tmp4 [V28,T18] ( 3, 12 ) ref -> [rbp-0x108] class-hnd exact spill-single-def ptr "NewObj constructor temp" <System.Reflection.RuntimePropertyInfo> ; V29 tmp5 [V29,T35] ( 2, 8 ) ref -> rax class-hnd "dup spill" <System.Reflection.MethodInfo> ; V30 tmp6 [V30,T17] ( 8, 14 ) ref -> [rbp-0x110] ptr @@ -114,7 +114,7 @@ ; V103 tmp79 [V103,T58] ( 3, 3.50) int -> r13 "V04.[008..012)" ; V104 tmp80 [V104,T36] ( 2, 8 ) long -> r8 "Cast away GC" ; V105 tmp81 [V105,T22] ( 3, 12 ) ref -> rcx "arr expr"
-; V106 tmp82 [V106,T09] ( 3, 48 ) ref -> rcx "arr expr"
+; V106 tmp82 [V106,T10] ( 3, 48 ) ref -> rcx "arr expr"
; V107 tmp83 [V107,T01] ( 3, 96 ) ref -> rdx "arr expr" ; V108 tmp84 [V108,T05] ( 2, 64 ) ref -> rdx "argument with side effect" ; V109 GsCookie [V109 ] ( 1, 1 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed "GSSecurityCookie" @@ -568,7 +568,8 @@ G_M9628_IG40: ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byre mov rcx, rax ; gcrRegs +[rcx] xor edx, edx
- mov r8, qword ptr [(reloc)]
+ mov r8, qword ptr [rax] + mov r8, qword ptr [r8+0x60]
mov qword ptr [rbp-0xE8], r8 ; GC ptr vars -{V28} call [r8+0x08]<unknown method> @@ -583,7 +584,7 @@ G_M9628_IG40: ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byre call [r8+0x18]<unknown method> ; gcrRegs -[rcx] ; gcr arg pop 0
- ;; size=163 bbWeight=2 PerfScore 72.00
+ ;; size=163 bbWeight=2 PerfScore 76.00
G_M9628_IG41: ; bbWeight=2, gcrefRegs=00C1 {rax rsi rdi}, byrefRegs=0000 {}, byref, isz test rax, rax je G_M9628_IG43 @@ -675,19 +676,19 @@ G_M9628_IG45: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, ; gcrRegs +[r14] jmp G_M9628_IG62 ;; size=12 bbWeight=1 PerfScore 3.00
-G_M9628_IG46: ; bbWeight=1, gcVars=00000000000000000006002002000480 {V13 V102 V110 V112 V113 V115}, gcrefRegs=00C1 {rax rsi rdi}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG46: ; bbWeight=1, gcVars=00000000000000000006002002000180 {V13 V102 V110 V112 V113 V115}, gcrefRegs=00C1 {rax rsi rdi}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[r14] +[rax]
- ; GC ptr vars +{V10 V13}
+ ; GC ptr vars +{V13}
mov r10, bword ptr [rbp-0x148] ; byrRegs +[r10] mov r14, gword ptr [rbp-0x140] ; gcrRegs +[r14] jmp G_M9628_IG61 ;; size=19 bbWeight=1 PerfScore 4.00
-G_M9628_IG47: ; bbWeight=2, gcVars=00000000000000000006006002000480 {V13 V19 V102 V110 V112 V113 V115}, gcrefRegs=40C0 {rsi rdi r14}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG47: ; bbWeight=2, gcVars=00000000000000000006006002000180 {V13 V19 V102 V110 V112 V113 V115}, gcrefRegs=40C0 {rsi rdi r14}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax] ; byrRegs -[r10]
- ; GC ptr vars -{V10} +{V19 V38}
+ ; GC ptr vars +{V19 V38}
mov rcx, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo] call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] @@ -735,7 +736,7 @@ G_M9628_IG47: ; bbWeight=2, gcVars=00000000000000000006006002000480 {V13 mov rax, gword ptr [rbp-0x100] ; gcrRegs +[rax] ;; size=134 bbWeight=2 PerfScore 38.00
-G_M9628_IG48: ; bbWeight=2, gcVars=00000000000000000006002002000480 {V13 V102 V110 V112 V113 V115}, gcrefRegs=40C1 {rax rsi rdi r14}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M9628_IG48: ; bbWeight=2, gcVars=00000000000000000006002002000180 {V13 V102 V110 V112 V113 V115}, gcrefRegs=40C1 {rax rsi rdi r14}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V20} xor r8d, r8d cmp dword ptr [rax+0x10], 0 @@ -767,7 +768,7 @@ G_M9628_IG49: ; bbWeight=16, gcrefRegs=40C1 {rax rsi rdi r14}, byrefRegs= cmp r8d, dword ptr [rax+0x10] jl SHORT G_M9628_IG49 ;; size=90 bbWeight=16 PerfScore 412.00
-G_M9628_IG50: ; bbWeight=2, gcVars=00000000000000000006002002000480 {V13 V102 V110 V112 V113 V115}, gcrefRegs=40C1 {rax rsi rdi r14}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M9628_IG50: ; bbWeight=2, gcVars=00000000000000000006002002000180 {V13 V102 V110 V112 V113 V115}, gcrefRegs=40C1 {rax rsi rdi r14}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V20} inc dword ptr [rax+0x14] mov rcx, gword ptr [rax+0x08] @@ -789,14 +790,14 @@ G_M9628_IG50: ; bbWeight=2, gcVars=00000000000000000006002002000480 {V13 ; byrRegs +[r10] jmp G_M9628_IG61 ;; size=52 bbWeight=2 PerfScore 37.00
-G_M9628_IG51: ; bbWeight=1, gcVars=00000000000000000006002002000488 {V13 V20 V102 V110 V112 V113 V115}, gcrefRegs=40C0 {rsi rdi r14}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG51: ; bbWeight=1, gcVars=00000000000000000006002002000188 {V13 V20 V102 V110 V112 V113 V115}, gcrefRegs=40C0 {rsi rdi r14}, byrefRegs=0000 {}, gcvars, byref
; byrRegs -[r10] ; GC ptr vars +{V03 V20} mov rax, gword ptr [rbp-0x100] ; gcrRegs +[rax] jmp G_M9628_IG48 ;; size=12 bbWeight=1 PerfScore 3.00
-G_M9628_IG52: ; bbWeight=2, gcVars=00000000000000000006002002000480 {V13 V102 V110 V112 V113 V115}, gcrefRegs=40C1 {rax rsi rdi r14}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG52: ; bbWeight=2, gcVars=00000000000000000006002002000180 {V13 V102 V110 V112 V113 V115}, gcrefRegs=40C1 {rax rsi rdi r14}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V03 V20} mov rcx, rax ; gcrRegs +[rcx] @@ -924,10 +925,10 @@ G_M9628_IG65: ; bbWeight=1, epilog, nogc, extend pop rbp ret ;; size=20 bbWeight=1 PerfScore 5.25
-G_M9628_IG66: ; bbWeight=8, gcVars=00000000000000000006002002000480 {V13 V102 V110 V112 V113 V115}, gcrefRegs=40C0 {rsi rdi r14}, byrefRegs=0400 {r10}, gcvars, byref
+G_M9628_IG66: ; bbWeight=8, gcVars=00000000000000000006002002000180 {V13 V102 V110 V112 V113 V115}, gcrefRegs=40C0 {rsi rdi r14}, byrefRegs=0400 {r10}, gcvars, byref
; gcrRegs +[rsi rdi r14] ; byrRegs +[r10]
- ; GC ptr vars +{V07 V10 V13 V37 V102 V110 V112 V113 V115}
+ ; GC ptr vars +{V07 V13 V37 V102 V110 V112 V113 V115}
mov r8, r10 ; byrRegs +[r8] jmp G_M9628_IG54 @@ -935,7 +936,7 @@ G_M9628_IG66: ; bbWeight=8, gcVars=00000000000000000006002002000480 {V13 G_M9628_IG67: ; bbWeight=0, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref ; gcrRegs -[rsi rdi r14] ; byrRegs -[r8 r10]
- ; GC ptr vars -{V07 V10 V13 V37 V102 V110 V112 V113 V115}
+ ; GC ptr vars -{V07 V13 V37 V102 V110 V112 V113 V115}
call CORINFO_HELP_RNGCHKFAIL ; gcr arg pop 0 ;; size=5 bbWeight=0 PerfScore 0.00 @@ -958,7 +959,7 @@ G_M9628_IG69: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2053, prolog size 86, PerfScore 1700.33, instruction count 442, allocated bytes for code 2053 (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 2053, prolog size 86, PerfScore 1704.33, instruction count 443, allocated bytes for code 2053 (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:

+0 (0.00%) : 52425.dasm - System.Net.Sockets.SocketAsyncEventArgs:FinishOperationSendPackets():this (Tier1)

@@ -11,7 +11,7 @@ ; V00 this [V00,T03] ( 6, 11.50) ref -> rbx this class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs> ; V01 loc0 [V01,T02] ( 6, 20.50) int -> rsi ; V02 OutArgs [V02 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T00] ( 4, 24 ) ref -> rdi class-hnd exact "dup spill" <<unknown class>>
+; V03 tmp1 [V03,T00] ( 5, 28 ) ref -> rdi class-hnd exact "dup spill" <<unknown class>>
;* V04 tmp2 [V04 ] ( 0, 0 ) ref -> zero-ref ; V05 tmp3 [V05,T01] ( 3, 24 ) ref -> rcx "arr expr" ; V06 cse0 [V06,T04] ( 3, 2.50) ref -> rcx "CSE - aggressive" @@ -54,7 +54,8 @@ G_M41654_IG05: ; bbWeight=2, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, mov rcx, rdi ; gcrRegs +[rcx] mov edx, 1
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rdi] + mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method> ; gcrRegs -[rcx] ; gcr arg pop 0 @@ -63,7 +64,7 @@ G_M41654_IG05: ; bbWeight=2, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, call <unknown method> ; gcrRegs -[rcx rdi] ; gcr arg pop 0
- ;; size=26 bbWeight=2 PerfScore 13.50
+ ;; size=26 bbWeight=2 PerfScore 17.50
G_M41654_IG06: ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz inc esi mov rax, gword ptr [rbx+0xA0] @@ -91,7 +92,7 @@ G_M41654_IG09: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { int3 ;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 117, prolog size 10, PerfScore 88.75, instruction count 37, allocated bytes for code 117 (MethodHash=90505d49) for method System.Net.Sockets.SocketAsyncEventArgs:FinishOperationSendPackets():this (Tier1)
+; Total bytes of code 117, prolog size 10, PerfScore 92.75, instruction count 38, allocated bytes for code 117 (MethodHash=90505d49) for method System.Net.Sockets.SocketAsyncEventArgs:FinishOperationSendPackets():this (Tier1)
; ============================================================ Unwind Info:

+0 (0.00%) : 10804.dasm - System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)

@@ -9,13 +9,13 @@ ; Final local variable assignments ; ; V00 this [V00,T00] ( 7, 5 ) ref -> rbx this class-hnd single-def <System.Threading.ManualResetEventSlim>
-; V01 arg1 [V01,T01] ( 3, 2.50) ubyte -> rdx single-def
+; V01 arg1 [V01,T02] ( 3, 2.50) ubyte -> rdx single-def
; V02 loc0 [V02,T03] ( 7, 3.50) ref -> rsi class-hnd exact single-def <<unknown class>> ; V03 loc1 [V03,T07] ( 2, 0 ) ref -> [rbp-0x28] class-hnd exact EH-live single-def <<unknown class>> ; V04 loc2 [V04 ] ( 6, 2.50) ubyte -> [rbp-0x20] do-not-enreg[X] addr-exposed ld-addr-op ; V05 OutArgs [V05 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V06 tmp1 [V06,T04] ( 2, 2 ) ubyte -> rcx "Inlining Arg"
-; V07 tmp2 [V07,T02] ( 4, 4 ) ref -> rdi class-hnd exact single-def "dup spill" <<unknown class>>
+; V07 tmp2 [V07,T01] ( 5, 5 ) ref -> rdi class-hnd exact single-def "dup spill" <<unknown class>>
;* V08 tmp3 [V08 ] ( 0, 0 ) ref -> zero-ref single-def ; V09 PSPSym [V09,T06] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[V] "PSPSym" ; V10 cse0 [V10,T05] ( 3, 1.50) ref -> rdx "CSE - moderate" @@ -97,7 +97,8 @@ G_M198_IG08: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {} mov rcx, rdi ; gcrRegs +[rcx] mov edx, 1
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rdi] + mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method> ; gcrRegs -[rcx] ; gcr arg pop 0 @@ -106,7 +107,7 @@ G_M198_IG08: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {} call [System.GC:SuppressFinalize(System.Object)] ; gcrRegs -[rcx rdi] ; gcr arg pop 0
- ;; size=36 bbWeight=0.50 PerfScore 6.00
+ ;; size=36 bbWeight=0.50 PerfScore 7.00
G_M198_IG09: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref mov rcx, rsi ; gcrRegs +[rcx] @@ -162,7 +163,7 @@ G_M198_IG14: ; bbWeight=0, funclet epilog, nogc, extend ret ;; size=9 bbWeight=0 PerfScore 0.00
-; Total bytes of code 238, prolog size 20, PerfScore 33.75, instruction count 75, allocated bytes for code 238 (MethodHash=9e9dff39) for method System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)
+; Total bytes of code 238, prolog size 20, PerfScore 34.75, instruction count 76, allocated bytes for code 238 (MethodHash=9e9dff39) for method System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)
; ============================================================ Unwind Info:

+1 (+0.11%) : 42290.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 -> rsi class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax> ; V02 loc0 [V02 ] ( 7, 26 ) struct (32) [rsp+0x60] 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) [rsp+0x48] 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 -> rsi class-hnd exact <Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax>
+; V04 loc2 [V04,T01] ( 10, 20 ) ref -> rsi class-hnd exact <Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax>
; V05 OutArgs [V05 ] ( 1, 1 ) struct (32) [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 -> rdi single-def "Inlining Arg" @@ -36,28 +36,28 @@ ;* V25 tmp20 [V25 ] ( 0, 0 ) ref -> zero-ref ; V26 tmp21 [V26,T30] ( 3, 6 ) ref -> rdx ;* 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 -> rdi "Inlining Arg"
+; V28 tmp23 [V28,T02] ( 5, 20 ) byref -> rdi "Inlining Arg"
; V29 tmp24 [V29,T13] ( 4, 8 ) ref -> rbp class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax> ; V30 tmp25 [V30,T14] ( 4, 8 ) ref -> r14 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 -> rdx 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 -> rdi "Inlining Arg" -; V36 tmp31 [V36,T06] ( 8, 16 ) ref -> rbp class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
+; V35 tmp30 [V35,T03] ( 5, 20 ) byref -> rdi "Inlining Arg" +; V36 tmp31 [V36,T06] ( 9, 18 ) ref -> rbp class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
; V37 tmp32 [V37,T15] ( 4, 8 ) ref -> r14 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 -> rdx 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 -> rsi "Inlining Arg"
+; V42 tmp37 [V42,T04] ( 5, 20 ) byref -> rsi "Inlining Arg"
; V43 tmp38 [V43,T16] ( 4, 8 ) ref -> rdi class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax> ; V44 tmp39 [V44,T17] ( 4, 8 ) ref -> r14 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 -> rdx 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 -> rcx "Inline stloc first use temp"
+; V49 tmp44 [V49,T05] ( 3, 20 ) int -> rcx "Inline stloc first use temp"
;* V50 tmp45 [V50 ] ( 0, 0 ) int -> zero-ref "V20.[000..004)" ; V51 tmp46 [V51,T40] ( 3, 3 ) ref -> rcx single-def "argument with side effect" ; V52 tmp47 [V52,T48] ( 2, 2 ) int -> r8 "argument with side effect" @@ -457,8 +457,9 @@ G_M45453_IG22: ; bbWeight=2, gcrefRegs=0028 {rbx rbp}, byrefRegs=0000 {}, mov rcx, rbp ; gcrRegs +[rcx] mov edx, 1
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbp]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x50]
call [rax]Microsoft.CodeAnalysis.SyntaxNode:GetChildPosition(int):int:this ; gcrRegs -[rcx rdi] ; gcr arg pop 0 @@ -492,7 +493,7 @@ G_M45453_IG22: ; bbWeight=2, gcrefRegs=0028 {rbx rbp}, byrefRegs=0000 {}, ; gcr arg pop 0 mov rdi, gword ptr [rsi] ; gcrRegs +[rdi]
- ;; size=115 bbWeight=2 PerfScore 68.50
+ ;; size=116 bbWeight=2 PerfScore 72.50
G_M45453_IG23: ; bbWeight=2, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref ; gcrRegs -[rax] ; byrRegs -[rsi] @@ -503,12 +504,13 @@ G_M45453_IG24: ; bbWeight=2, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, ; gcrRegs -[rdi] mov rcx, rbx ; gcrRegs +[rcx]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx] + mov rax, qword ptr [rax+0x48]
call [rax+0x20]<unknown method> ; gcrRegs -[rcx rdx] ; gcr arg pop 0 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 ecx, dword ptr [rsp+0x60] inc ecx @@ -570,7 +572,7 @@ G_M45453_IG32: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 937, prolog size 42, PerfScore 411.96, instruction count 253, allocated bytes for code 937 (MethodHash=66e04e72) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
+; Total bytes of code 938, prolog size 42, PerfScore 419.96, instruction count 255, allocated bytes for code 938 (MethodHash=66e04e72) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
; ============================================================ Unwind Info:

+13 (+1.01%) : 45522.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)

@@ -169,7 +169,11 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byr ; gcrRegs -[rax] mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx] +[rax] ; gcr arg pop 0 @@ -189,7 +193,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byr ; 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=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz mov rcx, rsi ; gcrRegs +[rcx] @@ -761,7 +765,7 @@ G_M22068_IG44: ; bbWeight=0, gcVars=0000000000000001 {V93}, gcrefRegs=000 int3 ;; size=42 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1287, prolog size 51, PerfScore 742.46, instruction count 339, allocated bytes for code 1287 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
+; Total bytes of code 1300, prolog size 51, PerfScore 744.71, instruction count 341, allocated bytes for code 1300 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
; ============================================================ Unwind Info:

coreclr_tests.run.windows.x64.checked.mch

-27 (-22.69%) : 529665.dasm - bug1:TestEntryPoint() (FullOpts)

@@ -9,7 +9,7 @@ ; ; V00 OutArgs [V00 ] ( 1, 1 ) struct (32) [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 = 40 @@ -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, 40 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 119, prolog size 4, PerfScore 14.00, instruction count 20, allocated bytes for code 119 (MethodHash=c14fec71) for method bug1:TestEntryPoint() (FullOpts)
+; Total bytes of code 92, prolog size 4, PerfScore 13.25, instruction count 17, allocated bytes for code 92 (MethodHash=c14fec71) for method bug1:TestEntryPoint() (FullOpts)
; ============================================================ Unwind Info:

-9 (-20.45%) : 489700.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.07%) : 476889.dasm - StaticValueField:TestEntryPoint():int (FullOpts)

@@ -9,7 +9,7 @@ ; ; V00 OutArgs [V00 ] ( 1, 1 ) struct (32) [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 = 40 @@ -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 add rsp, 40 ret @@ -55,7 +53,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 112, prolog size 4, PerfScore 17.25, instruction count 23, allocated bytes for code 112 (MethodHash=a53a6708) for method StaticValueField:TestEntryPoint():int (FullOpts)
+; Total bytes of code 94, prolog size 4, PerfScore 17.00, instruction count 21, allocated bytes for code 94 (MethodHash=a53a6708) for method StaticValueField:TestEntryPoint():int (FullOpts)
; ============================================================ Unwind Info:

+10 (+13.89%) : 477488.dasm - Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)

@@ -35,7 +35,11 @@ G_M39253_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr xor ebx, ebx mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx] +[rax] ; gcr arg pop 0 @@ -51,7 +55,7 @@ G_M39253_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr call [<unknown method>] ; gcrRegs -[rax rcx] ; gcr arg pop 0
- ;; 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=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 72, prolog size 5, PerfScore 10.88, instruction count 18, allocated bytes for code 72 (MethodHash=124366aa) for method Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
+; Total bytes of code 82, prolog size 5, PerfScore 12.00, instruction count 20, allocated bytes for code 82 (MethodHash=124366aa) for method Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
; ============================================================ Unwind Info:

+10 (+14.08%) : 525532.dasm - Runtime_95347:Test():int (FullOpts)

@@ -24,13 +24,17 @@ G_M13057_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 { G_M13057_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx] +[rax] ; gcr arg pop 0 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=5 bbWeight=0.50 PerfScore 0.62
-; Total bytes of code 71, prolog size 4, PerfScore 9.78, instruction count 17, allocated bytes for code 71 (MethodHash=260fccfe) for method Runtime_95347:Test():int (FullOpts)
+; Total bytes of code 81, prolog size 4, PerfScore 12.03, instruction count 19, allocated bytes for code 81 (MethodHash=260fccfe) for method Runtime_95347:Test():int (FullOpts)
; ============================================================ Unwind Info:

+10 (+21.74%) : 580715.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)

@@ -21,7 +21,11 @@ G_M26176_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx] +[rax] ; gcr arg pop 0 @@ -32,14 +36,14 @@ G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcr arg pop 0 mov rcx, rax ; gcrRegs +[rcx]
- ;; size=32 bbWeight=1 PerfScore 8.75
+ ;; size=42 bbWeight=1 PerfScore 11.00
G_M26176_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 40 tail.jmp [System.IO.Path:GetFullPath(System.String):System.String] ; gcr arg pop 0 ;; size=10 bbWeight=1 PerfScore 2.25
-; Total bytes of code 46, prolog size 4, PerfScore 11.25, instruction count 9, allocated bytes for code 46 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
+; Total bytes of code 56, prolog size 4, PerfScore 13.50, instruction count 11, allocated bytes for code 56 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
; ============================================================ Unwind Info:

libraries.pmi.windows.x64.checked.mch

-2 (-2.94%) : 201157.dasm - System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)

@@ -49,8 +49,8 @@ G_M37260_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000 mov rcx, rdx ; gcrRegs +[rcx] ; byrRegs -[rcx]
- cmp dword ptr [rdx], edx - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rdx] + mov rax, qword ptr [rax+0x48]
call [rax+0x08]<unknown method> ; gcrRegs -[rcx rdx] +[rax] ; gcr arg pop 0 @@ -60,7 +60,7 @@ G_M37260_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000 ; gcrRegs +[rcx] mov rdx, 0xD1FFAB1E ; gcrRegs +[rdx]
- ;; 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, 32 pop rbx @@ -68,7 +68,7 @@ G_M37260_IG06: ; bbWeight=0.50, epilog, nogc, extend ; gcr arg pop 0 ;; size=11 bbWeight=0.50 PerfScore 1.38
-; Total bytes of code 68, prolog size 5, PerfScore 13.25, instruction count 20, allocated bytes for code 68 (MethodHash=da936e73) for method System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
+; Total bytes of code 66, prolog size 5, PerfScore 12.75, instruction count 20, allocated bytes for code 66 (MethodHash=da936e73) for method System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
; ============================================================ Unwind Info:

-2 (-2.11%) : 290694.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)

@@ -68,22 +68,22 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0108 {rbx r8 mov rdx, rbx ; gcrRegs -[rdx] ; byrRegs +[rdx]
- cmp dword ptr [rcx], ecx - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rcx] + mov rax, qword ptr [rax+0x58]
call [rax]<unknown method> ; gcrRegs -[rcx] ; byrRegs -[rdx] ; gcr arg pop 0 mov rax, rbx ; byrRegs +[rax]
- ;; size=74 bbWeight=1 PerfScore 24.25
+ ;; size=72 bbWeight=1 PerfScore 23.25
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 64 pop rbx ret ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 95, prolog size 12, PerfScore 28.75, instruction count 26, allocated bytes for code 95 (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 93, prolog size 12, PerfScore 27.75, instruction count 26, allocated bytes for code 93 (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:

-16 (-1.79%) : 266340.dasm - System.ConsolePal:ReadKey(ubyte):System.ConsoleKeyInfo (FullOpts)

@@ -12,21 +12,21 @@ ; V01 arg0 [V01,T16] ( 3, 3 ) ubyte -> rsi single-def ; V02 loc0 [V02 ] ( 14, 29.50) struct (24) [rbp-0x50] do-not-enreg[XS] addr-exposed ld-addr-op <Interop+INPUT_RECORD> ;* V03 loc1 [V03 ] ( 0, 0 ) ubyte -> zero-ref
-; V04 loc2 [V04,T17] ( 4, 4 ) int -> r9
+; V04 loc2 [V04,T18] ( 4, 4 ) int -> r9
;* V05 loc3 [V05 ] ( 0, 0 ) ubyte -> zero-ref ;* V06 loc4 [V06 ] ( 0, 0 ) ubyte -> zero-ref ;* V07 loc5 [V07 ] ( 0, 0 ) ubyte -> zero-ref ; V08 loc6 [V08 ] ( 2, 2 ) struct (16) [rbp-0x60] do-not-enreg[XS] addr-exposed ld-addr-op <System.ConsoleKeyInfo>
-; V09 loc7 [V09,T23] ( 4, 1.50) ref -> [rbp-0x78] class-hnd EH-live spill-single-def <System.Object>
+; V09 loc7 [V09,T24] ( 4, 1.50) ref -> [rbp-0x78] class-hnd EH-live spill-single-def <System.Object>
; V10 loc8 [V10 ] ( 6, 5 ) ubyte -> [rbp-0x68] do-not-enreg[X] addr-exposed ld-addr-op ; V11 loc9 [V11 ] ( 2, 8 ) int -> [rbp-0x6C] do-not-enreg[X] addr-exposed ld-addr-op ; V12 loc10 [V12,T06] ( 3, 12 ) ushort -> rax ;* V13 loc11 [V13 ] ( 0, 0 ) ushort -> zero-ref ; V14 loc12 [V14,T00] ( 5, 20 ) int -> rax ; V15 OutArgs [V15 ] ( 1, 1 ) struct (48) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V16 tmp1 [V16,T29] ( 3, 0 ) ref -> rbx class-hnd exact "NewObj constructor temp" <<unknown class>> -;* V17 tmp2 [V17,T26] ( 0, 0 ) long -> zero-ref "dup spill" -; V18 tmp3 [V18,T19] ( 2, 4 ) ubyte -> rcx "Inlining Arg"
+; V16 tmp1 [V16,T28] ( 3, 0 ) ref -> rbx class-hnd exact "NewObj constructor temp" <<unknown class>> +; V17 tmp2 [V17,T22] ( 3, 3 ) long -> r14 "dup spill" +; V18 tmp3 [V18,T20] ( 2, 4 ) ubyte -> rcx "Inlining Arg"
;* V19 tmp4 [V19 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V20 tmp5 [V20,T08] ( 2, 8 ) byref -> r15 "Inline stloc first use temp" ;* V21 tmp6 [V21 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" @@ -36,13 +36,13 @@ ; V25 tmp10 [V25,T10] ( 2, 8 ) int -> rbx "Inline stloc first use temp" ; V26 tmp11 [V26,T11] ( 2, 8 ) int -> rcx "Inline stloc first use temp" ; V27 tmp12 [V27,T12] ( 2, 8 ) ubyte -> rbx "Inline stloc first use temp"
-;* V28 tmp13 [V28,T22] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V28 tmp13 [V28,T23] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V29 tmp14 [V29 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] "Inlining Arg" <Interop+INPUT_RECORD>
-;* V30 tmp15 [V30,T20] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
+;* V30 tmp15 [V30,T21] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V31 tmp16 [V31 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] "Inlining Arg" <Interop+INPUT_RECORD> ; V32 tmp17 [V32,T01] ( 5, 20 ) ushort -> rcx "Inline stloc first use temp" ;* V33 tmp18 [V33 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] "Inlining Arg" <Interop+INPUT_RECORD>
-; V34 tmp19 [V34,T18] ( 2, 4 ) byref -> rax single-def "Single return block return value"
+; V34 tmp19 [V34,T19] ( 2, 4 ) byref -> rax single-def "Single return block return value"
; V35 FramesRoot [V35,T02] ( 6, 18 ) long -> rdi "Pinvoke FrameListRoot" ; V36 PInvokeFrame [V36 ] ( 8, 20 ) struct (72) [rbp-0xC0] do-not-enreg[XS] addr-exposed "Pinvoke FrameVar" ; V37 tmp22 [V37 ] ( 2, 2 ) ushort -> [rbp-0x60] do-not-enreg[X] addr-exposed "field V08._keyChar (fldOffset=0x0)" P-DEP @@ -54,13 +54,12 @@ ;* V43 tmp28 [V43 ] ( 0, 0 ) int -> zero-ref "V33.[016..020)" ; V44 tmp29 [V44,T04] ( 2, 16 ) long -> r15 "Cast away GC" ; V45 tmp30 [V45,T05] ( 2, 16 ) long -> r13 "Cast away GC"
-; V46 tmp31 [V46,T30] ( 2, 0 ) ref -> rdx "argument with side effect" -; V47 PSPSym [V47,T27] ( 1, 1 ) long -> [rbp-0xD0] do-not-enreg[V] "PSPSym" -; V48 cse0 [V48,T24] ( 3, 1.50) int -> rcx "CSE - moderate" -;* V49 cse1 [V49,T28] ( 0, 0 ) long -> zero-ref "CSE - moderate" -; V50 cse2 [V50,T07] ( 3, 12 ) int -> rcx "CSE - aggressive" -; V51 cse3 [V51,T25] ( 3, 1.50) int -> rcx "CSE - moderate" -; V52 cse4 [V52,T21] ( 5, 3.50) long -> r14 "CSE - moderate"
+; V46 tmp31 [V46,T29] ( 2, 0 ) ref -> rdx "argument with side effect" +; V47 PSPSym [V47,T26] ( 1, 1 ) long -> [rbp-0xD0] do-not-enreg[V] "PSPSym" +;* V48 cse0 [V48,T27] ( 0, 0 ) long -> zero-ref "CSE - moderate" +; V49 cse1 [V49,T07] ( 3, 12 ) int -> rcx "CSE - aggressive" +; V50 cse2 [V50,T25] ( 3, 1.50) int -> rcx "CSE - moderate" +; V51 cse3 [V51,T17] ( 7, 4.50) long -> r14 "CSE - moderate"
; ; Lcl frame size = 200 @@ -102,7 +101,7 @@ G_M6789_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref xor edx, edx mov dword ptr [rbp-0x68], edx ;; size=22 bbWeight=1 PerfScore 4.50
-G_M6789_IG04: ; bbWeight=1, gcVars=0000000000804000 {V00 V09}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M6789_IG04: ; bbWeight=1, gcVars=0000000001004000 {V00 V09}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
cmp byte ptr [rbp-0x68], 0 jne G_M6789_IG23 lea rdx, [rbp-0x68] @@ -134,19 +133,16 @@ G_M6789_IG07: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre vmovdqu xmmword ptr [rbp-0x50], xmm1 mov ecx, dword ptr [r14+0x10] mov dword ptr [rbp-0x40], ecx
- mov rcx, 0xD1FFAB1E ; global ptr - movzx rcx, word ptr [rcx] - test ecx, ecx
+ cmp word ptr [r14+0x08], 0
jne SHORT G_M6789_IG08 mov word ptr [r14], 0 jmp G_M6789_IG24
- ;; size=45 bbWeight=0.50 PerfScore 7.25
+ ;; size=36 bbWeight=0.50 PerfScore 7.50
G_M6789_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- dec ecx - mov rax, 0xD1FFAB1E ; global ptr - mov word ptr [rax], cx
+ add r14, 8 + dec word ptr [r14]
jmp G_M6789_IG24
- ;; size=20 bbWeight=0.50 PerfScore 1.75
+ ;; size=13 bbWeight=0.50 PerfScore 2.62
G_M6789_IG09: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov ecx, -10 mov rax, 0xD1FFAB1E ; function address @@ -271,7 +267,7 @@ G_M6789_IG21: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre mov dword ptr [r14+0x10], ecx jmp SHORT G_M6789_IG24 ;; size=34 bbWeight=0.50 PerfScore 6.25
-G_M6789_IG22: ; bbWeight=0, gcVars=0000000000800000 {V09}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M6789_IG22: ; bbWeight=0, gcVars=0000000001000000 {V09}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V00} mov rcx, 0xD1FFAB1E ; <unknown class> call CORINFO_HELP_NEWSFAST @@ -299,7 +295,7 @@ G_M6789_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcr arg pop 0 int3 ;; size=7 bbWeight=0 PerfScore 0.00
-G_M6789_IG24: ; bbWeight=1, gcVars=0000000000804000 {V00 V09}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M6789_IG24: ; bbWeight=1, gcVars=0000000001004000 {V00 V09}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars +{V00 V14} cmp byte ptr [rbp-0x68], 0 je SHORT G_M6789_IG26 @@ -368,8 +364,8 @@ G_M6789_IG30: ; bbWeight=0, gcVars=0000000000004000 {V00}, gcrefRegs=0000 ; gcr arg pop 0 jmp G_M6789_IG03 ;; size=25 bbWeight=0 PerfScore 0.00
-G_M6789_IG31: ; bbWeight=0, gcVars=0000000000800000 {V09}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc - ; GC ptr vars -{V00} +{V09}
+G_M6789_IG31: ; bbWeight=0, gcVars=0000000001000000 {V09}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc + ; GC ptr vars -{V00} +{V09 V24}
push rbp push r15 push r14 @@ -384,12 +380,12 @@ G_M6789_IG31: ; bbWeight=0, gcVars=0000000000800000 {V09}, gcrefRegs=0000 mov qword ptr [rsp+0x30], rbp lea rbp, [rbp+0x100] ;; size=35 bbWeight=0 PerfScore 0.00
-G_M6789_IG32: ; bbWeight=0, gcVars=0000000000800000 {V09}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M6789_IG32: ; bbWeight=0, gcVars=0000000001000000 {V09}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
cmp byte ptr [rbp-0x68], 0 je SHORT G_M6789_IG33 mov rcx, gword ptr [rbp-0x78] ; gcrRegs +[rcx]
- ; GC ptr vars -{V09}
+ ; GC ptr vars -{V09 V24}
call <unknown method> ; gcrRegs -[rcx] ; gcr arg pop 0 @@ -410,7 +406,7 @@ G_M6789_IG34: ; bbWeight=0, funclet epilog, nogc, extend ret ;; size=17 bbWeight=0 PerfScore 0.00
-; Total bytes of code 892, prolog size 43, PerfScore 333.50, instruction count 225, allocated bytes for code 892 (MethodHash=ec28e57a) for method System.ConsolePal:ReadKey(ubyte):System.ConsoleKeyInfo (FullOpts)
+; Total bytes of code 876, prolog size 43, PerfScore 334.62, instruction count 222, allocated bytes for code 876 (MethodHash=ec28e57a) for method System.ConsolePal:ReadKey(ubyte):System.ConsoleKeyInfo (FullOpts)
; ============================================================ Unwind Info:

+13 (+22.41%) : 265622.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)

@@ -23,7 +23,11 @@ G_M51153_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[rcx] mov rdx, 0xD1FFAB1E ; gcrRegs +[rdx]
- 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 -[rcx rdx] +[rax] ; gcr arg pop 0 @@ -33,13 +37,13 @@ G_M51153_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx] nop
- ;; size=49 bbWeight=1 PerfScore 7.25
+ ;; size=62 bbWeight=1 PerfScore 9.50
G_M51153_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 40 ret ;; size=5 bbWeight=1 PerfScore 1.25
-; Total bytes of code 58, prolog size 4, PerfScore 8.75, instruction count 11, allocated bytes for code 58 (MethodHash=fed8382e) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 71, prolog size 4, PerfScore 11.00, instruction count 13, allocated bytes for code 71 (MethodHash=fed8382e) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================ Unwind Info:

+13 (+22.41%) : 265626.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)

@@ -23,7 +23,11 @@ G_M2750_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[rcx] mov rdx, 0xD1FFAB1E ; gcrRegs +[rdx]
- 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 -[rcx rdx] +[rax] ; gcr arg pop 0 @@ -33,13 +37,13 @@ G_M2750_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx] nop
- ;; size=49 bbWeight=1 PerfScore 7.25
+ ;; size=62 bbWeight=1 PerfScore 9.50
G_M2750_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 40 ret ;; size=5 bbWeight=1 PerfScore 1.25
-; Total bytes of code 58, prolog size 4, PerfScore 8.75, instruction count 11, allocated bytes for code 58 (MethodHash=43b3f541) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 71, prolog size 4, PerfScore 11.00, instruction count 13, allocated bytes for code 71 (MethodHash=43b3f541) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================ Unwind Info:

+13 (+22.41%) : 266038.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)

@@ -23,7 +23,11 @@ G_M58324_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[rcx] mov rdx, 0xD1FFAB1E ; gcrRegs +[rdx]
- 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 -[rcx rdx] +[rax] ; gcr arg pop 0 @@ -33,13 +37,13 @@ G_M58324_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx] nop
- ;; size=49 bbWeight=1 PerfScore 7.25
+ ;; size=62 bbWeight=1 PerfScore 9.50
G_M58324_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 40 ret ;; size=5 bbWeight=1 PerfScore 1.25
-; Total bytes of code 58, prolog size 4, PerfScore 8.75, instruction count 11, allocated bytes for code 58 (MethodHash=ca881c2b) for method System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
+; Total bytes of code 71, prolog size 4, PerfScore 11.00, instruction count 13, allocated bytes for code 71 (MethodHash=ca881c2b) for method System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
; ============================================================ Unwind Info:

libraries_tests.run.windows.x64.Release.mch

-13 (-7.47%) : 60945.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 = 40 @@ -35,11 +35,9 @@ G_M26216_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, 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
+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 add rsp, 40 pop rbx @@ -47,7 +45,6 @@ G_M26216_IG04: ; bbWeight=1, epilog, nogc, extend ret ;; size=7 bbWeight=1 PerfScore 2.25 G_M26216_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref, isz
- ; byrRegs +[rbx]
mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx] call [System.Environment:GetEnvironmentVariable(System.String):System.String] @@ -78,15 +75,15 @@ 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()] @@ -94,7 +91,7 @@ G_M26216_IG08: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 174, prolog size 6, PerfScore 15.00, instruction count 38, allocated bytes for code 174 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
+; Total bytes of code 161, prolog size 6, PerfScore 14.75, instruction count 37, allocated bytes for code 161 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
; ============================================================ Unwind Info:

-13 (-7.47%) : 84476.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 = 40 @@ -35,11 +35,9 @@ G_M26216_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, 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
+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 add rsp, 40 pop rbx @@ -47,7 +45,6 @@ G_M26216_IG04: ; bbWeight=1, epilog, nogc, extend ret ;; size=7 bbWeight=1 PerfScore 2.25 G_M26216_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref, isz
- ; byrRegs +[rbx]
mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx] call [System.Environment:GetEnvironmentVariable(System.String):System.String] @@ -78,15 +75,15 @@ 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()] @@ -94,7 +91,7 @@ G_M26216_IG08: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 174, prolog size 6, PerfScore 15.00, instruction count 38, allocated bytes for code 174 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
+; Total bytes of code 161, prolog size 6, PerfScore 14.75, instruction count 37, allocated bytes for code 161 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
; ============================================================ Unwind Info:

-9 (-4.55%) : 650277.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 = 40 @@ -35,11 +35,9 @@ G_M26216_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, 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
+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 add rsp, 40 pop rbx @@ -47,7 +45,6 @@ G_M26216_IG04: ; bbWeight=1, epilog, nogc, extend ret ;; size=7 bbWeight=1 PerfScore 2.25 G_M26216_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref, isz
- ; byrRegs +[rbx]
mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx] mov rax, 0xD1FFAB1E ; code for System.Environment:GetEnvironmentVariable(System.String):System.String @@ -99,7 +96,7 @@ G_M26216_IG08: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 198, prolog size 6, PerfScore 15.00, instruction count 42, allocated bytes for code 198 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
+; Total bytes of code 189, prolog size 6, PerfScore 14.75, instruction count 41, allocated bytes for code 189 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
; ============================================================ Unwind Info:

+13 (+8.50%) : 80890.dasm - System.GC:AllocateUninitializedArrayushort:ushort

@@ -67,13 +67,17 @@ G_M8903_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcr arg pop 0 mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx] +[rax] ; gcr arg pop 0 test rax, rax je SHORT G_M8903_IG10
- ;; size=65 bbWeight=1 PerfScore 9.25
+ ;; size=78 bbWeight=1 PerfScore 11.50
G_M8903_IG07: ; bbWeight=0.46, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref mov rcx, qword ptr [rax+0x18] ;; size=4 bbWeight=0.46 PerfScore 0.93 @@ -99,7 +103,7 @@ G_M8903_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=0000 jmp SHORT G_M8903_IG08 ;; size=4 bbWeight=0.04 PerfScore 0.08
-; Total bytes of code 153, prolog size 7, PerfScore 22.63, instruction count 38, allocated bytes for code 153 (MethodHash=3f15dd38) for method System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
+; Total bytes of code 166, prolog size 7, PerfScore 24.88, instruction count 40, allocated bytes for code 166 (MethodHash=3f15dd38) for method System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
; ============================================================ Unwind Info:

+13 (+8.50%) : 196278.dasm - System.GC:AllocateUninitializedArrayint:int

@@ -67,13 +67,17 @@ G_M50407_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcr arg pop 0 mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx] +[rax] ; gcr arg pop 0 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 rcx, qword ptr [rax+0x18] ;; size=4 bbWeight=0.46 PerfScore 0.93 @@ -99,7 +103,7 @@ G_M50407_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=000 jmp SHORT G_M50407_IG08 ;; size=4 bbWeight=0.04 PerfScore 0.08
-; Total bytes of code 153, prolog size 7, PerfScore 22.63, instruction count 38, allocated bytes for code 153 (MethodHash=a3303b18) for method System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
+; Total bytes of code 166, prolog size 7, PerfScore 24.88, instruction count 40, allocated bytes for code 166 (MethodHash=a3303b18) for method System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
; ============================================================ Unwind Info:

+13 (+8.50%) : 265974.dasm - System.GC:AllocateUninitializedArrayubyte:ubyte

@@ -67,13 +67,17 @@ G_M39911_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcr arg pop 0 mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx] +[rax] ; gcr arg pop 0 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 rcx, qword ptr [rax+0x18] ;; size=4 bbWeight=0.46 PerfScore 0.93 @@ -99,7 +103,7 @@ G_M39911_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=000 jmp SHORT G_M39911_IG08 ;; size=4 bbWeight=0.04 PerfScore 0.08
-; Total bytes of code 153, prolog size 7, PerfScore 22.63, instruction count 38, allocated bytes for code 153 (MethodHash=4acc6418) for method System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
+; Total bytes of code 166, prolog size 7, PerfScore 24.88, instruction count 40, allocated bytes for code 166 (MethodHash=4acc6418) for method System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
; ============================================================ Unwind Info:

librariestestsnotieredcompilation.run.windows.x64.Release.mch

-9 (-20.45%) : 21574.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 (-2.78%) : 137823.dasm - System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)

@@ -33,23 +33,23 @@ G_M60981_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr ; gcrRegs +[rdx] cmovne rdx, rcx mov rcx, 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 -[rcx rdx] ; gcr arg pop 0 mov rax, 0xD1FFAB1E ; gcrRegs +[rax] mov gword ptr [rbx+0x30], rax
- ;; size=58 bbWeight=1 PerfScore 10.75
+ ;; size=56 bbWeight=1 PerfScore 9.75
G_M60981_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 32 pop rbx ret ;; size=6 bbWeight=1 PerfScore 1.75
-; Total bytes of code 72, prolog size 5, PerfScore 14.00, instruction count 17, allocated bytes for code 72 (MethodHash=a44a11ca) for method System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
+; Total bytes of code 70, prolog size 5, PerfScore 13.00, instruction count 17, allocated bytes for code 70 (MethodHash=a44a11ca) for method System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
; ============================================================ Unwind Info:

-2 (-2.30%) : 35215.dasm - Autofac.Core.Resolving.Pipeline.DefaultResolveRequestContext:ChangeScope(Autofac.Core.ISharingLifetimeScope):this (FullOpts)

@@ -25,9 +25,9 @@ G_M31115_IG02: ; bbWeight=1, gcrefRegs=0006 {rcx rdx}, byrefRegs=0000 {}, ; gcrRegs +[rcx rdx] test rdx, rdx je SHORT G_M31115_IG04
- cmp dword ptr [rcx], ecx - mov rax, qword ptr [(reloc)] - ;; size=14 bbWeight=1 PerfScore 6.25
+ mov rax, qword ptr [rcx] + mov rax, qword ptr [rax+0x48] + ;; size=12 bbWeight=1 PerfScore 5.25
G_M31115_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 32 pop rbx @@ -60,7 +60,7 @@ G_M31115_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { int3 ;; size=59 bbWeight=0 PerfScore 0.00
-; Total bytes of code 87, prolog size 5, PerfScore 10.25, instruction count 21, allocated bytes for code 87 (MethodHash=f3738674) for method Autofac.Core.Resolving.Pipeline.DefaultResolveRequestContext:ChangeScope(Autofac.Core.ISharingLifetimeScope):this (FullOpts)
+; Total bytes of code 85, prolog size 5, PerfScore 9.25, instruction count 21, allocated bytes for code 85 (MethodHash=f3738674) for method Autofac.Core.Resolving.Pipeline.DefaultResolveRequestContext:ChangeScope(Autofac.Core.ISharingLifetimeScope):this (FullOpts)
; ============================================================ Unwind Info:

+13 (+23.64%) : 193899.dasm - System.Reflection.Tests.TypeInfoTests+<>c:b_160():System.Object:this (FullOpts)

@@ -30,14 +30,18 @@ G_M11823_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcr arg pop 0 mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- mov rax, qword ptr [(reloc)] - ;; size=43 bbWeight=1 PerfScore 5.75
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0xB0] + ;; size=56 bbWeight=1 PerfScore 8.00
G_M11823_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 40 tail.jmp [rax+0x30]<unknown method> ;; size=8 bbWeight=1 PerfScore 2.25
-; Total bytes of code 55, prolog size 4, PerfScore 8.25, instruction count 8, allocated bytes for code 55 (MethodHash=4e07d1d0) for method System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumNames_TypeNotEnum_ThrowsArgumentException>b__16_0():System.Object:this (FullOpts)
+; Total bytes of code 68, prolog size 4, PerfScore 10.50, instruction count 10, allocated bytes for code 68 (MethodHash=4e07d1d0) for method System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumNames_TypeNotEnum_ThrowsArgumentException>b__16_0():System.Object:this (FullOpts)
; ============================================================ Unwind Info:

+13 (+28.26%) : 35154.dasm - LightInject.ServiceContainer:g_IsNotServiceFactory|1750(System.Type):ubyte (FullOpts)

@@ -29,21 +29,23 @@ G_M24257_IG02: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr ; gcrRegs +[rdx] mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx rdx] ; gcr arg pop 0 test eax, eax sete al movzx rax, al
- ;; size=37 bbWeight=1 PerfScore 10.00
+ ;; size=50 bbWeight=1 PerfScore 12.25
G_M24257_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 40 ret ;; size=5 bbWeight=1 PerfScore 1.25
-; Total bytes of code 46, prolog size 4, PerfScore 11.50, instruction count 11, allocated bytes for code 46 (MethodHash=df39a13e) for method LightInject.ServiceContainer:<EmitNewInstance>g__IsNotServiceFactory|175_0(System.Type):ubyte (FullOpts)
+; Total bytes of code 59, prolog size 4, PerfScore 13.75, instruction count 13, allocated bytes for code 59 (MethodHash=df39a13e) for method LightInject.ServiceContainer:<EmitNewInstance>g__IsNotServiceFactory|175_0(System.Type):ubyte (FullOpts)
; ============================================================ Unwind Info:

+10 (+47.62%) : 186186.dasm - System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)

@@ -20,13 +20,17 @@ G_M34055_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, G_M34055_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- mov rax, qword ptr [(reloc)] - ;; size=17 bbWeight=1 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 PerfScore 4.50
G_M34055_IG03: ; bbWeight=1, epilog, nogc, extend tail.jmp [rax+0x28]<unknown method> ;; size=4 bbWeight=1 PerfScore 2.00
-; Total bytes of code 21, prolog size 0, PerfScore 4.25, instruction count 3, allocated bytes for code 21 (MethodHash=b4987af8) for method System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
+; Total bytes of code 31, prolog size 0, PerfScore 6.50, instruction count 5, allocated bytes for code 31 (MethodHash=b4987af8) for method System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
; ============================================================ Unwind Info:

realworld.run.windows.x64.checked.mch

-4 (-1.05%) : 32596.dasm - System.Management.Automation.Security.SystemPolicy:GetWldpPolicy(System.String,System.Runtime.InteropServices.SafeHandle):int (FullOpts)

@@ -9,12 +9,12 @@ ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 9, 9 ) ref -> rbx class-hnd single-def <System.String>
-; V01 arg1 [V01,T01] ( 4, 4 ) ref -> rsi class-hnd single-def <System.Runtime.InteropServices.SafeHandle> -; V02 loc0 [V02 ] ( 6, 6 ) struct (24) [rbp-0x28] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Management.Automation.Security.SystemPolicy+WLDP_HOST_INFORMATION> -; V03 loc1 [V03 ] ( 3, 3 ) int -> [rbp-0x30] do-not-enreg[X] must-init addr-exposed ld-addr-op
+; V01 arg1 [V01,T02] ( 4, 4 ) ref -> rsi class-hnd single-def <System.Runtime.InteropServices.SafeHandle> +; V02 loc0 [V02 ] ( 6, 6 ) struct (24) [rbp-0x30] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Management.Automation.Security.SystemPolicy+WLDP_HOST_INFORMATION> +; V03 loc1 [V03 ] ( 3, 3 ) int -> [rbp-0x38] do-not-enreg[X] must-init addr-exposed ld-addr-op
;* V04 loc2 [V04 ] ( 0, 0 ) long -> zero-ref ; V05 loc3 [V05,T03] ( 3, 3 ) int -> rax single-def
-; V06 loc4 [V06,T05] ( 4, 3 ) int -> [rbp-0x34] do-not-enreg[M] EH-live
+; V06 loc4 [V06,T05] ( 4, 3 ) int -> [rbp-0x3C] do-not-enreg[M] EH-live
; V07 OutArgs [V07 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V08 tmp1 [V08 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[int]> ;* V09 tmp2 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd "impSpillSpecialSideEff" <<unknown class>> @@ -22,108 +22,111 @@ ;* V11 tmp4 [V11,T07] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V12 tmp5 [V12,T08] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V13 tmp6 [V13,T09] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V14 tmp7 [V14 ] ( 3, 3 ) ref -> [rbp-0x28] do-not-enreg[X] addr-exposed "field V02.szSource (fldOffset=0x0)" P-DEP -; V15 tmp8 [V15 ] ( 3, 3 ) long -> [rbp-0x20] do-not-enreg[X] addr-exposed "field V02.hSource (fldOffset=0x8)" P-DEP -; V16 tmp9 [V16 ] ( 3, 3 ) int -> [rbp-0x18] do-not-enreg[X] addr-exposed "field V02.dwRevision (fldOffset=0x10)" P-DEP -; V17 tmp10 [V17 ] ( 3, 3 ) int -> [rbp-0x14] do-not-enreg[X] addr-exposed "field V02.dwHostId (fldOffset=0x14)" P-DEP
+; V14 tmp7 [V14 ] ( 3, 3 ) ref -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V02.szSource (fldOffset=0x0)" P-DEP +; V15 tmp8 [V15 ] ( 3, 3 ) long -> [rbp-0x28] do-not-enreg[X] addr-exposed "field V02.hSource (fldOffset=0x8)" P-DEP +; V16 tmp9 [V16 ] ( 3, 3 ) int -> [rbp-0x20] do-not-enreg[X] addr-exposed "field V02.dwRevision (fldOffset=0x10)" P-DEP +; V17 tmp10 [V17 ] ( 3, 3 ) int -> [rbp-0x1C] do-not-enreg[X] addr-exposed "field V02.dwHostId (fldOffset=0x14)" P-DEP
;* V18 tmp11 [V18,T10] ( 0, 0 ) ubyte -> zero-ref single-def "field V08.hasValue (fldOffset=0x0)" P-INDEP ;* V19 tmp12 [V19,T11] ( 0, 0 ) int -> zero-ref single-def "field V08.value (fldOffset=0x4)" P-INDEP
-; V20 PSPSym [V20,T12] ( 1, 1 ) long -> [rbp-0x40] do-not-enreg[V] "PSPSym" -; V21 cse0 [V21,T02] ( 4, 4 ) byref -> rcx multi-def "CSE - aggressive"
+; V20 PSPSym [V20,T12] ( 1, 1 ) long -> [rbp-0x50] do-not-enreg[V] "PSPSym" +; V21 cse0 [V21,T01] ( 6, 6 ) byref -> rdi multi-def "CSE - aggressive"
; V22 cse1 [V22,T04] ( 5, 3 ) long -> rcx multi-def "CSE - aggressive" ;
-; Lcl frame size = 80
+; Lcl frame size = 88
G_M16096_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG push rbp
+ push rdi
push rsi push rbx
- sub rsp, 80
+ sub rsp, 88
vzeroupper
- lea rbp, [rsp+0x60]
+ lea rbp, [rsp+0x70] + xor eax, eax + mov qword ptr [rbp-0x38], rax
vxorps xmm4, xmm4, xmm4
- vmovdqu ymmword ptr [rbp-0x30], ymm4 - mov qword ptr [rbp-0x40], rsp
+ vmovdqa xmmword ptr [rbp-0x30], xmm4 + mov qword ptr [rbp-0x20], rax + mov qword ptr [rbp-0x50], rsp
mov rbx, rcx ; gcrRegs +[rbx] mov rsi, rdx ; gcrRegs +[rsi]
- ;; size=34 bbWeight=1 PerfScore 8.58
+ ;; size=45 bbWeight=1 PerfScore 11.83
G_M16096_IG02: ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz cmp byte ptr [(reloc)], 0 ; data for <unknown class>:<unknown field> je SHORT G_M16096_IG04
- mov rcx, 0xD1FFAB1E ; static handle - ; byrRegs +[rcx] - mov rax, 0xD1FFAB1E ; global ptr - xor edx, edx - cmp byte ptr [rcx], 0 - mov eax, dword ptr [rax] - cmove eax, edx - ;; size=39 bbWeight=1 PerfScore 10.00
+ mov rdi, 0xD1FFAB1E ; static handle + ; byrRegs +[rdi] + xor eax, eax + cmp byte ptr [rdi], 0 + cmovne eax, dword ptr [rdi+0x04] + ;; size=28 bbWeight=1 PerfScore 10.50
G_M16096_IG03: ; bbWeight=1, epilog, nogc, extend
- add rsp, 80
+ add rsp, 88
pop rbx pop rsi
+ pop rdi
pop rbp ret
- ;; size=8 bbWeight=1 PerfScore 2.75
+ ;; size=9 bbWeight=1 PerfScore 3.25
G_M16096_IG04: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
- ; byrRegs -[rcx]
+ ; byrRegs -[rdi]
test rbx, rbx je SHORT G_M16096_IG05 cmp dword ptr [rbx+0x08], 0 jne SHORT G_M16096_IG08 ;; size=11 bbWeight=1 PerfScore 5.25 G_M16096_IG05: ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
- mov rcx, 0xD1FFAB1E ; static handle - ; byrRegs +[rcx] - cmp byte ptr [rcx], 0
+ mov rdi, 0xD1FFAB1E ; static handle + ; byrRegs +[rdi] + cmp byte ptr [rdi], 0
je SHORT G_M16096_IG08 test byte ptr [(reloc)], 1 ; global ptr je G_M16096_IG15 ;; size=28 bbWeight=1 PerfScore 8.25
-G_M16096_IG06: ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz - ; byrRegs -[rcx]
+G_M16096_IG06: ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref, isz
cmp byte ptr [(reloc)], 0 ; data for <unknown class>:<unknown field> jne SHORT G_M16096_IG08
- mov rax, 0xD1FFAB1E ; global ptr - mov eax, dword ptr [rax] - ;; size=21 bbWeight=1 PerfScore 6.25
+ mov eax, dword ptr [rdi+0x04] + ;; size=12 bbWeight=1 PerfScore 6.00
G_M16096_IG07: ; bbWeight=1, epilog, nogc, extend
- add rsp, 80
+ add rsp, 88
pop rbx pop rsi
+ pop rdi
pop rbp ret
- ;; size=8 bbWeight=1 PerfScore 2.75
+ ;; size=9 bbWeight=1 PerfScore 3.25
G_M16096_IG08: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
+ ; byrRegs -[rdi]
vxorps xmm0, xmm0, xmm0
+ vmovdqu xmmword ptr [rbp-0x30], xmm0
vmovdqu xmmword ptr [rbp-0x28], xmm0
- vmovdqu xmmword ptr [rbp-0x20], xmm0 - mov dword ptr [rbp-0x18], 1 - mov dword ptr [rbp-0x14], 4
+ mov dword ptr [rbp-0x20], 1 + mov dword ptr [rbp-0x1C], 4
test rbx, rbx je SHORT G_M16096_IG09 cmp dword ptr [rbx+0x08], 0 je SHORT G_M16096_IG09
- mov gword ptr [rbp-0x28], rbx
+ mov gword ptr [rbp-0x30], rbx
test rsi, rsi je SHORT G_M16096_IG09 mov rcx, qword ptr [rsi+0x10]
- mov qword ptr [rbp-0x20], rcx
+ mov qword ptr [rbp-0x28], rcx
;; size=56 bbWeight=1 PerfScore 14.83 G_M16096_IG09: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[rsi] xor ecx, ecx
- mov dword ptr [rbp-0x30], ecx - lea rcx, [rbp-0x28] - lea rdx, [rbp-0x30]
+ mov dword ptr [rbp-0x38], ecx + lea rcx, [rbp-0x30] + lea rdx, [rbp-0x38]
xor r8d, r8d call <unknown method> ; gcr arg pop 0 test eax, eax jl SHORT G_M16096_IG12
- mov ecx, dword ptr [rbp-0x30]
+ mov ecx, dword ptr [rbp-0x38]
call [System.Management.Automation.Security.SystemPolicy:GetLockdownPolicyForResult(uint):int] ; gcr arg pop 0 test rbx, rbx @@ -138,24 +141,26 @@ G_M16096_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov dword ptr [rcx+0x04], eax ;; size=16 bbWeight=1 PerfScore 2.25 G_M16096_IG11: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov dword ptr [rbp-0x34], eax
+ mov dword ptr [rbp-0x3C], eax
jmp SHORT G_M16096_IG13 ;; size=5 bbWeight=1 PerfScore 3.00 G_M16096_IG12: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov dword ptr [rbp-0x34], 2
+ mov dword ptr [rbp-0x3C], 2
;; size=7 bbWeight=1 PerfScore 1.00 G_M16096_IG13: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- mov eax, dword ptr [rbp-0x34]
+ mov eax, dword ptr [rbp-0x3C]
;; size=3 bbWeight=1 PerfScore 1.00 G_M16096_IG14: ; bbWeight=1, epilog, nogc, extend
- add rsp, 80
+ add rsp, 88
pop rbx pop rsi
+ pop rdi
pop rbp ret
- ;; size=8 bbWeight=1 PerfScore 2.75 -G_M16096_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref
+ ;; size=9 bbWeight=1 PerfScore 3.25 +G_M16096_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, gcvars, byref
; gcrRegs +[rbx rsi]
+ ; byrRegs +[rdi]
mov rcx, 0xD1FFAB1E mov edx, 0x837 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE @@ -164,33 +169,36 @@ G_M16096_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0048 { ;; size=25 bbWeight=0 PerfScore 0.00 G_M16096_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc ; gcrRegs -[rbx rsi]
+ ; byrRegs -[rdi]
push rbp
+ push rdi
push rsi push rbx
- sub rsp, 48
+ sub rsp, 40
vzeroupper mov rbp, qword ptr [rcx+0x20] mov qword ptr [rsp+0x20], rbp
- lea rbp, [rbp+0x60] - ;; size=23 bbWeight=0 PerfScore 0.00
+ lea rbp, [rbp+0x70] + ;; size=24 bbWeight=0 PerfScore 0.00
G_M16096_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref mov byte ptr [(reloc)], 1 ; data for <unknown class>:<unknown field> mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field> xor edx, edx call [System.Nullable`1[int]:GetValueOrDefault(int):int:this] ; gcr arg pop 0
- mov dword ptr [rbp-0x34], eax
+ mov dword ptr [rbp-0x3C], eax
lea rax, G_M16096_IG13 ;; size=35 bbWeight=0 PerfScore 0.00 G_M16096_IG18: ; bbWeight=0, funclet epilog, nogc, extend
- add rsp, 48
+ add rsp, 40
pop rbx pop rsi
+ pop rdi
pop rbp ret
- ;; size=8 bbWeight=0 PerfScore 0.00
+ ;; size=9 bbWeight=0 PerfScore 0.00
-; Total bytes of code 380, prolog size 34, PerfScore 82.67, instruction count 105, allocated bytes for code 380 (MethodHash=420bc11f) for method System.Management.Automation.Security.SystemPolicy:GetWldpPolicy(System.String,System.Runtime.InteropServices.SafeHandle):int (FullOpts)
+; Total bytes of code 376, prolog size 45, PerfScore 87.67, instruction count 111, allocated bytes for code 376 (MethodHash=420bc11f) for method System.Management.Automation.Security.SystemPolicy:GetWldpPolicy(System.String,System.Runtime.InteropServices.SafeHandle):int (FullOpts)
; ============================================================ Unwind Info: @@ -198,28 +206,30 @@ Unwind Info: >> End offset : 0xd1ffab1e (not in unwind data) ...

-2 (-0.73%) : 17922.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)

@@ -101,8 +101,8 @@ G_M60946_IG05: ; bbWeight=2, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rb G_M60946_IG06: ; bbWeight=2, gcrefRegs=00E0 {rbp rsi rdi}, byrefRegs=0008 {rbx}, byref mov rcx, rsi ; gcrRegs +[rcx]
- cmp dword ptr [rsi], esi - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rsi] + mov rax, qword ptr [rax+0x48]
call [rax+0x18]<unknown method> ; gcrRegs -[rcx] ; gcr arg pop 0 @@ -121,7 +121,7 @@ G_M60946_IG06: ; bbWeight=2, gcrefRegs=00E0 {rbp rsi rdi}, byrefRegs=0008 call [<unknown method>] ; gcrRegs -[rcx rbp rdi] ; gcr arg pop 0
- ;; size=61 bbWeight=2 PerfScore 31.50
+ ;; size=59 bbWeight=2 PerfScore 29.50
G_M60946_IG07: ; bbWeight=4, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref, isz mov eax, dword ptr [rbx+0x08] mov rcx, gword ptr [rbx] @@ -178,7 +178,7 @@ G_M60946_IG13: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { int3 ;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 275, prolog size 14, PerfScore 333.75, instruction count 76, allocated bytes for code 275 (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 14, PerfScore 331.75, instruction count 76, 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:

-2 (-0.40%) : 20219.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)

@@ -251,9 +251,9 @@ G_M55473_IG11: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 ; gcrRegs +[rdx] mov rcx, rbx ; gcrRegs +[rcx]
- 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]<unknown method> ; gcrRegs -[rcx rdx rbx] +[rax] ; gcr arg pop 0 @@ -263,7 +263,7 @@ G_M55473_IG11: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 ; gcrRegs +[rbx] test rbx, rbx je SHORT G_M55473_IG13
- ;; size=37 bbWeight=0.50 PerfScore 6.75
+ ;; size=35 bbWeight=0.50 PerfScore 6.25
G_M55473_IG12: ; bbWeight=0.25, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[rax] mov rcx, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.InterpolatedStringExpressionSyntax @@ -291,7 +291,7 @@ G_M55473_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0004 { int3 ;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 500, prolog size 42, PerfScore 111.40, instruction count 125, allocated bytes for code 500 (MethodHash=da86274e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
+; Total bytes of code 498, prolog size 42, PerfScore 110.90, instruction count 125, allocated bytes for code 498 (MethodHash=da86274e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
; ============================================================ Unwind Info:

+10 (+7.75%) : 15018.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)

@@ -34,8 +34,10 @@ G_M41042_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[rbx] mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx] +[rax] ; gcr arg pop 0 @@ -72,7 +74,7 @@ G_M41042_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx] nop
- ;; size=116 bbWeight=1 PerfScore 28.00
+ ;; size=126 bbWeight=1 PerfScore 30.25
G_M41042_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 40 pop rbx @@ -80,7 +82,7 @@ G_M41042_IG03: ; bbWeight=1, epilog, nogc, extend ret ;; size=7 bbWeight=1 PerfScore 2.25
-; Total bytes of code 129, prolog size 6, PerfScore 32.50, instruction count 31, allocated bytes for code 129 (MethodHash=ae3f5fad) for method SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
+; Total bytes of code 139, prolog size 6, PerfScore 34.75, instruction count 33, allocated bytes for code 139 (MethodHash=ae3f5fad) for method SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
; ============================================================ Unwind Info:

+10 (+8.20%) : 29229.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)

@@ -46,8 +46,10 @@ G_M6603_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre ; gcrRegs +[rdi] mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx] +[rax] ; gcr arg pop 0 @@ -65,7 +67,7 @@ G_M6603_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre ; gcrRegs +[rdx] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rdx rdi]
- ;; size=88 bbWeight=0.50 PerfScore 7.88
+ ;; size=98 bbWeight=0.50 PerfScore 9.00
G_M6603_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov rax, gword ptr [rbx] ; gcrRegs +[rax] @@ -78,7 +80,7 @@ G_M6603_IG05: ; bbWeight=1, epilog, nogc, extend ret ;; size=8 bbWeight=1 PerfScore 2.75
-; Total bytes of code 122, prolog size 7, PerfScore 20.12, instruction count 30, allocated bytes for code 122 (MethodHash=af67e634) for method Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
+; Total bytes of code 132, prolog size 7, PerfScore 21.25, instruction count 32, allocated bytes for code 132 (MethodHash=af67e634) for method Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
; ============================================================ Unwind Info:

+13 (+8.84%) : 15956.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)

@@ -44,14 +44,16 @@ G_M46437_IG02: ; bbWeight=1, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, ; gcrRegs +[rdx] mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx]
- 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 -[rcx rdx] ; gcr arg pop 0 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 add rsp, 40 pop rbx @@ -92,7 +94,7 @@ G_M46437_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { int3 ;; size=85 bbWeight=0 PerfScore 0.00
-; Total bytes of code 147, prolog size 6, PerfScore 19.75, instruction count 35, allocated bytes for code 147 (MethodHash=3cf14a9a) for method Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
+; Total bytes of code 160, prolog size 6, PerfScore 22.00, instruction count 37, allocated bytes for code 160 (MethodHash=3cf14a9a) for method Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
; ============================================================ Unwind Info:

smoke_tests.nativeaot.windows.x64.checked.mch

+3 (+1.10%) : 293.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,T08] ( 3, 4 ) ushort -> rbp single-def ; V03 arg3 [V03,T04] ( 3, 18 ) long -> rsi single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r14
+; V04 loc0 [V04,T00] ( 12,126 ) long -> r14
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> r15 ; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rsp+0x38] do-not-enreg[X] addr-exposed ld-addr-op ; V07 loc3 [V07,T14] ( 3, 1.50) long -> rax @@ -94,8 +94,9 @@ G_M48740_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ;; size=2 bbWeight=1 PerfScore 2.00 G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz lea r14, [(reloc)]
- jmp SHORT G_M48740_IG05 - ;; size=9 bbWeight=16 PerfScore 40.00
+ test r14, r14 + jne SHORT G_M48740_IG05 + ;; size=12 bbWeight=16 PerfScore 28.00
G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz test r15d, r15d jne SHORT G_M48740_IG14 @@ -178,7 +179,7 @@ G_M48740_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 26, PerfScore 300.00, instruction count 94, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 275, prolog size 26, PerfScore 288.00, instruction count 95, allocated bytes for code 275 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================ Unwind Info:

+3 (+1.10%) : 3151.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)

@@ -12,7 +12,7 @@ ; V01 arg1 [V01,T03] ( 3, 18 ) long -> rbx single-def ; V02 arg2 [V02,T08] ( 3, 4 ) ushort -> rbp single-def ; V03 arg3 [V03,T04] ( 3, 18 ) long -> rsi single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r14
+; V04 loc0 [V04,T00] ( 12,126 ) long -> r14
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> r15 ; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rsp+0x38] do-not-enreg[X] addr-exposed ld-addr-op ; V07 loc3 [V07,T14] ( 3, 1.50) long -> rax @@ -95,8 +95,9 @@ G_M48740_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ;; size=2 bbWeight=1 PerfScore 2.00 G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz lea r14, [(reloc)]
- jmp SHORT G_M48740_IG05 - ;; size=9 bbWeight=16 PerfScore 40.00
+ test r14, r14 + jne SHORT G_M48740_IG05 + ;; size=12 bbWeight=16 PerfScore 28.00
G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz test r15d, r15d jne SHORT G_M48740_IG14 @@ -179,7 +180,7 @@ G_M48740_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 26, PerfScore 300.00, instruction count 94, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 275, prolog size 26, PerfScore 288.00, instruction count 95, allocated bytes for code 275 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================ Unwind Info:

+3 (+1.10%) : 20823.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,T08] ( 3, 4 ) ushort -> rbp single-def ; V03 arg3 [V03,T04] ( 3, 18 ) long -> rsi single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r14
+; V04 loc0 [V04,T00] ( 12,126 ) long -> r14
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> r15 ; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rsp+0x38] do-not-enreg[X] addr-exposed ld-addr-op ; V07 loc3 [V07,T14] ( 3, 1.50) long -> rax @@ -94,8 +94,9 @@ G_M48740_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ;; size=2 bbWeight=1 PerfScore 2.00 G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz lea r14, [(reloc)]
- jmp SHORT G_M48740_IG05 - ;; size=9 bbWeight=16 PerfScore 40.00
+ test r14, r14 + jne SHORT G_M48740_IG05 + ;; size=12 bbWeight=16 PerfScore 28.00
G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz test r15d, r15d jne SHORT G_M48740_IG14 @@ -178,7 +179,7 @@ G_M48740_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 26, PerfScore 300.00, instruction count 94, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 275, prolog size 26, PerfScore 288.00, instruction count 95, allocated bytes for code 275 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================ Unwind Info:

+3 (+1.10%) : 15452.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,T08] ( 3, 4 ) ushort -> rbp single-def ; V03 arg3 [V03,T04] ( 3, 18 ) long -> rsi single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r14
+; V04 loc0 [V04,T00] ( 12,126 ) long -> r14
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> r15 ; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rsp+0x38] do-not-enreg[X] addr-exposed ld-addr-op ; V07 loc3 [V07,T14] ( 3, 1.50) long -> rax @@ -94,8 +94,9 @@ G_M48740_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ;; size=2 bbWeight=1 PerfScore 2.00 G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz lea r14, [(reloc)]
- jmp SHORT G_M48740_IG05 - ;; size=9 bbWeight=16 PerfScore 40.00
+ test r14, r14 + jne SHORT G_M48740_IG05 + ;; size=12 bbWeight=16 PerfScore 28.00
G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz test r15d, r15d jne SHORT G_M48740_IG14 @@ -178,7 +179,7 @@ G_M48740_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 26, PerfScore 300.00, instruction count 94, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 275, prolog size 26, PerfScore 288.00, instruction count 95, allocated bytes for code 275 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================ Unwind Info:

+3 (+1.10%) : 18140.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,T08] ( 3, 4 ) ushort -> rbp single-def ; V03 arg3 [V03,T04] ( 3, 18 ) long -> rsi single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r14
+; V04 loc0 [V04,T00] ( 12,126 ) long -> r14
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> r15 ; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rsp+0x38] do-not-enreg[X] addr-exposed ld-addr-op ; V07 loc3 [V07,T14] ( 3, 1.50) long -> rax @@ -94,8 +94,9 @@ G_M48740_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ;; size=2 bbWeight=1 PerfScore 2.00 G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz lea r14, [(reloc)]
- jmp SHORT G_M48740_IG05 - ;; size=9 bbWeight=16 PerfScore 40.00
+ test r14, r14 + jne SHORT G_M48740_IG05 + ;; size=12 bbWeight=16 PerfScore 28.00
G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz test r15d, r15d jne SHORT G_M48740_IG14 @@ -178,7 +179,7 @@ G_M48740_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 26, PerfScore 300.00, instruction count 94, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 275, prolog size 26, PerfScore 288.00, instruction count 95, allocated bytes for code 275 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================ Unwind Info:

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.windows.x64.checked.mch 89 11 28 50 -45 +517
benchmarks.run_pgo.windows.x64.checked.mch 227 2 4 221 -8 +16
benchmarks.run_tiered.windows.x64.checked.mch 11 1 2 8 -2 +14
coreclr_tests.run.windows.x64.checked.mch 1,545 49 249 1,247 -1,770 +7,904
libraries.crossgen2.windows.x64.checked.mch 0 0 0 0 -0 +0
libraries.pmi.windows.x64.checked.mch 944 30 268 646 -86 +2,440
libraries_tests.run.windows.x64.Release.mch 1,688 138 1,035 515 -899 +11,980
librariestestsnotieredcompilation.run.windows.x64.Release.mch 2,509 25 1,664 820 -265 +23,323
realworld.run.windows.x64.checked.mch 370 10 116 244 -32 +446
smoke_tests.nativeaot.windows.x64.checked.mch 5 0 5 0 -0 +15
7,388 266 3,371 3,751 -3,107 +46,655

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.windows.x64.checked.mch 27,982 4 27,978 0 (0.00%) 0 (0.00%)
benchmarks.run_pgo.windows.x64.checked.mch 96,695 48,836 47,859 0 (0.00%) 0 (0.00%)
benchmarks.run_tiered.windows.x64.checked.mch 54,111 37,293 16,818 0 (0.00%) 0 (0.00%)
coreclr_tests.run.windows.x64.checked.mch 584,001 348,100 235,901 0 (0.00%) 0 (0.00%)
libraries.crossgen2.windows.x64.checked.mch 274,686 15 274,671 0 (0.00%) 0 (0.00%)
libraries.pmi.windows.x64.checked.mch 310,928 6 310,922 0 (0.00%) 0 (0.00%)
libraries_tests.run.windows.x64.Release.mch 678,242 480,859 197,383 0 (0.00%) 0 (0.00%)
librariestestsnotieredcompilation.run.windows.x64.Release.mch 320,857 21,944 298,913 0 (0.00%) 6 (0.00%)
realworld.run.windows.x64.checked.mch 36,896 3 36,893 0 (0.00%) 0 (0.00%)
smoke_tests.nativeaot.windows.x64.checked.mch 32,572 11 32,561 0 (0.00%) 0 (0.00%)
2,416,970 937,071 1,479,899 0 (0.00%) 6 (0.00%)

jit-analyze output

benchmarks.run.windows.x64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 8800450 (overridden on cmd)
Total bytes of diff: 8800922 (overridden on cmd)
Total bytes of delta: 472 (0.01 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          93 : 3778.dasm (2.36 % of base)
          90 : 3885.dasm (3.85 % of base)
          60 : 3839.dasm (2.25 % of base)
          60 : 5085.dasm (5.94 % of base)
          43 : 10931.dasm (0.33 % of base)
          30 : 5075.dasm (9.97 % of base)
          13 : 17076.dasm (0.63 % of base)
          13 : 9069.dasm (0.53 % of base)
          13 : 9156.dasm (0.64 % of base)
          13 : 22712.dasm (0.98 % of base)
          13 : 3865.dasm (1.26 % of base)
          13 : 3932.dasm (1.71 % of base)
          13 : 3637.dasm (1.86 % of base)
          10 : 18046.dasm (2.11 % of base)
          10 : 10876.dasm (0.32 % of base)
          10 : 4051.dasm (1.46 % of base)
           7 : 8943.dasm (0.75 % of base)
           2 : 18070.dasm (0.06 % of base)
           2 : 19884.dasm (0.11 % of base)
           1 : 1275.dasm (0.15 % of base)

Top file improvements (bytes):
         -10 : 18092.dasm (-0.32 % of base)
          -9 : 8773.dasm (-20.45 % of base)
          -6 : 3137.dasm (-1.08 % of base)
          -4 : 6975.dasm (-0.19 % of base)
          -4 : 6983.dasm (-0.04 % of base)
          -2 : 18775.dasm (-0.05 % of base)
          -2 : 15813.dasm (-0.02 % of base)
          -2 : 6884.dasm (-0.73 % of base)
          -2 : 8857.dasm (-0.33 % of base)
          -2 : 21198.dasm (-2.11 % of base)
          -2 : 3881.dasm (-0.27 % of base)

34 total files with Code Size differences (11 improved, 23 regressed), 25 unchanged.

Top method regressions (bytes):
          93 (2.36 % of base) : 3778.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
          90 (3.85 % of base) : 3885.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
          60 (5.94 % of base) : 5085.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          60 (2.25 % of base) : 3839.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
          43 (0.33 % of base) : 10931.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.97 % of base) : 5075.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
          13 (0.64 % of base) : 9156.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
          13 (0.53 % of base) : 9069.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
          13 (0.98 % of base) : 22712.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
          13 (0.63 % of base) : 17076.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
          13 (1.86 % of base) : 3637.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.71 % of base) : 3932.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.26 % of base) : 3865.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 (1.46 % of base) : 4051.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
          10 (2.11 % of base) : 18046.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
          10 (0.32 % of base) : 10876.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (FullOpts)
           7 (0.75 % of base) : 8943.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[System.__Canon](System.Reflection.PropertyInfo):System.Action`2[System.__Canon,System.__Canon]:this (FullOpts)
           2 (0.06 % of base) : 18070.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions:ValidateOptions(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic]):this (FullOpts)
           2 (0.11 % of base) : 19884.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (FullOpts)
           1 (0.11 % of base) : 20908.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (FullOpts)

Top method improvements (bytes):
         -10 (-0.32 % of base) : 18092.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -9 (-20.45 % of base) : 8773.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -6 (-1.08 % of base) : 3137.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -4 (-0.04 % of base) : 6983.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
          -4 (-0.19 % of base) : 6975.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.05 % of base) : 18775.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) : 8857.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) : 15813.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
          -2 (-0.73 % of base) : 6884.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -2 (-2.11 % of base) : 21198.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
          -2 (-0.27 % of base) : 3881.dasm - System.Reflection.RuntimeModule:ResolveMethod(int,System.Type[],System.Type[]):System.Reflection.MethodBase:this (FullOpts)

Top method regressions (percentages):
          30 (9.97 % of base) : 5075.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
          60 (5.94 % of base) : 5085.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          90 (3.85 % of base) : 3885.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
          93 (2.36 % of base) : 3778.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
          60 (2.25 % of base) : 3839.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
          10 (2.11 % of base) : 18046.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
          13 (1.86 % of base) : 3637.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.71 % of base) : 3932.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) : 4051.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
          13 (1.26 % of base) : 3865.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 (0.98 % of base) : 22712.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
           7 (0.75 % of base) : 8943.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[System.__Canon](System.Reflection.PropertyInfo):System.Action`2[System.__Canon,System.__Canon]:this (FullOpts)
          13 (0.64 % of base) : 9156.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
          13 (0.63 % of base) : 17076.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
          13 (0.53 % of base) : 9069.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
          43 (0.33 % of base) : 10931.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)
          10 (0.32 % of base) : 10876.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (FullOpts)
           1 (0.28 % of base) : 4889.dasm - Sigil.Emit`1[System.__Canon]:NewObject(System.Reflection.ConstructorInfo):Sigil.Emit`1[System.__Canon]:this (FullOpts)
           1 (0.15 % of base) : 1275.dasm - System.IO.StreamReader:DetectEncoding():this (FullOpts)
           1 (0.14 % of base) : 2638.dasm - System.Runtime.Serialization.XmlObjectSerializer:WriteObject(System.IO.Stream,System.Object):this (FullOpts)

Top method improvements (percentages):
          -9 (-20.45 % of base) : 8773.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -2 (-2.11 % of base) : 21198.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
          -6 (-1.08 % of base) : 3137.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -2 (-0.73 % of base) : 6884.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -2 (-0.33 % of base) : 8857.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateGet[System.__Canon](System.Reflection.PropertyInfo):System.Func`2[System.__Canon,System.__Canon]:this (FullOpts)
         -10 (-0.32 % of base) : 18092.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -2 (-0.27 % of base) : 3881.dasm - System.Reflection.RuntimeModule:ResolveMethod(int,System.Type[],System.Type[]):System.Reflection.MethodBase:this (FullOpts)
          -4 (-0.19 % of base) : 6975.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.05 % of base) : 18775.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) : 6983.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
          -2 (-0.02 % of base) : 15813.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)


benchmarks.run_pgo.windows.x64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 34024626 (overridden on cmd)
Total bytes of diff: 34024634 (overridden on cmd)
Total bytes of delta: 8 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          13 : 75956.dasm (1.01 % of base)
           1 : 64060.dasm (0.09 % of base)
           1 : 69030.dasm (0.02 % of base)
           1 : 91116.dasm (0.27 % of base)

Top file improvements (bytes):
          -6 : 94811.dasm (-0.08 % of base)
          -2 : 47117.dasm (-0.02 % of base)

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

Top method regressions (bytes):
          13 (1.01 % of base) : 75956.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
           1 (0.02 % of base) : 69030.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindNamespaceOrTypeOrAliasSymbol(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],ubyte):Microsoft.CodeAnalysis.CSharp.Binder+NamespaceOrTypeOrAliasSymbolWithAnnotations:this (Tier1)
           1 (0.09 % of base) : 64060.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)
           1 (0.27 % of base) : 91116.dasm - System.Net.Sockets.Socket:DisposeCachedTaskSocketAsyncEventArgs():this (Tier1)

Top method improvements (bytes):
          -6 (-0.08 % of base) : 94811.dasm - System.Net.Sockets.Tests.SocketSendReceivePerfTest+<SendAsyncThenReceiveAsync_Task>d__9:MoveNext():this (Tier1-OSR)
          -2 (-0.02 % of base) : 47117.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)

Top method regressions (percentages):
          13 (1.01 % of base) : 75956.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
           1 (0.27 % of base) : 91116.dasm - System.Net.Sockets.Socket:DisposeCachedTaskSocketAsyncEventArgs():this (Tier1)
           1 (0.09 % of base) : 64060.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)
           1 (0.02 % of base) : 69030.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindNamespaceOrTypeOrAliasSymbol(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol],ubyte):Microsoft.CodeAnalysis.CSharp.Binder+NamespaceOrTypeOrAliasSymbolWithAnnotations:this (Tier1)

Top method improvements (percentages):
          -6 (-0.08 % of base) : 94811.dasm - System.Net.Sockets.Tests.SocketSendReceivePerfTest+<SendAsyncThenReceiveAsync_Task>d__9:MoveNext():this (Tier1-OSR)
          -2 (-0.02 % of base) : 47117.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)


benchmarks.run_tiered.windows.x64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 12549220 (overridden on cmd)
Total bytes of diff: 12549232 (overridden on cmd)
Total bytes of delta: 12 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          13 : 45522.dasm (1.01 % of base)
           1 : 42290.dasm (0.11 % of base)

Top file improvements (bytes):
          -2 : 30709.dasm (-0.02 % of base)

3 total files with Code Size differences (1 improved, 2 regressed), 8 unchanged.

Top method regressions (bytes):
          13 (1.01 % of base) : 45522.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
           1 (0.11 % of base) : 42290.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)

Top method improvements (bytes):
          -2 (-0.02 % of base) : 30709.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)

Top method regressions (percentages):
          13 (1.01 % of base) : 45522.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
           1 (0.11 % of base) : 42290.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)

Top method improvements (percentages):
          -2 (-0.02 % of base) : 30709.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)

3 total methods with Code Size differences (1 improved, 2 regressed).


coreclr_tests.run.windows.x64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 407341561 (overridden on cmd)
Total bytes of diff: 407347695 (overridden on cmd)
Total bytes of delta: 6134 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
         370 : 507133.dasm (5.75 % of base)
         370 : 477114.dasm (5.75 % of base)
         370 : 507294.dasm (5.75 % of base)
         370 : 477878.dasm (7.17 % of base)
         370 : 506945.dasm (7.17 % of base)
         370 : 507149.dasm (5.75 % of base)
         370 : 477352.dasm (5.75 % of base)
         370 : 506989.dasm (7.17 % of base)
         370 : 507431.dasm (5.75 % of base)
         341 : 514490.dasm (6.86 % of base)
         153 : 514506.dasm (2.95 % of base)
         120 : 478385.dasm (4.43 % of base)
         120 : 579731.dasm (2.80 % of base)
          60 : 507136.dasm (5.24 % of base)
          60 : 477404.dasm (5.26 % of base)
          60 : 507060.dasm (5.24 % of base)
          60 : 507079.dasm (5.26 % of base)
          60 : 477884.dasm (5.09 % of base)
          60 : 506844.dasm (5.74 % of base)
          60 : 506976.dasm (5.26 % of base)

Top file improvements (bytes):
        -168 : 515696.dasm (-2.41 % of base)
        -144 : 510120.dasm (-2.03 % of base)
         -80 : 509929.dasm (-1.29 % of base)
         -80 : 509241.dasm (-1.29 % of base)
         -72 : 513353.dasm (-15.82 % of base)
         -72 : 515658.dasm (-1.03 % of base)
         -71 : 515279.dasm (-1.01 % of base)
         -71 : 529885.dasm (-20.23 % of base)
         -71 : 515710.dasm (-1.00 % of base)
         -71 : 515337.dasm (-1.00 % of base)
         -63 : 515701.dasm (-0.86 % of base)
         -63 : 515326.dasm (-0.93 % of base)
         -55 : 510225.dasm (-1.29 % of base)
         -55 : 509688.dasm (-0.93 % of base)
         -48 : 514437.dasm (-0.87 % of base)
         -45 : 509554.dasm (-0.63 % of base)
         -45 : 510147.dasm (-0.61 % of base)
         -40 : 515664.dasm (-0.66 % of base)
         -40 : 515285.dasm (-0.66 % of base)
         -39 : 515667.dasm (-0.65 % of base)

84 total files with Code Size differences (38 improved, 46 regressed), 20 unchanged.

Top method regressions (bytes):
         370 (5.75 % of base) : 507294.dasm - Test_AbstractBase02:TestEntryPoint():int (FullOpts)
         370 (5.75 % of base) : 477114.dasm - Test_BaseClass02:TestEntryPoint():int (FullOpts)
         370 (5.75 % of base) : 477352.dasm - Test_class01:TestEntryPoint():int (FullOpts)
         370 (5.75 % of base) : 507149.dasm - Test_NestedBaseClass06:TestEntryPoint():int (FullOpts)
         370 (5.75 % of base) : 507133.dasm - Test_NestedClass01:TestEntryPoint():int (FullOpts)
         370 (5.75 % of base) : 507431.dasm - Test_NestedClass03:TestEntryPoint():int (FullOpts)
         370 (7.17 % of base) : 506989.dasm - Test_NestedStruct01:TestEntryPoint():int (FullOpts)
         370 (7.17 % of base) : 506945.dasm - Test_NestedStruct03:TestEntryPoint():int (FullOpts)
         370 (7.17 % of base) : 477878.dasm - Test_struct01:TestEntryPoint():int (FullOpts)
         341 (6.86 % of base) : 514490.dasm - Test_unsafe_5.TestApp:TestEntryPoint():int (FullOpts)
         153 (2.95 % of base) : 514506.dasm - Test_unsafe_6.TestApp:TestEntryPoint():int (FullOpts)
         120 (2.80 % of base) : 579731.dasm - Program:RuntimeMethodHandle():ubyte (FullOpts)
         120 (4.43 % of base) : 478385.dasm - VectorTest:TestEntryPoint():int (FullOpts)
          60 (5.24 % of base) : 507136.dasm - Test_AbstractBase01:TestEntryPoint():int (FullOpts)
          60 (5.26 % of base) : 507079.dasm - Test_AbstractBase07:TestEntryPoint():int (FullOpts)
          60 (5.26 % of base) : 477404.dasm - Test_Class02:TestEntryPoint():int (FullOpts)
          60 (5.24 % of base) : 507060.dasm - Test_NestedBaseClass03:TestEntryPoint():int (FullOpts)
          60 (5.74 % of base) : 506844.dasm - Test_NestedInterface02:TestEntryPoint():int (FullOpts)
          60 (5.26 % of base) : 506976.dasm - Test_NestedInterface03:TestEntryPoint():int (FullOpts)
          60 (5.09 % of base) : 477884.dasm - Test_Struct02:TestEntryPoint():int (FullOpts)

Top method improvements (bytes):
        -168 (-2.41 % of base) : 515696.dasm - TestApp:RunAllTests():int (FullOpts)
        -144 (-2.03 % of base) : 510120.dasm - TestApp:RunAllTests():int (FullOpts)
         -80 (-1.29 % of base) : 509929.dasm - TestApp:RunAllTests():int (FullOpts)
         -80 (-1.29 % of base) : 509241.dasm - TestApp:RunAllTests():int (FullOpts)
         -72 (-15.82 % of base) : 513353.dasm - Test_200w1d_02.testout1:TestEntryPoint():int (FullOpts)
         -72 (-1.03 % of base) : 515658.dasm - TestApp:RunAllTests():int (FullOpts)
         -71 (-1.01 % of base) : 515279.dasm - TestApp:RunAllTests():int (FullOpts)
         -71 (-1.00 % of base) : 515710.dasm - TestApp:RunAllTests():int (FullOpts)
         -71 (-1.00 % of base) : 515337.dasm - TestApp:RunAllTests():int (FullOpts)
         -71 (-20.23 % of base) : 529885.dasm - testout1:Func(testout1+CL,testout1+VT):long (FullOpts)
         -63 (-0.86 % of base) : 515701.dasm - TestApp:RunAllTests():int (FullOpts)
         -63 (-0.93 % of base) : 515326.dasm - TestApp:RunAllTests():int (FullOpts)
         -55 (-1.29 % of base) : 510225.dasm - TestApp:RunAllTests():int (FullOpts)
         -55 (-0.93 % of base) : 509688.dasm - TestApp:RunAllTests():int (FullOpts)
         -48 (-0.87 % of base) : 514437.dasm - Test_unsafe_2.TestApp:TestEntryPoint():int (FullOpts)
         -45 (-0.63 % of base) : 509554.dasm - TestApp:RunAllTests():int (FullOpts)
         -45 (-0.61 % of base) : 510147.dasm - TestApp:RunAllTests():int (FullOpts)
         -40 (-0.66 % of base) : 515664.dasm - TestApp:RunAllTests():int (FullOpts)
         -40 (-0.66 % of base) : 515285.dasm - TestApp:RunAllTests():int (FullOpts)
         -39 (-0.65 % of base) : 515667.dasm - TestApp:RunAllTests():int (FullOpts)

Top method regressions (percentages):
          10 (21.74 % of base) : 580715.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
          10 (14.08 % of base) : 525532.dasm - Runtime_95347:Test():int (FullOpts)
          10 (13.89 % of base) : 477488.dasm - Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
          10 (13.51 % of base) : 570219.dasm - ILVerify.Verifier+<>c:<.ctor>b__5_0():System.Resources.ResourceManager:this (FullOpts)
          30 (12.30 % of base) : 477414.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          30 (12.30 % of base) : 477422.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          30 (12.30 % of base) : 477130.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          30 (12.30 % of base) : 507417.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          20 (12.20 % of base) : 477400.dasm - Gen`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
          20 (12.20 % of base) : 477126.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
          20 (12.20 % of base) : 477120.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
          20 (12.20 % of base) : 506856.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
          20 (12.20 % of base) : 506966.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
          20 (12.05 % of base) : 477411.dasm - Gen`2[double,System.Guid]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
          10 (11.36 % of base) : 477354.dasm - Gen`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
          10 (11.36 % of base) : 477116.dasm - GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
          10 (11.36 % of base) : 507296.dasm - GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
          10 (11.36 % of base) : 507150.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 (11.36 % of base) : 507300.dasm - Outer+GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
          10 (11.36 % of base) : 506947.dasm - Outer+GenInner`1[ValX1`1[ValX1`1[int]]]:InstVerify(System.Type):ubyte:this (FullOpts)

Top method improvements (percentages):
         -27 (-22.69 % of base) : 529665.dasm - bug1:TestEntryPoint() (FullOpts)
          -9 (-20.45 % of base) : 489700.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
         -71 (-20.23 % of base) : 529885.dasm - testout1:Func(testout1+CL,testout1+VT):long (FullOpts)
         -18 (-16.07 % of base) : 476889.dasm - StaticValueField:TestEntryPoint():int (FullOpts)
         -72 (-15.82 % of base) : 513353.dasm - Test_200w1d_02.testout1:TestEntryPoint():int (FullOpts)
          -9 (-14.06 % of base) : 580672.dasm - Microsoft.Build.Framework.NativeMethods:get_IsWindows():ubyte (FullOpts)
         -37 (-11.01 % of base) : 529873.dasm - bug1:TestEntryPoint() (FullOpts)
          -9 (-9.18 % of base) : 521400.dasm - testout1:Func_0():double (FullOpts)
          -9 (-8.33 % of base) : 527344.dasm - Test4:Run():uint (FullOpts)
          -6 (-8.11 % of base) : 521668.dasm - Test_b18049:main():int (FullOpts)
          -9 (-7.76 % of base) : 529854.dasm - testout1:Func_0_2(testout1+CL_0_2,ulong) (FullOpts)
          -7 (-7.69 % of base) : 484789.dasm - ZeroOffsetFieldSeqs:ProblemWithStaticUnions():ubyte (FullOpts)
          -6 (-7.06 % of base) : 527370.dasm - GitHub_18522:TestEntryPoint():int (FullOpts)
         -27 (-6.91 % of base) : 580732.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
         -14 (-5.81 % of base) : 522974.dasm - TestClass13:Method0():this (FullOpts)
         -18 (-5.07 % of base) : 529856.dasm - testout1:Func():long (FullOpts)
         -18 (-3.97 % of base) : 383336.dasm - testout1:TestEntryPoint():int (FullOpts)
         -18 (-3.97 % of base) : 383367.dasm - testout1:TestEntryPoint():int (FullOpts)
          -9 (-3.53 % of base) : 527366.dasm - GitHub_18497:TestEntryPoint():int (FullOpts)
          -9 (-3.42 % of base) : 580793.dasm - Microsoft.Build.Framework.NativeMethods:get_IsMono():ubyte (FullOpts)


libraries.pmi.windows.x64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 61945756 (overridden on cmd)
Total bytes of diff: 61948110 (overridden on cmd)
Total bytes of delta: 2354 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          72 : 265597.dasm (2.77 % of base)
          50 : 244065.dasm (4.49 % of base)
          43 : 225788.dasm (0.33 % of base)
          40 : 3858.dasm (4.60 % of base)
          40 : 3859.dasm (6.11 % of base)
          40 : 3475.dasm (2.02 % of base)
          40 : 3857.dasm (4.59 % of base)
          30 : 187662.dasm (3.25 % of base)
          30 : 167792.dasm (3.25 % of base)
          30 : 7557.dasm (11.72 % of base)
          30 : 266035.dasm (1.67 % of base)
          26 : 294093.dasm (1.25 % of base)
          24 : 3018.dasm (1.33 % of base)
          22 : 117271.dasm (0.28 % of base)
          22 : 117240.dasm (0.29 % of base)
          20 : 309215.dasm (1.04 % of base)
          20 : 265999.dasm (1.15 % of base)
          20 : 244028.dasm (2.79 % of base)
          20 : 149760.dasm (2.62 % of base)
          20 : 265596.dasm (0.77 % of base)

Top file improvements (bytes):
         -16 : 266340.dasm (-1.79 % of base)
         -10 : 83409.dasm (-0.25 % of base)
          -6 : 237116.dasm (-1.08 % of base)
          -4 : 61565.dasm (-0.08 % of base)
          -4 : 254639.dasm (-0.04 % of base)
          -3 : 57451.dasm (-0.16 % of base)
          -3 : 117347.dasm (-0.13 % of base)
          -3 : 205304.dasm (-0.12 % of base)
          -2 : 108777.dasm (-0.79 % of base)
          -2 : 204766.dasm (-0.02 % of base)
          -2 : 205218.dasm (-0.03 % of base)
          -2 : 95445.dasm (-0.17 % of base)
          -2 : 95450.dasm (-0.54 % of base)
          -2 : 120909.dasm (-0.04 % of base)
          -2 : 201157.dasm (-2.94 % of base)
          -2 : 290693.dasm (-0.35 % of base)
          -2 : 290694.dasm (-2.11 % of base)
          -2 : 95221.dasm (-0.08 % of base)
          -2 : 195972.dasm (-0.30 % of base)
          -2 : 75297.dasm (-0.41 % of base)

64 total files with Code Size differences (25 improved, 39 regressed), 20 unchanged.

Top method regressions (bytes):
          72 (2.77 % of base) : 265597.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.49 % of base) : 244065.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          43 (0.33 % of base) : 225788.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.02 % of base) : 3475.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.Adapters:ConvImmutableTypeToMutableType(Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,System.Type):System.Type (FullOpts)
          40 (4.60 % of base) : 3858.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.11 % of base) : 3859.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.59 % of base) : 3857.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 (11.72 % of base) : 7557.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
          30 (1.67 % of base) : 266035.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.25 % of base) : 187662.dasm - System.Configuration.ConfigurationLockCollection:Add(System.String):this (FullOpts)
          30 (3.25 % of base) : 167792.dasm - System.Configuration.ConfigurationLockCollection:Add(System.String):this (FullOpts)
          26 (1.25 % of base) : 294093.dasm - System.Reflection.Emit.IgnoreAccessChecksToAttributeBuilder:AddToModule(System.Reflection.Emit.ModuleBuilder):System.Reflection.ConstructorInfo (FullOpts)
          24 (1.33 % of base) : 3018.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)
          22 (0.29 % of base) : 117240.dasm - Microsoft.CodeAnalysis.VisualBasic.LocalRewriter:FinishNonObjectForLoop(Microsoft.CodeAnalysis.VisualBasic.BoundForToStatement,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression):Microsoft.CodeAnalysis.VisualBasic.BoundBlock:this (FullOpts)
          22 (0.28 % of base) : 117271.dasm - Microsoft.CodeAnalysis.VisualBasic.LocalRewriter:LateCallOrGet(Microsoft.CodeAnalysis.VisualBasic.BoundLateMemberAccess,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression],System.Collections.Immutable.ImmutableArray`1[System.String],ubyte):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          20 (2.79 % of base) : 244028.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactory[ubyte](System.Type[]):Microsoft.Extensions.DependencyInjection.ObjectFactory`1[ubyte] (FullOpts)
          20 (2.62 % of base) : 149760.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[ubyte](System.Reflection.FieldInfo):System.Action`2[ubyte,System.Object]:this (FullOpts)
          20 (0.77 % of base) : 265596.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[System.__Canon]():System.Func`2[System.__Canon,System.__Canon] (FullOpts)
          20 (1.15 % of base) : 265999.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:GetActivator(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
          20 (1.04 % of base) : 309215.dasm - Xunit.Sdk.ExecutionContextHelper:EnsureInitialized() (FullOpts)

Top method improvements (bytes):
         -16 (-1.79 % of base) : 266340.dasm - System.ConsolePal:ReadKey(ubyte):System.ConsoleKeyInfo (FullOpts)
         -10 (-0.25 % of base) : 83409.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -6 (-1.08 % of base) : 237116.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -4 (-0.08 % of base) : 61565.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions:ValidateOptions(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic]):this (FullOpts)
          -4 (-0.04 % of base) : 254639.dasm - R2RTest.BuildFolderSet:WriteBuildStatistics(System.IO.StreamWriter):this (FullOpts)
          -3 (-0.16 % of base) : 57451.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitUsingStatement(Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax):this (FullOpts)
          -3 (-0.13 % of base) : 117347.dasm - Microsoft.CodeAnalysis.VisualBasic.LocalRewriter:EnsureStringHashFunction(Microsoft.CodeAnalysis.VisualBasic.BoundSelectStatement):this (FullOpts)
          -3 (-0.12 % of base) : 205304.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.05 % of base) : 85991.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.10 % of base) : 86307.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.41 % of base) : 75297.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
          -2 (-0.08 % of base) : 95221.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) : 120909.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.17 % of base) : 95445.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)
          -2 (-0.54 % of base) : 95450.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.79 % of base) : 108777.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ForBlockContext:EndBlock(Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.StatementSyntax):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.BlockContext:this (FullOpts)
          -2 (-0.30 % of base) : 195972.dasm - System.Data.OleDb.OleDbCommand:.ctor(System.Data.OleDb.OleDbCommand):this (FullOpts)
          -2 (-2.94 % of base) : 201157.dasm - System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
          -2 (-0.03 % of base) : 205218.dasm - System.Net.Http.Http3RequestStream+<SendAsync>d__29:MoveNext():this (FullOpts)
          -2 (-0.02 % of base) : 204766.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)

Top method regressions (percentages):
          13 (22.41 % of base) : 265622.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
          13 (22.41 % of base) : 265626.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
          13 (22.41 % of base) : 265610.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
          13 (22.41 % of base) : 265614.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
          13 (22.41 % of base) : 265605.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)
          13 (22.41 % of base) : 266038.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
          10 (21.74 % of base) : 164974.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
          13 (16.46 % of base) : 162380.dasm - Microsoft.Build.BackEnd.TaskParameterTypeVerifier:IsAssignableToITask(System.Type):ubyte (FullOpts)
          10 (15.38 % of base) : 35768.dasm - Microsoft.Diagnostics.Tracing.Stacks.StackSourceWriterHelper:GetExporterInfo():System.String (FullOpts)
          10 (13.51 % of base) : 240955.dasm - Internal.TypeSystem.TypeSystemException+<>c:<.cctor>b__20_0():System.Resources.ResourceManager:this (FullOpts)
          13 (11.82 % of base) : 266004.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:.cctor() (FullOpts)
          30 (11.72 % of base) : 7557.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
          13 (9.49 % of base) : 266027.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)
          13 (9.42 % of base) : 265618.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:.cctor() (FullOpts)
          13 (9.22 % of base) : 33599.dasm - Dia2Lib.DiaLoader:GetDiaSourceObject():Dia2Lib.IDiaDataSource3 (FullOpts)
          14 (8.97 % of base) : 61923.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          14 (8.97 % of base) : 103462.dasm - Microsoft.CodeAnalysis.VisualBasic.ErrorFactory:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          13 (8.28 % of base) : 308810.dasm - Xunit.Serialization.XunitSerializationInfo:GetValue[int](System.String):int:this (FullOpts)
          13 (8.28 % of base) : 310685.dasm - Xunit.Serialization.XunitSerializationInfo:GetValue[int](System.String):int:this (FullOpts)
          13 (8.23 % of base) : 310688.dasm - Xunit.Serialization.XunitSerializationInfo:GetValue[long](System.String):long:this (FullOpts)

Top method improvements (percentages):
          -2 (-2.94 % of base) : 201157.dasm - System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
          -2 (-2.11 % of base) : 290694.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
         -16 (-1.79 % of base) : 266340.dasm - System.ConsolePal:ReadKey(ubyte):System.ConsoleKeyInfo (FullOpts)
          -6 (-1.08 % of base) : 237116.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -2 (-0.79 % of base) : 108777.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ForBlockContext:EndBlock(Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.StatementSyntax):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.BlockContext:this (FullOpts)
          -2 (-0.54 % of base) : 95450.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.41 % of base) : 75297.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
          -2 (-0.35 % of base) : 290693.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ArraySegment`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts)
          -2 (-0.30 % of base) : 195972.dasm - System.Data.OleDb.OleDbCommand:.ctor(System.Data.OleDb.OleDbCommand):this (FullOpts)
         -10 (-0.25 % of base) : 83409.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -2 (-0.17 % of base) : 95445.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.16 % of base) : 57451.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitUsingStatement(Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax):this (FullOpts)
          -3 (-0.13 % of base) : 117347.dasm - Microsoft.CodeAnalysis.VisualBasic.LocalRewriter:EnsureStringHashFunction(Microsoft.CodeAnalysis.VisualBasic.BoundSelectStatement):this (FullOpts)
          -3 (-0.12 % of base) : 205304.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.12 % of base) : 95246.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlNamespace(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          -2 (-0.10 % of base) : 86307.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)
          -4 (-0.08 % of base) : 61565.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions:ValidateOptions(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic]):this (FullOpts)
          -2 (-0.08 % of base) : 95221.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)
          -1 (-0.07 % of base) : 95248.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlCData(Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlCDataSectionSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder+XmlElementRootInfo,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          -1 (-0.07 % of base) : 95213.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlComment(Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlCommentSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder+XmlElementRootInfo,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)


libraries_tests.run.windows.x64.Release.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 281668253 (overridden on cmd)
Total bytes of diff: 281679334 (overridden on cmd)
Total bytes of delta: 11081 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          30 : 120928.dasm (0.48 % of base)
          30 : 537547.dasm (0.26 % of base)
          26 : 72384.dasm (2.33 % of base)
          20 : 120110.dasm (0.93 % of base)
          20 : 120111.dasm (0.80 % of base)
          20 : 120752.dasm (0.57 % of base)
          20 : 285304.dasm (2.97 % of base)
          20 : 536287.dasm (0.59 % of base)
          20 : 119835.dasm (4.13 % of base)
          20 : 120891.dasm (0.48 % of base)
          16 : 114718.dasm (5.82 % of base)
          14 : 120103.dasm (0.17 % of base)
          13 : 248280.dasm (6.99 % of base)
          13 : 257496.dasm (6.99 % of base)
          13 : 288885.dasm (6.99 % of base)
          13 : 295948.dasm (6.99 % of base)
          13 : 322056.dasm (6.99 % of base)
          13 : 323681.dasm (6.99 % of base)
          13 : 372273.dasm (6.99 % of base)
          13 : 387140.dasm (6.99 % of base)

Top file improvements (bytes):
         -30 : 636307.dasm (-0.32 % of base)
         -24 : 624026.dasm (-0.57 % of base)
         -18 : 635581.dasm (-0.20 % of base)
         -18 : 645384.dasm (-0.18 % of base)
         -18 : 645390.dasm (-0.22 % of base)
         -16 : 632010.dasm (-0.25 % of base)
         -16 : 627771.dasm (-0.21 % of base)
         -15 : 627568.dasm (-0.27 % of base)
         -15 : 627562.dasm (-0.14 % of base)
         -13 : 84476.dasm (-7.47 % of base)
         -13 : 60945.dasm (-7.47 % of base)
         -13 : 627554.dasm (-0.50 % of base)
         -12 : 627636.dasm (-0.32 % of base)
         -12 : 637854.dasm (-0.42 % of base)
         -12 : 623928.dasm (-0.30 % of base)
         -12 : 624007.dasm (-0.44 % of base)
         -12 : 624027.dasm (-0.36 % of base)
         -11 : 631839.dasm (-0.13 % of base)
         -10 : 639157.dasm (-0.23 % of base)
          -9 : 263995.dasm (-2.80 % of base)

98 total files with Code Size differences (38 improved, 60 regressed), 20 unchanged.

Top method regressions (bytes):
          30 (0.48 % of base) : 120928.dasm - Microsoft.Extensions.DependencyInjection.Tests.ServiceProviderContainerTests:ResolvesConstantValueTypeServicesCorrectly(int):this (Tier1)
          30 (0.26 % of base) : 537547.dasm - System.Text.Tests.TranscodingStreamTests+<RunReadTestAsync>d__29:MoveNext():this (Tier1)
          26 (2.33 % of base) : 72384.dasm - System.Reflection.FieldAccessor:Initialize():this (Instrumented Tier1)
          20 (0.80 % of base) : 120111.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactory(System.Type,System.Type[]):Microsoft.Extensions.DependencyInjection.ObjectFactory (Tier1)
          20 (4.13 % of base) : 119835.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (Tier1)
          20 (0.93 % of base) : 120110.dasm - Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests:CreateInstanceFromFactory(System.IServiceProvider,System.Type,System.Object[]):System.Object (Tier1)
          20 (0.57 % of base) : 120752.dasm - Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests:ResolvingEnumerableContainingOpenGenericServiceUsesCorrectSlot():this (Tier1)
          20 (0.48 % of base) : 120891.dasm - Microsoft.Extensions.DependencyInjection.Tests.ServiceProviderContainerTests+<AddDisposablesAndAsyncDisposables_DisposeAsync_AllDisposed>d__29:MoveNext():this (Tier1)
          20 (2.97 % of base) : 285304.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (Tier0-FullOpts)
          20 (0.59 % of base) : 536287.dasm - Moq.ExpressionExtensions:IsMatch(System.Linq.Expressions.Expression,byref):ubyte (Tier1)
          16 (5.82 % of base) : 114718.dasm - System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
          14 (0.17 % of base) : 120103.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateInstance(System.IServiceProvider,System.Type,System.Object[]):System.Object (Tier1)
          13 (1.75 % of base) : 673952.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
          13 (1.75 % of base) : 674316.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
          13 (1.75 % of base) : 675264.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
          13 (1.75 % of base) : 673836.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
          13 (1.76 % of base) : 670296.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
          13 (8.50 % of base) : 196278.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
          13 (8.50 % of base) : 265974.dasm - System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
          13 (8.50 % of base) : 80890.dasm - System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)

Top method improvements (bytes):
         -30 (-0.32 % of base) : 636307.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)
         -24 (-0.57 % of base) : 624026.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:CheckIfAttributeShouldBeEmbedded(int,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location):ubyte:this (Tier1)
         -18 (-0.20 % of base) : 635581.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ValidateAttributeSemantics(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
         -18 (-0.18 % of base) : 645384.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SynthesizedInlineArrayAsReadOnlySpanMethod:GenerateMethodBody(Microsoft.CodeAnalysis.CSharp.TypeCompilationState,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
         -18 (-0.22 % of base) : 645390.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SynthesizedInlineArrayElementRefMethod:GenerateMethodBody(Microsoft.CodeAnalysis.CSharp.TypeCompilationState,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
         -16 (-0.25 % of base) : 632010.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindArrayCreationWithInitializer(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.InitializerExpressionSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.ArrayTypeSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundExpression],ubyte):Microsoft.CodeAnalysis.CSharp.BoundArrayCreation:this (Tier1)
         -16 (-0.21 % of base) : 627771.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitForStatement(Microsoft.CodeAnalysis.CSharp.Syntax.ForStatementSyntax):this (Tier1)
         -15 (-0.14 % of base) : 627562.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindLocalFunctionStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalFunctionStatementSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundStatement:this (Tier1)
         -15 (-0.27 % of base) : 627568.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.LocalFunctionSymbol:GetDeclarationDiagnostics(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
         -13 (-0.50 % of base) : 627554.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:FindLocalFunction(Microsoft.CodeAnalysis.CSharp.Syntax.LocalFunctionStatementSyntax,Microsoft.CodeAnalysis.CSharp.Binder):Microsoft.CodeAnalysis.CSharp.Symbols.LocalFunctionSymbol (Tier1)
         -13 (-7.47 % of base) : 84476.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
         -13 (-7.47 % of base) : 60945.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
         -12 (-0.42 % of base) : 637854.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindIsPatternExpression(Microsoft.CodeAnalysis.CSharp.Syntax.IsPatternExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
         -12 (-0.36 % of base) : 624027.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:CheckIfAttributeShouldBeEmbedded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,int,int,System.Nullable`1[int]):ubyte:this (Tier1)
         -12 (-0.44 % of base) : 624007.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ParameterHelpers+<>c:<MakeParameters>b__0_0(Microsoft.CodeAnalysis.CSharp.Binder,Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax,ubyte,int,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.Symbols.SourceParameterSymbol:this (Tier1)
         -12 (-0.30 % of base) : 623928.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceConstructorSymbol:.ctor(Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.CSharp.Syntax.ConstructorDeclarationSyntax,int,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
         -12 (-0.32 % of base) : 627636.dasm - Microsoft.CodeAnalysis.CSharp.SynthesizedClosureMethod:EnsureAttributesExist(Microsoft.CodeAnalysis.CSharp.TypeCompilationState):this (Tier1)
         -11 (-0.13 % of base) : 631839.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindCollectionInitializerExpression(Microsoft.CodeAnalysis.CSharp.Syntax.InitializerExpressionSyntax,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.CSharp.BoundObjectOrCollectionValuePlaceholder):Microsoft.CodeAnalysis.CSharp.BoundCollectionInitializerExpression:this (Tier1)
         -10 (-0.23 % of base) : 639157.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter+IsPatternExpressionLinearLocalRewriter:ProduceLinearTestSequence(Microsoft.CodeAnalysis.CSharp.BoundDecisionDagNode,Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
          -9 (-0.10 % of base) : 627481.dasm - Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState,System.__Canon]:VisitLocalFunctionStatement(Microsoft.CodeAnalysis.CSharp.BoundLocalFunctionStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (Tier1)

Top method regressions (percentages):
          13 (8.50 % of base) : 196278.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
          13 (8.50 % of base) : 265974.dasm - System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
          13 (8.50 % of base) : 80890.dasm - System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
          13 (6.99 % of base) : 248280.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 257496.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 288885.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 295948.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 322056.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 323681.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 372273.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 387140.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 459880.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 462921.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 528576.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 535357.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 94409.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 130093.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 314421.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 316637.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)
          13 (6.99 % of base) : 351900.dasm - System.RuntimeTypeHandle:IsComObject(System.RuntimeType,ubyte):ubyte (Instrumented Tier1)

Top method improvements (percentages):
         -13 (-7.47 % of base) : 84476.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
         -13 (-7.47 % of base) : 60945.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
          -9 (-4.55 % of base) : 650277.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
          -9 (-2.80 % of base) : 263995.dasm - Microsoft.Diagnostics.Tracing.Session.TraceEventProviderOptions:get_FilteringSupported():ubyte (Tier1)
          -5 (-1.87 % of base) : 649985.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:get_IsSimpleProgram():ubyte:this (Tier1)
          -3 (-1.60 % of base) : 626247.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:HasInitializer(Microsoft.CodeAnalysis.CSharp.Symbol):ubyte (Tier1)
          -6 (-1.15 % of base) : 600245.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 570575.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 586642.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 584361.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 570899.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 584969.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 570893.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.DateTimeOffset]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 601681.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[long]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 602269.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[System.Text.Json.Serialization.Tests.StructList`1[int]]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 601994.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.StructSet`1[int]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 570881.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 584757.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 584973.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.15 % of base) : 586589.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ushort]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)


librariestestsnotieredcompilation.run.windows.x64.Release.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 136469148 (overridden on cmd)
Total bytes of diff: 136492206 (overridden on cmd)
Total bytes of delta: 23058 (0.02 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
         186 : 275998.dasm (12.09 % of base)
         150 : 90629.dasm (1.69 % of base)
         150 : 90501.dasm (1.69 % of base)
         150 : 90519.dasm (1.69 % of base)
         150 : 90633.dasm (1.69 % of base)
          90 : 84889.dasm (1.86 % of base)
          90 : 84966.dasm (1.87 % of base)
          80 : 90622.dasm (1.56 % of base)
          80 : 84315.dasm (2.05 % of base)
          80 : 90487.dasm (1.55 % of base)
          80 : 90507.dasm (1.55 % of base)
          80 : 90638.dasm (1.56 % of base)
          72 : 91347.dasm (3.28 % of base)
          70 : 90631.dasm (1.57 % of base)
          70 : 90632.dasm (1.56 % of base)
          70 : 244326.dasm (1.39 % of base)
          70 : 90630.dasm (1.56 % of base)
          70 : 90036.dasm (1.45 % of base)
          70 : 90547.dasm (1.57 % of base)
          60 : 144264.dasm (1.93 % of base)

Top file improvements (bytes):
        -159 : 152611.dasm (-2.14 % of base)
         -16 : 94066.dasm (-1.81 % of base)
         -10 : 46551.dasm (-0.36 % of base)
         -10 : 53201.dasm (-0.36 % of base)
         -10 : 5531.dasm (-0.32 % of base)
          -9 : 21574.dasm (-20.45 % of base)
          -7 : 238670.dasm (-0.18 % of base)
          -6 : 149905.dasm (-1.08 % of base)
          -4 : 21045.dasm (-0.04 % of base)
          -3 : 45668.dasm (-0.09 % of base)
          -3 : 51507.dasm (-0.09 % of base)
          -2 : 167044.dasm (-2.11 % of base)
          -2 : 137823.dasm (-2.78 % of base)
          -2 : 160120.dasm (-0.35 % of base)
          -2 : 20698.dasm (-0.73 % of base)
          -2 : 21042.dasm (-0.10 % of base)
          -2 : 23118.dasm (-0.41 % of base)
          -2 : 246846.dasm (-0.32 % of base)
          -2 : 252158.dasm (-0.32 % of base)
          -2 : 268742.dasm (-1.25 % of base)

66 total files with Code Size differences (24 improved, 42 regressed), 20 unchanged.

Top method regressions (bytes):
         186 (12.09 % of base) : 275998.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.69 % of base) : 90633.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeObject_RemovesProvider():this (FullOpts)
         150 (1.69 % of base) : 90501.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeType_RemovesProvider():this (FullOpts)
         150 (1.69 % of base) : 90629.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeObject_RemovesProvider():this (FullOpts)
         150 (1.69 % of base) : 90519.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeType_RemovesProvider():this (FullOpts)
          90 (1.87 % of base) : 84966.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
          90 (1.86 % of base) : 84889.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameReverseOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
          80 (2.05 % of base) : 84315.dasm - System.ComponentModel.Composition.DirectoryCatalogTests:GetExports():this (FullOpts)
          80 (1.55 % of base) : 90507.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
          80 (1.56 % of base) : 90622.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
          80 (1.55 % of base) : 90487.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
          80 (1.56 % of base) : 90638.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
          72 (3.28 % of base) : 91347.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.45 % of base) : 90036.dasm - System.ComponentModel.Tests.TypeDescriptionProviderTests:GetFullComponentName_InvokeWithCustomTypeDescriptor_ReturnsExpected(System.Object,System.String):this (FullOpts)
          70 (1.56 % of base) : 90630.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
          70 (1.57 % of base) : 90631.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeType_GetProviderReturnsExpected():this (FullOpts)
          70 (1.56 % of base) : 90632.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
          70 (1.57 % of base) : 90547.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeType_GetProviderReturnsExpected():this (FullOpts)
          70 (1.39 % of base) : 244326.dasm - System.Text.Tests.TranscodingStreamTests:Flush_FlushesInnerStreamButNotDecodedState():this (FullOpts)
          60 (1.93 % of base) : 144264.dasm - System.Linq.Tests.GroupJoinTests:CustomComparer():this (FullOpts)

Top method improvements (bytes):
        -159 (-2.14 % of base) : 152611.dasm - System.Buffers.Binary.Tests.BinaryReaderUnitTests:SpanWriteAndReadBigEndianHeterogeneousStruct():this (FullOpts)
         -16 (-1.81 % of base) : 94066.dasm - System.ConsolePal:ReadKey(ubyte):System.ConsoleKeyInfo (FullOpts)
         -10 (-0.36 % of base) : 46551.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -10 (-0.36 % of base) : 53201.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -10 (-0.32 % of base) : 5531.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -9 (-20.45 % of base) : 21574.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -7 (-0.18 % of base) : 238670.dasm - System.Security.Cryptography.Tests.CryptoStreamTests:Roundtrip(int,int,ubyte) (FullOpts)
          -6 (-1.08 % of base) : 149905.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -4 (-0.04 % of base) : 21045.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
          -3 (-0.09 % of base) : 45668.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterConstraintClause]]:this (FullOpts)
          -3 (-0.09 % of base) : 51507.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterConstraintClause]]:this (FullOpts)
          -2 (-2.30 % of base) : 35215.dasm - Autofac.Core.Resolving.Pipeline.DefaultResolveRequestContext:ChangeScope(Autofac.Core.ISharingLifetimeScope):this (FullOpts)
          -2 (-0.33 % of base) : 36138.dasm - DryIoc.Container+FactoriesEntry:WithTwo(DryIoc.Factory,DryIoc.Factory):DryIoc.Container+FactoriesEntry:this (FullOpts)
          -2 (-0.06 % of base) : 36325.dasm - Grace.DependencyInjection.Impl.ActivationStrategyCollectionContainer`1[System.__Canon]:AddStrategy(System.__Canon):this (FullOpts)
          -2 (-0.05 % of base) : 7319.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.41 % of base) : 23118.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
          -2 (-2.78 % of base) : 137823.dasm - System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
          -2 (-0.10 % of base) : 21042.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.73 % of base) : 20698.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -2 (-0.35 % of base) : 160120.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ArraySegment`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts)

Top method regressions (percentages):
          10 (47.62 % of base) : 186186.dasm - System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
          13 (28.26 % of base) : 35154.dasm - LightInject.ServiceContainer:<EmitNewInstance>g__IsNotServiceFactory|175_0(System.Type):ubyte (FullOpts)
          13 (23.64 % of base) : 193899.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumNames_TypeNotEnum_ThrowsArgumentException>b__16_0():System.Object:this (FullOpts)
          13 (23.64 % of base) : 193518.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumUnderlyingType_TypeNotEnum_ThrowsArgumentException>b__18_0():System.Object:this (FullOpts)
          13 (23.21 % of base) : 193738.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredEvent_NullName_ThrowsArgumentNullException>b__67_0():System.Object:this (FullOpts)
          13 (22.81 % of base) : 193767.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredField_NullName_ThrowsArgumentNullException>b__68_0():System.Object:this (FullOpts)
          13 (22.81 % of base) : 193847.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredMethod_NullName_ThrowsArgumentNullException>b__69_0():System.Object:this (FullOpts)
          13 (22.81 % of base) : 193481.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredNestedType_NullName_ThrowsArgumentNullException>b__71_0():System.Object:this (FullOpts)
          13 (22.81 % of base) : 193787.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumName_Invalid>b__13_1():System.Object:this (FullOpts)
          13 (22.41 % of base) : 36023.dasm - DryIoc.Converter:.cctor() (FullOpts)
          13 (22.41 % of base) : 35155.dasm - LightInject.ServiceContainer:.cctor() (FullOpts)
          13 (22.41 % of base) : 35150.dasm - LightInject.ServiceFactoryLoader:.cctor() (FullOpts)
          13 (22.41 % of base) : 91574.dasm - Microsoft.Composition.Demos.ExtendedCollectionImports.Dictionaries.DictionaryExportDescriptorProvider:.cctor() (FullOpts)
          13 (22.41 % of base) : 91215.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
          13 (22.41 % of base) : 91268.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
          13 (22.41 % of base) : 91263.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
          13 (22.41 % of base) : 42747.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
          13 (22.41 % of base) : 42583.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
          13 (22.41 % of base) : 91220.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)
          13 (22.41 % of base) : 90948.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)

Top method improvements (percentages):
          -9 (-20.45 % of base) : 21574.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -2 (-2.78 % of base) : 137823.dasm - System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
          -2 (-2.30 % of base) : 35215.dasm - Autofac.Core.Resolving.Pipeline.DefaultResolveRequestContext:ChangeScope(Autofac.Core.ISharingLifetimeScope):this (FullOpts)
        -159 (-2.14 % of base) : 152611.dasm - System.Buffers.Binary.Tests.BinaryReaderUnitTests:SpanWriteAndReadBigEndianHeterogeneousStruct():this (FullOpts)
          -2 (-2.11 % of base) : 167044.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
         -16 (-1.81 % of base) : 94066.dasm - System.ConsolePal:ReadKey(ubyte):System.ConsoleKeyInfo (FullOpts)
          -2 (-1.25 % of base) : 268742.dasm - System.Text.Json.Serialization.Tests.DefaultJsonTypeInfoResolverTests+<>c__DisplayClass75_0`1[int]:<TypeInfoPropertiesDefaults_Generic>b__0():System.Object:this (FullOpts)
          -6 (-1.08 % of base) : 149905.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -2 (-0.73 % of base) : 20698.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -2 (-0.41 % of base) : 23118.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
         -10 (-0.36 % of base) : 46551.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -10 (-0.36 % of base) : 53201.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -2 (-0.35 % of base) : 160120.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ArraySegment`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts)
          -2 (-0.33 % of base) : 36138.dasm - DryIoc.Container+FactoriesEntry:WithTwo(DryIoc.Factory,DryIoc.Factory):DryIoc.Container+FactoriesEntry:this (FullOpts)
         -10 (-0.32 % of base) : 5531.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -2 (-0.32 % of base) : 246846.dasm - System.Text.Json.SourceGeneration.Tests.JsonSerializerContextTests+<>c:<CombiningContextWithCustomResolver_ReplacePoco>b__29_0(System.Type,System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo:this (FullOpts)
          -2 (-0.32 % of base) : 252158.dasm - System.Text.Json.SourceGeneration.Tests.JsonSerializerContextTests+<>c:<CombiningContextWithCustomResolver_ReplacePoco>b__29_0(System.Type,System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo:this (FullOpts)
          -7 (-0.18 % of base) : 238670.dasm - System.Security.Cryptography.Tests.CryptoStreamTests:Roundtrip(int,int,ubyte) (FullOpts)
          -2 (-0.10 % of base) : 21042.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.09 % of base) : 45668.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`4[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],ubyte,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterConstraintClause]]:this (FullOpts)


realworld.run.windows.x64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 14196497 (overridden on cmd)
Total bytes of diff: 14196911 (overridden on cmd)
Total bytes of delta: 414 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          60 : 35949.dasm (2.78 % of base)
          30 : 36508.dasm (4.27 % of base)
          20 : 2116.dasm (2.97 % of base)
          20 : 33060.dasm (0.58 % of base)
          20 : 35081.dasm (2.98 % of base)
          20 : 35096.dasm (2.76 % of base)
          20 : 34305.dasm (0.78 % of base)
          20 : 35234.dasm (2.86 % of base)
          20 : 35235.dasm (4.81 % of base)
          13 : 15956.dasm (8.84 % of base)
          10 : 15018.dasm (7.75 % of base)
          10 : 2779.dasm (1.42 % of base)
          10 : 35844.dasm (1.91 % of base)
          10 : 36752.dasm (0.92 % of base)
          10 : 29298.dasm (2.11 % of base)
          10 : 29229.dasm (8.20 % of base)
           6 : 22524.dasm (0.15 % of base)
           6 : 26253.dasm (0.36 % of base)
           4 : 30999.dasm (0.12 % of base)
           3 : 23433.dasm (1.59 % of base)

Top file improvements (bytes):
         -10 : 22607.dasm (-0.34 % of base)
          -4 : 32596.dasm (-1.05 % of base)
          -4 : 18320.dasm (-0.04 % of base)
          -3 : 27651.dasm (-0.16 % of base)
          -2 : 18316.dasm (-0.10 % of base)
          -2 : 23330.dasm (-0.05 % of base)
          -2 : 24712.dasm (-0.10 % of base)
          -2 : 20219.dasm (-0.40 % of base)
          -2 : 17922.dasm (-0.73 % of base)
          -1 : 3172.dasm (-0.02 % of base)

36 total files with Code Size differences (10 improved, 26 regressed), 30 unchanged.

Top method regressions (bytes):
          60 (2.78 % of base) : 35949.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
          30 (4.27 % of base) : 36508.dasm - System.Management.Automation.ReflectionParameterBinder+<>c__DisplayClass8_0:<GetSetter>b__0(System.Tuple`2[System.Type,System.String]):System.Action`2[System.Object,System.Object]:this (FullOpts)
          20 (2.97 % of base) : 2116.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (FullOpts)
          20 (2.98 % of base) : 35081.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
          20 (4.81 % of base) : 35235.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
          20 (2.86 % of base) : 35234.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
          20 (0.58 % of base) : 33060.dasm - System.Management.Automation.Language.Compiler:.cctor() (FullOpts)
          20 (0.78 % of base) : 34305.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.76 % of base) : 35096.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.84 % of base) : 15956.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
          10 (1.42 % of base) : 2779.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
          10 (1.91 % of base) : 35844.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
          10 (8.20 % of base) : 29229.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          10 (0.92 % of base) : 36752.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
          10 (2.11 % of base) : 29298.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
          10 (7.75 % of base) : 15018.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
           6 (0.15 % of base) : 22524.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitAssignmentOperator(Microsoft.CodeAnalysis.CSharp.BoundAssignmentOperator):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
           6 (0.36 % of base) : 26253.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitLocalDeclaration(Microsoft.CodeAnalysis.CSharp.BoundLocalDeclaration):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
           4 (0.12 % of base) : 30999.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)
           3 (1.85 % of base) : 25961.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:HasInitializer(Microsoft.CodeAnalysis.CSharp.Symbol):ubyte (FullOpts)

Top method improvements (bytes):
         -10 (-0.34 % of base) : 22607.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -4 (-1.05 % of base) : 32596.dasm - System.Management.Automation.Security.SystemPolicy:GetWldpPolicy(System.String,System.Runtime.InteropServices.SafeHandle):int (FullOpts)
          -4 (-0.04 % of base) : 18320.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
          -3 (-0.16 % of base) : 27651.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitUsingStatement(Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax):this (FullOpts)
          -2 (-0.05 % of base) : 23330.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.10 % of base) : 24712.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.40 % of base) : 20219.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
          -2 (-0.10 % of base) : 18316.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.73 % of base) : 17922.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -1 (-0.02 % of base) : 3172.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)

Top method regressions (percentages):
          13 (8.84 % of base) : 15956.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
          10 (8.20 % of base) : 29229.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          10 (7.75 % of base) : 15018.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
          20 (4.81 % of base) : 35235.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
          30 (4.27 % of base) : 36508.dasm - System.Management.Automation.ReflectionParameterBinder+<>c__DisplayClass8_0:<GetSetter>b__0(System.Tuple`2[System.Type,System.String]):System.Action`2[System.Object,System.Object]:this (FullOpts)
          20 (2.98 % of base) : 35081.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
          20 (2.97 % of base) : 2116.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (FullOpts)
          20 (2.86 % of base) : 35234.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
          60 (2.78 % of base) : 35949.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
          20 (2.76 % of base) : 35096.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.11 % of base) : 29298.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
          10 (1.91 % of base) : 35844.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
           3 (1.85 % of base) : 25961.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:HasInitializer(Microsoft.CodeAnalysis.CSharp.Symbol):ubyte (FullOpts)
           3 (1.59 % of base) : 23433.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbolBase:GetAttributesBag():Microsoft.CodeAnalysis.CustomAttributesBag`1[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData]:this (FullOpts)
          10 (1.42 % of base) : 2779.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
           3 (0.97 % of base) : 26650.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:Join(byref):this (FullOpts)
          10 (0.92 % of base) : 36752.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
          20 (0.78 % of base) : 34305.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 (0.58 % of base) : 33060.dasm - System.Management.Automation.Language.Compiler:.cctor() (FullOpts)
           3 (0.57 % of base) : 23810.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceTypeParameterSymbolBase:GetAttributesBag():Microsoft.CodeAnalysis.CustomAttributesBag`1[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData]:this (FullOpts)

Top method improvements (percentages):
          -4 (-1.05 % of base) : 32596.dasm - System.Management.Automation.Security.SystemPolicy:GetWldpPolicy(System.String,System.Runtime.InteropServices.SafeHandle):int (FullOpts)
          -2 (-0.73 % of base) : 17922.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -2 (-0.40 % of base) : 20219.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
         -10 (-0.34 % of base) : 22607.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -3 (-0.16 % of base) : 27651.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitUsingStatement(Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax):this (FullOpts)
          -2 (-0.10 % of base) : 24712.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) : 18316.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.05 % of base) : 23330.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) : 18320.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
          -1 (-0.02 % of base) : 3172.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.windows.x64.checked.mch

To reproduce these diffs on Windows x64: superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 5148895 (overridden on cmd)
Total bytes of diff: 5148910 (overridden on cmd)
Total bytes of delta: 15 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
           3 : 18140.dasm (1.10 % of base)
           3 : 20823.dasm (1.10 % of base)
           3 : 293.dasm (1.10 % of base)
           3 : 3151.dasm (1.10 % of base)
           3 : 15452.dasm (1.10 % of base)

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

Top method regressions (bytes):
           3 (1.10 % of base) : 18140.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
           3 (1.10 % of base) : 20823.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
           3 (1.10 % of base) : 293.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
           3 (1.10 % of base) : 3151.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
           3 (1.10 % of base) : 15452.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)

Top method regressions (percentages):
           3 (1.10 % of base) : 18140.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
           3 (1.10 % of base) : 20823.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
           3 (1.10 % of base) : 293.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
           3 (1.10 % of base) : 3151.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
           3 (1.10 % of base) : 15452.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)

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