Assembly Diffs

linux arm64

Diffs are based on 2,544,344 contexts (1,012,496 MinOpts, 1,531,848 FullOpts).

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

Overall (-209,660 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 17,218,812 -816
benchmarks.run_pgo.linux.arm64.checked.mch 77,518,372 -7,776
benchmarks.run_tiered.linux.arm64.checked.mch 25,054,876 -144
coreclr_tests.run.linux.arm64.checked.mch 518,928,388 -162,924
libraries.pmi.linux.arm64.checked.mch 76,557,636 -7,608
libraries_tests.run.linux.arm64.Release.mch 383,432,472 -17,332
librariestestsnotieredcompilation.run.linux.arm64.Release.mch 165,120,196 -9,556
realworld.run.linux.arm64.checked.mch 15,876,964 -3,504
smoke_tests.nativeaot.linux.arm64.checked.mch 2,980,396 +0

FullOpts (-209,660 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.arm64.checked.mch 16,814,432 -816
benchmarks.run_pgo.linux.arm64.checked.mch 55,144,000 -7,776
benchmarks.run_tiered.linux.arm64.checked.mch 4,868,776 -144
coreclr_tests.run.linux.arm64.checked.mch 167,326,844 -162,924
libraries.pmi.linux.arm64.checked.mch 76,437,652 -7,608
libraries_tests.run.linux.arm64.Release.mch 167,615,256 -17,332
librariestestsnotieredcompilation.run.linux.arm64.Release.mch 151,717,392 -9,556
realworld.run.linux.arm64.checked.mch 15,303,512 -3,504
smoke_tests.nativeaot.linux.arm64.checked.mch 2,979,408 +0

Example diffs

benchmarks.run.linux.arm64.checked.mch

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

@@ -41,20 +41,17 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0021 {x0 x5}, byrefRegs=0000 {}, b cset x4, ne ldp x1, x2, [fp, #0x10] // [V01 arg1], [V01 arg1+0x08] ; gcrRegs +[x1]
- ldr xzr, [x0] - movz x6, #0xD1FFAB1E - movk x6, #0xD1FFAB1E LSL #16 - movk x6, #0xD1FFAB1E LSL #32
+ ldr x6, [x0] + ldr x6, [x6, #0x58]
ldr x6, [x6]
- ldr x6, [x6] - ;; size=36 bbWeight=1 PerfScore 14.50
+ ;; size=24 bbWeight=1 PerfScore 13.00
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x20 br x6 ; gcr arg pop 0 ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 56, prolog size 12, PerfScore 19.00, instruction count 14, allocated bytes for code 56 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
+; Total bytes of code 44, prolog size 12, PerfScore 17.50, instruction count 11, allocated bytes for code 44 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
; ============================================================ Unwind Info: @@ -65,7 +62,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-12 (-16.67%) : 9078.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)

@@ -12,8 +12,8 @@ ;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]> ;* V02 tmp2 [V02,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP ;* V03 tmp3 [V03,T03] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> x0 "CSE - aggressive" -; V05 cse1 [V05,T01] ( 2, 1 ) long -> x0 "CSE - moderate"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> x0 "CSE - aggressive" +; V05 cse1 [V05,T01] ( 2, 1 ) long -> x1 "CSE - moderate"
; ; Lcl frame size = 0 @@ -25,28 +25,27 @@ G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0] - cbnz w0, G_M5950_IG04
+ ldrb w1, [x0] + cbnz w1, G_M5950_IG04
;; size=20 bbWeight=1 PerfScore 5.50
-G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field> - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - mov w1, #0xD1FFAB1E - strh w1, [x0]
+G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref + ; byrRegs +[x0] + movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field> + movk x1, #0xD1FFAB1E LSL #16 + movk x1, #0xD1FFAB1E LSL #32 + mov w2, #0xD1FFAB1E + strh w2, [x1]
;; size=20 bbWeight=0.50 PerfScore 1.50
-G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldrb w0, [x0] - ;; size=16 bbWeight=1 PerfScore 4.50
+G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref + ldrb w0, [x0, #0x01] + ; byrRegs -[x0] + ;; size=4 bbWeight=1 PerfScore 3.00
G_M5950_IG05: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 72, prolog size 8, PerfScore 15.00, instruction count 18, allocated bytes for code 72 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
+; Total bytes of code 60, prolog size 8, PerfScore 13.50, instruction count 15, allocated bytes for code 60 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
; ============================================================ Unwind Info: @@ -57,7 +56,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 18 (0x00012) Actual length = 72 (0x000048)
+ Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-8.33%) : 31685.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (FullOpts)

@@ -11,7 +11,7 @@ ; V00 this [V00,T01] ( 3, 3 ) ref -> x0 this class-hnd single-def <System.Threading.WaitHandle> ;* V01 arg1 [V01 ] ( 0, 0 ) ubyte -> zero-ref single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T00] ( 4, 6 ) ref -> x19 class-hnd exact single-def "dup spill" <<unknown class>>
+; V03 tmp1 [V03,T00] ( 5, 7 ) ref -> x19 class-hnd exact single-def "dup spill" <<unknown class>>
;* V04 tmp2 [V04 ] ( 0, 0 ) ref -> zero-ref single-def ; ; Lcl frame size = 8 @@ -38,10 +38,8 @@ G_M46591_IG04: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=800 mov x0, x19 ; gcrRegs +[x0] mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x19] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] @@ -51,14 +49,14 @@ G_M46591_IG04: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=800 movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
- ;; size=52 bbWeight=0.50 PerfScore 7.25
+ ;; size=44 bbWeight=0.50 PerfScore 8.00
G_M46591_IG05: ; bbWeight=0.50, epilog, nogc, extend ldr x19, [sp, #0x18] ldp fp, lr, [sp], #0x20 br x1 ;; size=12 bbWeight=0.50 PerfScore 2.00
-; Total bytes of code 96, prolog size 12, PerfScore 17.75, instruction count 24, allocated bytes for code 96 (MethodHash=d1cf4a00) for method System.Threading.WaitHandle:Dispose(ubyte):this (FullOpts)
+; Total bytes of code 88, prolog size 12, PerfScore 18.50, instruction count 22, allocated bytes for code 88 (MethodHash=d1cf4a00) for method System.Threading.WaitHandle:Dispose(ubyte):this (FullOpts)
; ============================================================ Unwind Info: @@ -69,7 +67,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 24 (0x00018) Actual length = 96 (0x000060)
+ Function Length : 22 (0x00016) Actual length = 88 (0x000058)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+36 (+1.10%) : 3638.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)

@@ -158,12 +158,13 @@ G_M7842_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movz x1, #0xD1FFAB1E movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32
- ldr x21, [x1]
+ ldr x1, [x1] + ldr x21, [x1, #0x60]
ldr x1, [x21, #0x18] blr x1 sxtw w22, w0 cbz w22, G_M7842_IG04
- ;; size=88 bbWeight=1 PerfScore 20.00
+ ;; size=92 bbWeight=1 PerfScore 23.00
G_M7842_IG03: ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref ; gcrRegs -[x20] movz x0, #0xD1FFAB1E @@ -173,12 +174,13 @@ G_M7842_IG03: ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x20, x0 ; gcrRegs +[x20]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG04: ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x20 @@ -337,12 +339,13 @@ G_M7842_IG05: ; bbWeight=0.50, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x27, x0 ; gcrRegs +[x27]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG06: ; bbWeight=1, gcrefRegs=C180000 {x19 x20 x26 x27}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x27 @@ -482,12 +485,13 @@ G_M7842_IG07: ; bbWeight=0.50, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x27, x0 ; gcrRegs +[x27]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG08: ; bbWeight=1, gcrefRegs=C180000 {x19 x20 x26 x27}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x27 @@ -535,13 +539,14 @@ G_M7842_IG09: ; bbWeight=0.50, gcrefRegs=C180000 {x19 x20 x26 x27}, byref movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2]
+ ldr x2, [x2, #0x70]
ldr x2, [x2, #0x08] blr x2 ; gcrRegs +[x0] mov x28, x0 ; gcrRegs +[x28] ldr w1, [fp, #0x4C] // [V45 tmp43]
- ;; size=44 bbWeight=0.50 PerfScore 6.25
+ ;; size=48 bbWeight=0.50 PerfScore 7.75
G_M7842_IG10: ; bbWeight=1, gcrefRegs=1C180000 {x19 x20 x26 x27 x28}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x28 @@ -709,12 +714,13 @@ G_M7842_IG11: ; bbWeight=0.50, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x27, x0 ; gcrRegs +[x27]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG12: ; bbWeight=1, gcrefRegs=C180000 {x19 x20 x26 x27}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x27 @@ -854,12 +860,13 @@ G_M7842_IG13: ; bbWeight=0.50, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x27, x0 ; gcrRegs +[x27]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG14: ; bbWeight=1, gcrefRegs=C180000 {x19 x20 x26 x27}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x27 @@ -999,12 +1006,13 @@ G_M7842_IG15: ; bbWeight=0.50, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x27, x0 ; gcrRegs +[x27]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG16: ; bbWeight=1, gcrefRegs=C180000 {x19 x20 x26 x27}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x27 @@ -1144,12 +1152,13 @@ G_M7842_IG17: ; bbWeight=0.50, gcrefRegs=4100000 {x20 x26}, byrefRegs=000 movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x27, x0 ; gcrRegs +[x27]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M7842_IG18: ; bbWeight=1, gcrefRegs=C100000 {x20 x26 x27}, byrefRegs=0000 {}, byref ; gcrRegs -[x0] mov x0, x27 @@ -1277,7 +1286,7 @@ G_M7842_IG20: ; bbWeight=0.50, gcVars=00000000000000000000000000000000 {} b G_M7842_IG10 ;; size=8 bbWeight=0.50 PerfScore 1.50
-; Total bytes of code 3276, prolog size 44, PerfScore 662.00, instruction count 819, allocated bytes for code 3276 (MethodHash=e29ee15d) for method Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
+; Total bytes of code 3312, prolog size 44, PerfScore 677.00, instruction count 828, allocated bytes for code 3312 (MethodHash=e29ee15d) for method Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
; ============================================================ Unwind Info: @@ -1288,7 +1297,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 819 (0x00333) Actual length = 3276 (0x000ccc)
+ Function Length : 828 (0x0033c) Actual length = 3312 (0x000cf0)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+24 (+1.67%) : 8423.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)

@@ -141,12 +141,13 @@ G_M25385_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movz x1, #0xD1FFAB1E movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32
- ldr x21, [x1]
+ ldr x1, [x1] + ldr x21, [x1, #0x60]
ldr x1, [x21, #0x18] blr x1 sxtw w22, w0 cbz w22, G_M25385_IG04
- ;; size=240 bbWeight=1 PerfScore 48.00
+ ;; size=244 bbWeight=1 PerfScore 51.00
G_M25385_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x19] movz x0, #0xD1FFAB1E @@ -156,12 +157,13 @@ G_M25385_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x19, x0 ; gcrRegs +[x19]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M25385_IG04: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x19 @@ -208,12 +210,13 @@ G_M25385_IG05: ; bbWeight=0.50, gcrefRegs=480000 {x19 x22}, byrefRegs=000 movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x23, x0 ; gcrRegs +[x23]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M25385_IG06: ; bbWeight=1, gcrefRegs=C80000 {x19 x22 x23}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x23 @@ -257,12 +260,13 @@ G_M25385_IG07: ; bbWeight=0.50, gcrefRegs=880000 {x19 x23}, byrefRegs=000 movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x24, x0 ; gcrRegs +[x24]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M25385_IG08: ; bbWeight=1, gcrefRegs=1880000 {x19 x23 x24}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x24 @@ -308,12 +312,13 @@ G_M25385_IG09: ; bbWeight=0.50, gcrefRegs=C80000 {x19 x22 x23}, byrefRegs movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x24, x0 ; gcrRegs +[x24]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M25385_IG10: ; bbWeight=1, gcrefRegs=1C80000 {x19 x22 x23 x24}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x24 @@ -359,12 +364,13 @@ G_M25385_IG11: ; bbWeight=0.50, gcrefRegs=1C80000 {x19 x22 x23 x24}, byre movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x25, x0 ; gcrRegs +[x25]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M25385_IG12: ; bbWeight=1, gcrefRegs=3C80000 {x19 x22 x23 x24 x25}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x25 @@ -585,7 +591,7 @@ G_M25385_IG16: ; bbWeight=1, epilog, nogc, extend ret lr ;; size=24 bbWeight=1 PerfScore 7.00
-; Total bytes of code 1436, prolog size 28, PerfScore 276.12, instruction count 359, allocated bytes for code 1436 (MethodHash=c8319cd6) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
+; Total bytes of code 1460, prolog size 28, PerfScore 286.62, instruction count 365, allocated bytes for code 1460 (MethodHash=c8319cd6) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
; ============================================================ Unwind Info: @@ -596,7 +602,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 359 (0x00167) Actual length = 1436 (0x00059c)
+ Function Length : 365 (0x0016d) Actual length = 1460 (0x0005b4)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+12 (+2.59%) : 8411.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)

@@ -71,12 +71,13 @@ G_M61493_IG02: ; bbWeight=1, gcrefRegs=0003 {x0 x1}, byrefRegs=380000 {x1 movz x1, #0xD1FFAB1E movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32
- ldr x23, [x1]
+ ldr x1, [x1] + ldr x23, [x1, #0x60]
ldr x1, [x23, #0x18] blr x1 sxtw w24, w0 cbz w24, G_M61493_IG04
- ;; size=112 bbWeight=1 PerfScore 26.00
+ ;; size=116 bbWeight=1 PerfScore 29.00
G_M61493_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=380000 {x19 x20 x21}, byref ; gcrRegs -[x22] movz x0, #0xD1FFAB1E @@ -86,12 +87,13 @@ G_M61493_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=380000 {x19 movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x22, x0 ; gcrRegs +[x22]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M61493_IG04: ; bbWeight=1, gcrefRegs=400000 {x22}, byrefRegs=380000 {x19 x20 x21}, byref, isz ; gcrRegs -[x0] mov x0, x22 @@ -141,12 +143,13 @@ G_M61493_IG05: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=380000 {x19 movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x70]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] mov x22, x0 ; gcrRegs +[x22]
- ;; size=40 bbWeight=0.50 PerfScore 5.25
+ ;; size=44 bbWeight=0.50 PerfScore 6.75
G_M61493_IG06: ; bbWeight=1, gcrefRegs=400000 {x22}, byrefRegs=380000 {x19 x20 x21}, byref ; gcrRegs -[x0] mov x0, x22 @@ -197,7 +200,7 @@ G_M61493_IG07: ; bbWeight=1, epilog, nogc, extend ret lr ;; size=20 bbWeight=1 PerfScore 5.00
-; Total bytes of code 464, prolog size 24, PerfScore 100.00, instruction count 116, allocated bytes for code 464 (MethodHash=8df50fca) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
+; Total bytes of code 476, prolog size 24, PerfScore 106.00, instruction count 119, allocated bytes for code 476 (MethodHash=8df50fca) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
; ============================================================ Unwind Info: @@ -208,7 +211,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 116 (0x00074) Actual length = 464 (0x0001d0)
+ Function Length : 119 (0x00077) Actual length = 476 (0x0001dc)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

benchmarks.run_pgo.linux.arm64.checked.mch

-16 (-1.64%) : 97701.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)

@@ -9,7 +9,7 @@ ; 6 inlinees with PGO data; 9 single block inlinees; 4 inlinees without PGO data ; Final local variable assignments ;
-; V00 this [V00,T00] ( 13, 7.86) ref -> x19 this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.LocalBinderFactory>
+; V00 this [V00,T00] ( 14, 8.14) ref -> x19 this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.LocalBinderFactory>
; V01 arg1 [V01,T01] ( 15, 4.65) ref -> x20 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode> ; V02 arg2 [V02,T02] ( 4, 3.86) ref -> x2 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Binder> ; V03 loc0 [V03,T04] ( 2, 1.71) ref -> x21 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Binder> @@ -33,7 +33,7 @@ ;* V21 tmp17 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax> ;* V22 tmp18 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax> ; V23 tmp19 [V23,T08] ( 5, 1.13) byref -> x25 single-def "Inlining Arg"
-; V24 tmp20 [V24,T06] ( 8, 1.14) ref -> x26 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
+; V24 tmp20 [V24,T06] ( 9, 1.14) ref -> x26 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
; V25 tmp21 [V25,T14] ( 5, 0.05) ref -> x0 class-hnd single-def "spilling ret_expr" <Microsoft.CodeAnalysis.GreenNode> ;* V26 tmp22 [V26 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode> ;* V27 tmp23 [V27 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax> @@ -288,15 +288,13 @@ G_M2997_IG24: ; bbWeight=0.28, gcrefRegs=280002 {x1 x19 x21}, byrefRegs=0 ; gcrRegs -[x25] mov x0, x19 ; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x19] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20] blr x2 ; gcrRegs -[x0-x1] b G_M2997_IG19
- ;; size=32 bbWeight=0.28 PerfScore 2.83
+ ;; size=24 bbWeight=0.28 PerfScore 3.25
G_M2997_IG25: ; bbWeight=0.01, gcrefRegs=6280000 {x19 x21 x25 x26}, byrefRegs=10000000 {x28}, byref, isz ; gcrRegs +[x25-x26] ; byrRegs +[x28] @@ -452,10 +450,8 @@ G_M2997_IG34: ; bbWeight=0, gcrefRegs=C280000 {x19 x21 x26 x27}, byrefReg mov x0, x26 ; gcrRegs +[x0] mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x26] + ldr x2, [x2, #0x50]
ldr x2, [x2] blr x2 ; gcrRegs -[x0] @@ -480,7 +476,7 @@ G_M2997_IG34: ; bbWeight=0, gcrefRegs=C280000 {x19 x21 x26 x27}, byrefReg mov x1, x0 ; gcrRegs +[x1] cbnz x28, G_M2997_IG31
- ;; size=88 bbWeight=0 PerfScore 0.00
+ ;; size=80 bbWeight=0 PerfScore 0.00
G_M2997_IG35: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x0-x1 x19 x21] ; byrRegs -[x28] @@ -492,7 +488,7 @@ G_M2997_IG35: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref brk_unix #0 ;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 976, prolog size 28, PerfScore 45.84, instruction count 244, allocated bytes for code 976 (MethodHash=4a46f44a) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)
+; Total bytes of code 960, prolog size 28, PerfScore 46.27, instruction count 240, allocated bytes for code 960 (MethodHash=4a46f44a) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)
; ============================================================ Unwind Info: @@ -503,7 +499,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 244 (0x000f4) Actual length = 976 (0x0003d0)
+ Function Length : 240 (0x000f0) Actual length = 960 (0x0003c0)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

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

@@ -8,8 +8,8 @@ ; 21 inlinees with PGO data; 58 single block inlinees; 12 inlinees without PGO data ; Final local variable assignments ;
-; V00 arg0 [V00,T50] ( 6, 5 ) ref -> x19 class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.String]> -; V01 loc0 [V01,T51] ( 5, 7 ) ref -> x20 class-hnd <System.IO.MemoryStream>
+; V00 arg0 [V00,T51] ( 6, 5 ) ref -> x19 class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.String]> +; V01 loc0 [V01,T30] ( 7, 11.50) ref -> x20 class-hnd <System.IO.MemoryStream>
; V02 loc1 [V02,T29] ( 9, 14.50) ref -> x21 class-hnd <ubyte[]> ;* V03 loc2 [V03 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]> ;* V04 loc3 [V04 ] ( 0, 0 ) struct (16) zero-ref <System.Span`1[ubyte]> @@ -44,7 +44,7 @@ ; V33 tmp16 [V33,T16] ( 3, 24 ) int -> x1 "impAppendStmt" ;* V34 tmp17 [V34 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]> ;* V35 tmp18 [V35 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-; V36 tmp19 [V36,T35] ( 2, 8 ) ref -> x21 class-hnd "dup spill" <ubyte[]>
+; V36 tmp19 [V36,T36] ( 2, 8 ) ref -> x21 class-hnd "dup spill" <ubyte[]>
; V37 tmp20 [V37,T64] ( 2, 4 ) long -> x22 "Inlining Arg" ; V38 tmp21 [V38,T70] ( 2, 2 ) struct (40) [fp-0xA8] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.String]> ;* V39 tmp22 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]> @@ -59,7 +59,7 @@ ;* V48 tmp31 [V48 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V49 tmp32 [V49 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V50 tmp33 [V50 ] ( 0, 0 ) int -> zero-ref
-; V51 tmp34 [V51,T30] ( 4, 8 ) int -> x4 "Inline stloc first use temp"
+; V51 tmp34 [V51,T31] ( 4, 8 ) int -> x4 "Inline stloc first use temp"
;* V52 tmp35 [V52 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ; V53 tmp36 [V53 ] ( 3, 6 ) byref -> [fp-0xB0] must-init pinned "Inline stloc first use temp" ; V54 tmp37 [V54,T54] ( 3, 6 ) long -> x28 "Inline stloc first use temp" @@ -79,7 +79,7 @@ ;* V68 tmp51 [V68 ] ( 0, 0 ) int -> zero-ref ; V69 tmp52 [V69,T00] ( 11,156 ) int -> [fp-0xB4] "Inlining Arg" ; V70 tmp53 [V70,T02] ( 11,128 ) long -> [fp-0xC0] "Inlining Arg"
-; V71 tmp54 [V71,T43] ( 2, 8 ) long -> x5 "dup spill"
+; V71 tmp54 [V71,T44] ( 2, 8 ) long -> x5 "dup spill"
;* V72 tmp55 [V72 ] ( 0, 0 ) struct ( 8) zero-ref "dup spill" <System.ValueTuple`2[uint,uint]> ; V73 tmp56 [V73,T05] ( 3, 48 ) int -> x27 "Inline stloc first use temp" ;* V74 tmp57 [V74 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" @@ -113,8 +113,8 @@ ;* V102 tmp85 [V102 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V103 tmp86 [V103 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]> ;* V104 tmp87 [V104 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V105 tmp88 [V105,T44] ( 2, 8 ) int -> x3 "Inlining Arg" -; V106 tmp89 [V106,T36] ( 2, 8 ) byref -> x6 "Inlining Arg"
+; V105 tmp88 [V105,T45] ( 2, 8 ) int -> x3 "Inlining Arg" +; V106 tmp89 [V106,T37] ( 2, 8 ) byref -> x6 "Inlining Arg"
;* V107 tmp90 [V107 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V108 tmp91 [V108 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ; V109 tmp92 [V109,T09] ( 4, 32 ) int -> x3 "Inlining Arg" @@ -125,8 +125,8 @@ ;* V114 tmp97 [V114 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V115 tmp98 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]> ;* V116 tmp99 [V116 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V117 tmp100 [V117,T45] ( 2, 8 ) int -> x26 "Inlining Arg" -; V118 tmp101 [V118,T37] ( 2, 8 ) byref -> x28 "Inlining Arg"
+; V117 tmp100 [V117,T46] ( 2, 8 ) int -> x26 "Inlining Arg" +; V118 tmp101 [V118,T38] ( 2, 8 ) byref -> x28 "Inlining Arg"
;* V119 tmp102 [V119 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V120 tmp103 [V120 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ; V121 tmp104 [V121,T10] ( 4, 32 ) int -> x3 "Inlining Arg" @@ -150,20 +150,20 @@ ; V139 tmp122 [V139,T07] ( 13, 45 ) int -> x23 "field V03._length (fldOffset=0x8)" P-INDEP ;* V140 tmp123 [V140 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP ;* V141 tmp124 [V141 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
-; V142 tmp125 [V142,T38] ( 2, 8 ) ref -> x25 "field V08.key (fldOffset=0x0)" P-INDEP -; V143 tmp126 [V143,T39] ( 2, 8 ) ref -> x26 "field V08.value (fldOffset=0x8)" P-INDEP
+; V142 tmp125 [V142,T39] ( 2, 8 ) ref -> x25 "field V08.key (fldOffset=0x0)" P-INDEP +; V143 tmp126 [V143,T40] ( 2, 8 ) ref -> x26 "field V08.value (fldOffset=0x8)" P-INDEP
;* V144 tmp127 [V144 ] ( 0, 0 ) ubyte -> zero-ref "field V16._format (fldOffset=0x0)" P-INDEP ;* V145 tmp128 [V145 ] ( 0, 0 ) ubyte -> zero-ref "field V16._precision (fldOffset=0x1)" P-INDEP ; V146 tmp129 [V146,T69] ( 2, 2 ) byref -> x22 single-def "field V18._reference (fldOffset=0x0)" P-INDEP ;* V147 tmp130 [V147,T73] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP ; V148 tmp131 [V148,T56] ( 2, 6 ) byref -> x4 "field V22._reference (fldOffset=0x0)" P-INDEP ; V149 tmp132 [V149,T57] ( 2, 6 ) int -> x5 "field V22._length (fldOffset=0x8)" P-INDEP
-; V150 tmp133 [V150,T31] ( 3, 8 ) byref -> x25 "field V26._reference (fldOffset=0x0)" P-INDEP -; V151 tmp134 [V151,T33] ( 3, 8 ) int -> [fp-0xCC] "field V26._length (fldOffset=0x8)" P-INDEP
+; V150 tmp133 [V150,T32] ( 3, 8 ) byref -> x25 "field V26._reference (fldOffset=0x0)" P-INDEP +; V151 tmp134 [V151,T34] ( 3, 8 ) int -> [fp-0xCC] "field V26._length (fldOffset=0x8)" P-INDEP
;* V152 tmp135 [V152 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP ;* V153 tmp136 [V153 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
-; V154 tmp137 [V154,T32] ( 3, 8 ) byref -> x28 "field V31._reference (fldOffset=0x0)" P-INDEP -; V155 tmp138 [V155,T34] ( 3, 8 ) int -> x26 "field V31._length (fldOffset=0x8)" P-INDEP
+; V154 tmp137 [V154,T33] ( 3, 8 ) byref -> x28 "field V31._reference (fldOffset=0x0)" P-INDEP +; V155 tmp138 [V155,T35] ( 3, 8 ) int -> x26 "field V31._length (fldOffset=0x8)" P-INDEP
;* V156 tmp139 [V156 ] ( 0, 0 ) byref -> zero-ref "field V32._reference (fldOffset=0x0)" P-INDEP ;* V157 tmp140 [V157 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP ;* V158 tmp141 [V158 ] ( 0, 0 ) byref -> zero-ref "field V34._reference (fldOffset=0x0)" P-INDEP @@ -198,26 +198,26 @@ ; V187 tmp170 [V187,T66] ( 2, 4 ) int -> x6 "field V103._length (fldOffset=0x8)" P-INDEP ;* V188 tmp171 [V188 ] ( 0, 0 ) byref -> zero-ref "field V104._reference (fldOffset=0x0)" P-INDEP ;* V189 tmp172 [V189 ] ( 0, 0 ) int -> zero-ref "field V104._length (fldOffset=0x8)" P-INDEP
-; V190 tmp173 [V190,T40] ( 2, 8 ) byref -> x3 "field V110._reference (fldOffset=0x0)" P-INDEP -; V191 tmp174 [V191,T46] ( 2, 8 ) int -> x4 "field V110._length (fldOffset=0x8)" P-INDEP
+; V190 tmp173 [V190,T41] ( 2, 8 ) byref -> x3 "field V110._reference (fldOffset=0x0)" P-INDEP +; V191 tmp174 [V191,T47] ( 2, 8 ) int -> x4 "field V110._length (fldOffset=0x8)" P-INDEP
; V192 tmp175 [V192,T63] ( 2, 4 ) byref -> x28 "field V115._reference (fldOffset=0x0)" P-INDEP ; V193 tmp176 [V193,T67] ( 2, 4 ) int -> x26 "field V115._length (fldOffset=0x8)" P-INDEP ;* V194 tmp177 [V194 ] ( 0, 0 ) byref -> zero-ref "field V116._reference (fldOffset=0x0)" P-INDEP ;* V195 tmp178 [V195 ] ( 0, 0 ) int -> zero-ref "field V116._length (fldOffset=0x8)" P-INDEP
-; V196 tmp179 [V196,T41] ( 2, 8 ) byref -> x3 "field V122._reference (fldOffset=0x0)" P-INDEP -; V197 tmp180 [V197,T47] ( 2, 8 ) int -> x4 "field V122._length (fldOffset=0x8)" P-INDEP
+; V196 tmp179 [V196,T42] ( 2, 8 ) byref -> x3 "field V122._reference (fldOffset=0x0)" P-INDEP +; V197 tmp180 [V197,T48] ( 2, 8 ) int -> x4 "field V122._length (fldOffset=0x8)" P-INDEP
;* V198 tmp181 [V198 ] ( 0, 0 ) byref -> zero-ref "field V128._reference (fldOffset=0x0)" P-INDEP ;* V199 tmp182 [V199 ] ( 0, 0 ) int -> zero-ref "field V128._length (fldOffset=0x8)" P-INDEP ;* V200 tmp183 [V200 ] ( 0, 0 ) byref -> zero-ref "field V132._reference (fldOffset=0x0)" P-INDEP ;* V201 tmp184 [V201 ] ( 0, 0 ) int -> zero-ref "field V132._length (fldOffset=0x8)" P-INDEP
-; V202 tmp185 [V202,T42] ( 2, 8 ) byref -> x1 "field V133._reference (fldOffset=0x0)" P-INDEP -; V203 tmp186 [V203,T48] ( 2, 8 ) int -> x2 "field V133._length (fldOffset=0x8)" P-INDEP
+; V202 tmp185 [V202,T43] ( 2, 8 ) byref -> x1 "field V133._reference (fldOffset=0x0)" P-INDEP +; V203 tmp186 [V203,T49] ( 2, 8 ) int -> x2 "field V133._length (fldOffset=0x8)" P-INDEP
;* V204 tmp187 [V204 ] ( 0, 0 ) ref -> zero-ref single-def "V38.[000..008)" ; V205 tmp188 [V205,T72] ( 2, 1 ) int -> x0 "V38.[008..012)" ;* V206 tmp189 [V206 ] ( 0, 0 ) int -> zero-ref "V38.[012..016)" ;* V207 tmp190 [V207 ] ( 0, 0 ) int -> zero-ref "V38.[016..020)" ;* V208 tmp191 [V208 ] ( 0, 0 ) struct ( 8) zero-ref do-not-enreg[SF] "by-value struct argument" <System.Buffers.StandardFormat>
-; V209 tmp192 [V209,T49] ( 2, 8 ) long -> x28 "Cast away GC"
+; V209 tmp192 [V209,T50] ( 2, 8 ) long -> x28 "Cast away GC"
; V210 GsCookie [V210 ] ( 1, 1 ) long -> [fp-0xE8] do-not-enreg[X] addr-exposed "GSSecurityCookie" ; V211 cse0 [V211,T19] ( 3, 18.25) ref -> x24 hoist "CSE - moderate" ; V212 cse1 [V212,T20] ( 5, 16.25) ref -> x19 hoist "CSE - moderate" @@ -713,10 +713,8 @@ G_M33777_IG37: ; bbWeight=4, gcrefRegs=1380000 {x19 x20 x21 x24}, byrefRe sxtw w2, w25 mov x0, x20 ; gcrRegs +[x0]
- movz x3, #0xD1FFAB1E - movk x3, #0xD1FFAB1E LSL #16 - movk x3, #0xD1FFAB1E LSL #32 - ldr x3, [x3]
+ ldr x3, [x20] + ldr x3, [x3, #0x68]
ldr x3, [x3, #0x38] blr x3 ; gcrRegs -[x0] @@ -733,22 +731,20 @@ G_M33777_IG37: ; bbWeight=4, gcrefRegs=1380000 {x19 x20 x21 x24}, byrefRe blr x2 ; gcr arg pop 0 cbnz w0, G_M33777_IG07
- ;; size=76 bbWeight=4 PerfScore 74.00
+ ;; size=68 bbWeight=4 PerfScore 80.00
G_M33777_IG38: ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref ; gcrRegs -[x19 x24] ; byrRegs -[x22] mov x0, x20 ; gcrRegs +[x0] mov x1, xzr
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x20] + ldr x2, [x2, #0x50]
ldr x2, [x2, #0x18] blr x2 ; gcrRegs -[x0] ; gcr arg pop 0
- ;; size=32 bbWeight=0.50 PerfScore 4.75
+ ;; size=24 bbWeight=0.50 PerfScore 5.50
G_M33777_IG39: ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz cbz x21, G_M33777_IG41 ;; size=4 bbWeight=1 PerfScore 1.00 @@ -943,7 +939,7 @@ G_M33777_IG50: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref brk_unix #0 ;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1920, prolog size 76, PerfScore 1174.00, instruction count 480, allocated bytes for code 1920 (MethodHash=d24f7c0e) for method System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
+; Total bytes of code 1904, prolog size 76, PerfScore 1180.75, instruction count 476, allocated bytes for code 1904 (MethodHash=d24f7c0e) for method System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
; ============================================================ Unwind Info: @@ -954,7 +950,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 480 (0x001e0) Actual length = 1920 (0x000780)
+ Function Length : 476 (0x001dc) Actual length = 1904 (0x000770)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-0.68%) : 87824.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)

@@ -9,7 +9,7 @@ ; 14 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ;
-; V00 this [V00,T01] ( 8, 3 ) ref -> x20 this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+; V00 this [V00,T01] ( 9, 3 ) ref -> x20 this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
; V01 arg1 [V01,T00] ( 11, 6.59) ref -> x19 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Symbol> ; V02 arg2 [V02,T02] ( 3, 2 ) ref -> x21 class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode> ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" @@ -343,15 +343,13 @@ G_M44692_IG29: ; bbWeight=0, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00 ldr x1, [fp, #0xA8] // [V53 tmp50] ; gcrRegs +[x1] mov x0, x20
- movz x4, #0xD1FFAB1E - movk x4, #0xD1FFAB1E LSL #16 - movk x4, #0xD1FFAB1E LSL #32 - ldr x4, [x4]
+ ldr x4, [x20] + ldr x4, [x4, #0x48]
ldr x4, [x4, #0x28] blr x4 ; gcrRegs -[x0-x3 x19] b G_M44692_IG31
- ;; size=72 bbWeight=0 PerfScore 0.00
+ ;; size=64 bbWeight=0 PerfScore 0.00
G_M44692_IG30: ; bbWeight=0, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref ldr x0, [fp, #0xA8] // [V53 tmp50] ; gcrRegs +[x0] @@ -578,7 +576,7 @@ G_M44692_IG46: ; bbWeight=0, gcrefRegs=1700104 {x2 x8 x20 x21 x22 x24}, b b G_M44692_IG23 ;; size=60 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1168, prolog size 60, PerfScore 88.87, instruction count 292, allocated bytes for code 1168 (MethodHash=aaa7516b) for method Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
+; Total bytes of code 1160, prolog size 60, PerfScore 88.87, instruction count 290, allocated bytes for code 1160 (MethodHash=aaa7516b) for method Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
; ============================================================ Unwind Info: @@ -589,7 +587,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 292 (0x00124) Actual length = 1168 (0x000490)
+ Function Length : 290 (0x00122) Actual length = 1160 (0x000488)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-0.14%) : 88528.dasm - Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)

@@ -10,7 +10,7 @@ ; Final local variable assignments ; ; V00 this [V00,T02] ( 38, 7 ) ref -> x19 this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase>
-; V01 arg1 [V01,T15] ( 24, 3 ) ref -> x20 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+; V01 arg1 [V01,T15] ( 25, 3 ) ref -> x20 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
; V02 loc0 [V02,T30] ( 16, 2 ) int -> x21 ;* V03 loc1 [V03 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <<unknown class>> ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" @@ -2628,16 +2628,14 @@ G_M38586_IG139: ; bbWeight=0, gcrefRegs=FD80004 {x2 x19 x20 x22 x23 x24 x mov x1, x26 ; gcrRegs +[x1] mov x0, x20
- movz x4, #0xD1FFAB1E - movk x4, #0xD1FFAB1E LSL #16 - movk x4, #0xD1FFAB1E LSL #32 - ldr x4, [x4]
+ ldr x4, [x20] + ldr x4, [x4, #0x48]
ldr x4, [x4, #0x28] blr x4 ; gcrRegs -[x0-x3 x26 x28] ; gcr arg pop 0 b G_M38586_IG141
- ;; size=76 bbWeight=0 PerfScore 0.00
+ ;; size=68 bbWeight=0 PerfScore 0.00
G_M38586_IG140: ; bbWeight=0, gcrefRegs=FD80000 {x19 x20 x22 x23 x24 x25 x26 x27}, byrefRegs=0000 {}, byref ; gcrRegs +[x26] ldr w0, [x26, #0x20] @@ -2710,7 +2708,7 @@ G_M38586_IG144: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 b G_M38586_IG46 ;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 5904, prolog size 88, PerfScore 263.03, instruction count 1476, allocated bytes for code 5904 (MethodHash=a68b6945) for method Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
+; Total bytes of code 5896, prolog size 88, PerfScore 263.03, instruction count 1474, allocated bytes for code 5896 (MethodHash=a68b6945) for method Microsoft.CodeAnalysis.CSharp.Emit.PEAssemblyBuilderBase:CreateEmbeddedAttributesIfNeeded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (Tier1)
; ============================================================ Unwind Info: @@ -2721,7 +2719,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 1476 (0x005c4) Actual length = 5904 (0x001710)
+ Function Length : 1474 (0x005c2) Actual length = 5896 (0x001708)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

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

@@ -4833,17 +4833,14 @@ G_M21650_IG216: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, by ;; size=8 bbWeight=0.50 PerfScore 0.75 G_M21650_IG217: ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref ; gcrRegs -[x19] +[x0]
- ldr xzr, [x0] - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - ldr x1, [x1]
+ ldr x1, [x0] + ldr x1, [x1, #0x48]
ldr x1, [x1, #0x08] blr x1 ; gcr arg pop 0 mov x19, x0 ; gcrRegs +[x19]
- ;; size=32 bbWeight=0.50 PerfScore 6.00
+ ;; size=20 bbWeight=0.50 PerfScore 5.25
G_M21650_IG218: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x19 @@ -4956,7 +4953,7 @@ G_M21650_IG227: ; bbWeight=0, gcrefRegs=B80000 {x19 x20 x21 x23}, byrefRe b G_M21650_IG197 ;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 11404, prolog size 84, PerfScore 6895.25, instruction count 2851, allocated bytes for code 11404 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
+; Total bytes of code 11392, prolog size 84, PerfScore 6894.50, instruction count 2848, allocated bytes for code 11392 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
; ============================================================ Unwind Info: @@ -4967,7 +4964,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 2851 (0x00b23) Actual length = 11404 (0x002c8c)
+ Function Length : 2848 (0x00b20) Actual length = 11392 (0x002c80)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

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

@@ -173,6 +173,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0xC0]
ldr x1, [x1, #0x30] blr x1 ; gcrRegs +[x0] @@ -192,7 +193,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcrRegs -[x0] ; gcr arg pop 0 cbz w0, G_M22068_IG13
- ;; size=80 bbWeight=1 PerfScore 22.00
+ ;; size=84 bbWeight=1 PerfScore 25.00
G_M22068_IG07: ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref movz x21, #0xD1FFAB1E movk x21, #0xD1FFAB1E LSL #16 @@ -841,7 +842,7 @@ G_M22068_IG46: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000 brk_unix #0 ;; size=52 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1772, prolog size 60, PerfScore 971.12, instruction count 443, allocated bytes for code 1772 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
+; Total bytes of code 1776, prolog size 60, PerfScore 974.12, instruction count 444, allocated bytes for code 1776 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
; ============================================================ Unwind Info: @@ -852,7 +853,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 403 (0x00193) Actual length = 1612 (0x00064c)
+ Function Length : 404 (0x00194) Actual length = 1616 (0x000650)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

benchmarks.run_tiered.linux.arm64.checked.mch

-16 (-2.70%) : 61140.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)

@@ -20,11 +20,11 @@ ;* V08 tmp3 [V08 ] ( 0, 0 ) ubyte -> zero-ref do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ; V09 tmp4 [V09,T00] ( 6, 24 ) ref -> x24 class-hnd exact "Inlining Arg" <System.Threading.TimerHolder> ;* V10 tmp5 [V10 ] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
-; V11 tmp6 [V11,T06] ( 8, 4 ) ref -> x19 class-hnd exact "dup spill" <<unknown class>>
+; V11 tmp6 [V11,T05] ( 10, 5 ) ref -> x19 class-hnd exact "dup spill" <<unknown class>>
;* V12 tmp7 [V12 ] ( 0, 0 ) ref -> zero-ref ; V13 PSPSym [V13,T08] ( 1, 1 ) long -> [fp+0x18] do-not-enreg[V] "PSPSym" ; V14 cse0 [V14,T04] ( 5, 6.04) int -> x21 "CSE - aggressive"
-; V15 cse1 [V15,T05] ( 4, 4.54) byref -> x22 hoist multi-def "CSE - aggressive"
+; V15 cse1 [V15,T06] ( 4, 4.54) byref -> x22 hoist multi-def "CSE - aggressive"
; ; Lcl frame size = 16 @@ -183,10 +183,8 @@ G_M41124_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr cbz x19, G_M41124_IG11 mov x0, x19 mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x19] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] @@ -200,7 +198,7 @@ G_M41124_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr blr x1 ; gcrRegs -[x0 x19] ; gcr arg pop 0
- ;; size=68 bbWeight=0.50 PerfScore 10.75
+ ;; size=60 bbWeight=0.50 PerfScore 11.50
G_M41124_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ldr x0, [fp, #0x88] // [V01 loc0] ; gcrRegs +[x0] @@ -237,10 +235,8 @@ G_M41124_IG14: ; bbWeight=0, gcVars=0000000000000004 {V01}, gcrefRegs=000 cbz x19, G_M41124_IG15 mov x0, x19 mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x19] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] @@ -254,7 +250,7 @@ G_M41124_IG14: ; bbWeight=0, gcVars=0000000000000004 {V01}, gcrefRegs=000 blr x1 ; gcrRegs -[x0 x19] ; gcr arg pop 0
- ;; size=76 bbWeight=0 PerfScore 0.00
+ ;; size=68 bbWeight=0 PerfScore 0.00
G_M41124_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ldr x0, [fp, #0x88] // [V01 loc0] ; gcrRegs +[x0] @@ -272,7 +268,7 @@ G_M41124_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ret lr ;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 592, prolog size 36, PerfScore 191.08, instruction count 148, allocated bytes for code 592 (MethodHash=0e595f5b) for method System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
+; Total bytes of code 576, prolog size 36, PerfScore 191.83, instruction count 144, allocated bytes for code 576 (MethodHash=0e595f5b) for method System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
; ============================================================ Unwind Info: @@ -283,7 +279,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 114 (0x00072) Actual length = 456 (0x0001c8)
+ Function Length : 112 (0x00070) Actual length = 448 (0x0001c0)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) @@ -306,7 +302,7 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 34 (0x00022) Actual length = 136 (0x000088)
+ Function Length : 32 (0x00020) Actual length = 128 (0x000080)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----

-16 (-2.63%) : 46182.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetWellKnownTypeMember(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,int,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,ubyte):Microsoft.CodeAnalysis.CSharp.Symbol (Tier1)

@@ -10,7 +10,7 @@ ; ; V00 arg0 [V00,T04] ( 3, 3 ) ref -> x0 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.CSharpCompilation> ; V01 arg1 [V01,T05] ( 3, 3 ) int -> x1 single-def
-; V02 arg2 [V02,T00] ( 12, 7 ) ref -> x19 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
+; V02 arg2 [V02,T00] ( 14, 8 ) ref -> x19 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag>
; V03 arg3 [V03,T07] ( 3, 2.50) ref -> x21 class-hnd single-def <Microsoft.CodeAnalysis.Location> ; V04 arg4 [V04,T01] ( 4, 3.50) ref -> x20 class-hnd single-def <Microsoft.CodeAnalysis.SyntaxNode> ; V05 arg5 [V05,T06] ( 3, 3 ) ubyte -> x5 single-def @@ -153,15 +153,13 @@ G_M35440_IG04: ; bbWeight=0.50, gcrefRegs=1F80004 {x2 x19 x20 x21 x22 x23 mov x1, x21 ; gcrRegs +[x1] mov x0, x19
- movz x4, #0xD1FFAB1E - movk x4, #0xD1FFAB1E LSL #16 - movk x4, #0xD1FFAB1E LSL #32 - ldr x4, [x4]
+ ldr x4, [x19] + ldr x4, [x4, #0x48]
ldr x4, [x4, #0x28] blr x4 ; gcrRegs -[x0-x3 x21 x25] b G_M35440_IG06
- ;; size=72 bbWeight=0.50 PerfScore 12.00
+ ;; size=64 bbWeight=0.50 PerfScore 12.75
G_M35440_IG05: ; bbWeight=0.50, gcrefRegs=1E80000 {x19 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x21] ldr w0, [x21, #0x20] @@ -268,15 +266,13 @@ G_M35440_IG12: ; bbWeight=0.50, gcrefRegs=1F80004 {x2 x19 x20 x21 x22 x23 mov x1, x20 ; gcrRegs +[x1] mov x0, x19
- movz x4, #0xD1FFAB1E - movk x4, #0xD1FFAB1E LSL #16 - movk x4, #0xD1FFAB1E LSL #32 - ldr x4, [x4]
+ ldr x4, [x19] + ldr x4, [x4, #0x48]
ldr x4, [x4, #0x28] blr x4 ; gcrRegs -[x0-x3 x20 x25] b G_M35440_IG14
- ;; size=72 bbWeight=0.50 PerfScore 12.00
+ ;; size=64 bbWeight=0.50 PerfScore 12.75
G_M35440_IG13: ; bbWeight=0.50, gcrefRegs=1D80000 {x19 x20 x22 x23 x24}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x20] ldr w0, [x20, #0x20] @@ -316,7 +312,7 @@ G_M35440_IG16: ; bbWeight=0.50, gcrefRegs=1480000 {x19 x22 x24}, byrefReg b G_M35440_IG09 ;; size=32 bbWeight=0.50 PerfScore 3.75
-; Total bytes of code 608, prolog size 32, PerfScore 98.50, instruction count 152, allocated bytes for code 608 (MethodHash=ea58758f) for method Microsoft.CodeAnalysis.CSharp.Binder:GetWellKnownTypeMember(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,int,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,ubyte):Microsoft.CodeAnalysis.CSharp.Symbol (Tier1)
+; Total bytes of code 592, prolog size 32, PerfScore 100.00, instruction count 148, allocated bytes for code 592 (MethodHash=ea58758f) for method Microsoft.CodeAnalysis.CSharp.Binder:GetWellKnownTypeMember(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,int,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,ubyte):Microsoft.CodeAnalysis.CSharp.Symbol (Tier1)
; ============================================================ Unwind Info: @@ -327,7 +323,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 152 (0x00098) Actual length = 608 (0x000260)
+ Function Length : 148 (0x00094) Actual length = 592 (0x000250)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-2.38%) : 24679.dasm - System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)

@@ -9,13 +9,13 @@ ; Final local variable assignments ; ; V00 this [V00,T00] ( 5, 4 ) ref -> x19 this class-hnd single-def <System.Threading.ManualResetEventSlim>
-; V01 arg1 [V01,T01] ( 3, 2.50) ubyte -> x1 single-def
+; V01 arg1 [V01,T02] ( 3, 2.50) ubyte -> x1 single-def
; V02 loc0 [V02,T03] ( 7, 3.50) ref -> x20 class-hnd exact single-def <<unknown class>> ; V03 loc1 [V03,T08] ( 2, 0 ) ref -> [fp+0x10] class-hnd exact EH-live single-def <<unknown class>> ; V04 loc2 [V04 ] ( 6, 2.50) ubyte -> [fp+0x18] do-not-enreg[X] addr-exposed ld-addr-op ;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V06 tmp1 [V06,T05] ( 2, 2 ) ubyte -> x0 "Inlining Arg"
-; V07 tmp2 [V07,T02] ( 4, 4 ) ref -> x21 class-hnd exact single-def "dup spill" <<unknown class>>
+; V07 tmp2 [V07,T01] ( 5, 5 ) ref -> x21 class-hnd exact single-def "dup spill" <<unknown class>>
;* V08 tmp3 [V08 ] ( 0, 0 ) ref -> zero-ref single-def ; V09 PSPSym [V09,T07] ( 1, 1 ) long -> [fp+0x20] do-not-enreg[V] "PSPSym" ; V10 cse0 [V10,T04] ( 4, 3 ) byref -> x0 "CSE - aggressive" @@ -109,10 +109,8 @@ G_M198_IG08: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 mov x0, x21 ; gcrRegs +[x0] mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x21] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] @@ -126,7 +124,7 @@ G_M198_IG08: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 blr x1 ; gcrRegs -[x0 x21] ; gcr arg pop 0
- ;; size=64 bbWeight=0.50 PerfScore 9.75
+ ;; size=56 bbWeight=0.50 PerfScore 10.50
G_M198_IG09: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref mov x0, x20 ; gcrRegs +[x0] @@ -175,7 +173,7 @@ G_M198_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, f ret lr ;; size=16 bbWeight=0 PerfScore 0.00
-; Total bytes of code 336, prolog size 28, PerfScore 43.00, instruction count 84, allocated bytes for code 336 (MethodHash=9e9dff39) for method System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)
+; Total bytes of code 328, prolog size 28, PerfScore 43.75, instruction count 82, allocated bytes for code 328 (MethodHash=9e9dff39) for method System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)
; ============================================================ Unwind Info: @@ -186,7 +184,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 71 (0x00047) Actual length = 284 (0x00011c)
+ Function Length : 69 (0x00045) Actual length = 276 (0x000114)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-0.35%) : 4185.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.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, #0xD1FFAB1E LSL #32 - ldr x3, [x3]
+ ldr x3, [x2] + ldr x3, [x3, #0x60]
str x3, [fp, #0xC0] // [V110 cse0] ldr x4, [x3, #0x08] ; GC ptr vars -{V28} @@ -646,7 +644,7 @@ G_M9628_IG39: ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, by ; gcrRegs +[x1] mov x2, x1 ; gcrRegs +[x2]
- ;; size=180 bbWeight=2 PerfScore 108.00
+ ;; size=172 bbWeight=2 PerfScore 111.00
G_M9628_IG40: ; bbWeight=2, gcrefRegs=900004 {x2 x20 x23}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0-x1] cbz x2, G_M9628_IG42 @@ -754,7 +752,7 @@ G_M9628_IG44: ; bbWeight=1, gcrefRegs=900000 {x20 x23}, byrefRegs=0000 {} ; gcrRegs +[x22] b G_M9628_IG60 ;; size=8 bbWeight=1 PerfScore 3.00
-G_M9628_IG45: ; bbWeight=1, gcVars=00000000000000000004000020000220 {V03 V06 V13 V102}, gcrefRegs=900004 {x2 x20 x23}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG45: ; bbWeight=1, gcVars=00000000000000000004000020000120 {V03 V06 V13 V102}, gcrefRegs=900004 {x2 x20 x23}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[x22] +[x2] ; GC ptr vars -{V29} +{V13} ldp x19, x22, [fp, #0xA0] // [V06 arg6], [V03 arg3] @@ -762,7 +760,7 @@ G_M9628_IG45: ; bbWeight=1, gcVars=00000000000000000004000020000220 {V03 ; byrRegs +[x19] b G_M9628_IG59 ;; size=8 bbWeight=1 PerfScore 4.00
-G_M9628_IG46: ; bbWeight=2, gcVars=00000000000000000004040000000220 {V06 V13 V19 V102}, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M9628_IG46: ; bbWeight=2, gcVars=00000000000000000004040000000120 {V06 V13 V19 V102}, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[x2] ; byrRegs -[x19] ; GC ptr vars -{V03} +{V19} @@ -825,7 +823,7 @@ G_M9628_IG46: ; bbWeight=2, gcVars=00000000000000000004040000000220 {V06 ldr x1, [fp, #0x88] // [V20 loc13] ; gcrRegs +[x1] ;; size=144 bbWeight=2 PerfScore 63.00
-G_M9628_IG47: ; bbWeight=2, gcVars=00000000000000000004000000000220 {V06 V13 V102}, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M9628_IG47: ; bbWeight=2, gcVars=00000000000000000004000000000120 {V06 V13 V102}, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V20} mov w2, wzr ldr w0, [x1, #0x10] @@ -869,7 +867,7 @@ G_M9628_IG48: ; bbWeight=16, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs mov w2, w14 blt G_M9628_IG48 ;; size=104 bbWeight=16 PerfScore 576.00
-G_M9628_IG49: ; bbWeight=2, gcVars=00000000000000000004000000000220 {V06 V13 V102}, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M9628_IG49: ; bbWeight=2, gcVars=00000000000000000004000000000120 {V06 V13 V102}, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V20} ldp w15, w14, [x1, #0x10] add w14, w14, #1 @@ -894,14 +892,14 @@ G_M9628_IG49: ; bbWeight=2, gcVars=00000000000000000004000000000220 {V06 ; byrRegs +[x19] b G_M9628_IG59 ;; size=60 bbWeight=2 PerfScore 42.00
-G_M9628_IG50: ; bbWeight=1, gcVars=00000000000000000004000000000228 {V06 V13 V20 V102}, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG50: ; bbWeight=1, gcVars=00000000000000000004000000000128 {V06 V13 V20 V102}, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref
; byrRegs -[x19] ; GC ptr vars +{V03 V20} ldr x1, [fp, #0x88] // [V20 loc13] ; gcrRegs +[x1] b G_M9628_IG47 ;; size=8 bbWeight=1 PerfScore 3.00
-G_M9628_IG51: ; bbWeight=2, gcVars=00000000000000000004000000000220 {V06 V13 V102}, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG51: ; bbWeight=2, gcVars=00000000000000000004000000000120 {V06 V13 V102}, gcrefRegs=D00002 {x1 x20 x22 x23}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V03 V20} mov x0, x1 ; gcrRegs +[x0] @@ -926,7 +924,7 @@ G_M9628_IG52: ; bbWeight=2, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=000 cmp w0, #0 ble G_M9628_IG59 ;; size=20 bbWeight=2 PerfScore 14.00
-G_M9628_IG53: ; bbWeight=16, gcVars=00000000000000000004000000000200 {V13 V102}, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=80000 {x19}, gcvars, byref, isz
+G_M9628_IG53: ; bbWeight=16, gcVars=00000000000000000004000000000100 {V13 V102}, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=80000 {x19}, gcvars, byref, isz
; GC ptr vars -{V06} ldr w0, [x19, #0x10] str w2, [fp, #0xE8] // [V23 loc16] @@ -1086,7 +1084,7 @@ G_M9628_IG66: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref brk_unix #0 ;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2280, prolog size 96, PerfScore 2217.75, instruction count 570, allocated bytes for code 2280 (MethodHash=a5a7da63) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
+; Total bytes of code 2272, prolog size 96, PerfScore 2220.75, instruction count 568, allocated bytes for code 2272 (MethodHash=a5a7da63) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
; ============================================================ Unwind Info: @@ -1097,7 +1095,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 570 (0x0023a) Actual length = 2280 (0x0008e8)
+ Function Length : 568 (0x00238) Actual length = 2272 (0x0008e0)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

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

@@ -4846,17 +4846,14 @@ G_M21650_IG216: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, by ;; size=8 bbWeight=0.50 PerfScore 0.75 G_M21650_IG217: ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref ; gcrRegs -[x19] +[x0]
- ldr xzr, [x0] - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - ldr x1, [x1]
+ ldr x1, [x0] + ldr x1, [x1, #0x48]
ldr x1, [x1, #0x08] blr x1 ; gcr arg pop 0 mov x19, x0 ; gcrRegs +[x19]
- ;; size=32 bbWeight=0.50 PerfScore 6.00
+ ;; size=20 bbWeight=0.50 PerfScore 5.25
G_M21650_IG218: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[x0] mov x0, x19 @@ -4943,7 +4940,7 @@ G_M21650_IG225: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref brk_unix #0 ;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 11396, prolog size 84, PerfScore 6918.25, instruction count 2849, allocated bytes for code 11396 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
+; Total bytes of code 11384, prolog size 84, PerfScore 6917.50, instruction count 2846, allocated bytes for code 11384 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
; ============================================================ Unwind Info: @@ -4954,7 +4951,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 2849 (0x00b21) Actual length = 11396 (0x002c84)
+ Function Length : 2846 (0x00b1e) Actual length = 11384 (0x002c78)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

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

@@ -170,6 +170,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0xC0]
ldr x1, [x1, #0x30] blr x1 ; gcrRegs +[x0] @@ -189,7 +190,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcrRegs -[x0] ; gcr arg pop 0 cbz w0, G_M22068_IG12
- ;; size=80 bbWeight=1 PerfScore 22.00
+ ;; size=84 bbWeight=1 PerfScore 25.00
G_M22068_IG07: ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz mov x0, x20 ; gcrRegs +[x0] @@ -812,7 +813,7 @@ G_M22068_IG43: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000 brk_unix #0 ;; size=56 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1716, prolog size 56, PerfScore 985.88, instruction count 429, allocated bytes for code 1716 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
+; Total bytes of code 1720, prolog size 56, PerfScore 988.88, instruction count 430, allocated bytes for code 1720 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
; ============================================================ Unwind Info: @@ -823,7 +824,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 389 (0x00185) Actual length = 1556 (0x000614)
+ Function Length : 390 (0x00186) Actual length = 1560 (0x000618)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

coreclr_tests.run.linux.arm64.checked.mch

-16 (-23.53%) : 257853.dasm - GitHub_18497:Test():System.Numerics.Vector`1float

@@ -8,7 +8,7 @@ ; Final local variable assignments ; ;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V01 cse0 [V01,T00] ( 2, 2 ) long -> x0 "CSE - aggressive"
+; V01 cse0 [V01,T00] ( 3, 3 ) long -> x0 "CSE - aggressive"
; ; Lcl frame size = 0 @@ -20,23 +20,19 @@ G_M43943_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field> movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32
- ldr q0, [x0] - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldr q1, [x0]
+ ldp q0, q1, [x0]
movz x0, #0xD1FFAB1E // code for <unknown method> movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] blr x0
- ;; size=52 bbWeight=1 PerfScore 14.50
+ ;; size=36 bbWeight=1 PerfScore 10.00
G_M43943_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 68, prolog size 8, PerfScore 18.00, instruction count 17, allocated bytes for code 68 (MethodHash=92ba5458) for method GitHub_18497:Test():System.Numerics.Vector`1[float] (FullOpts)
+; Total bytes of code 52, prolog size 8, PerfScore 13.50, instruction count 13, allocated bytes for code 52 (MethodHash=92ba5458) for method GitHub_18497:Test():System.Numerics.Vector`1[float] (FullOpts)
; ============================================================ Unwind Info: @@ -47,7 +43,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 17 (0x00011) Actual length = 68 (0x000044)
+ Function Length : 13 (0x0000d) Actual length = 52 (0x000034)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-36 (-22.50%) : 261171.dasm - bug1:TestEntryPoint() (FullOpts)

@@ -9,7 +9,7 @@ ; ;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V01 cse0 [V01,T01] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
-; V02 cse1 [V02,T00] ( 2, 2 ) long -> x0 "CSE - aggressive"
+; V02 cse1 [V02,T00] ( 5, 5 ) long -> x0 "CSE - aggressive"
; ; Lcl frame size = 0 @@ -30,27 +30,18 @@ G_M5006_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x0, #0xD1FFAB1E LSL #32 mov w1, #3 str w1, [x0]
- mov w0, #2 - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - str w0, [x1]
+ mov w1, #2 + str w1, [x0, #0x04]
fmov d16, #6.0000
- movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - str d16, [x0] - mov x0, #1 - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - str x0, [x1]
+ str d16, [x0, #0x08] + mov x1, #1 + str x1, [x0, #0x10]
movz x0, #0xD1FFAB1E // code for bug1:f():int movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32 ldr x0, [x0] blr x0
- ;; size=100 bbWeight=1 PerfScore 17.50
+ ;; size=64 bbWeight=1 PerfScore 13.00
G_M5006_IG04: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr @@ -64,7 +55,7 @@ G_M5006_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {} b G_M5006_IG03 ;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 160, prolog size 8, PerfScore 26.50, instruction count 40, allocated bytes for code 160 (MethodHash=c14fec71) for method bug1:TestEntryPoint() (FullOpts)
+; Total bytes of code 124, prolog size 8, PerfScore 22.00, instruction count 31, allocated bytes for code 124 (MethodHash=c14fec71) for method bug1:TestEntryPoint() (FullOpts)
; ============================================================ Unwind Info: @@ -75,7 +66,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
+ Function Length : 31 (0x0001f) Actual length = 124 (0x00007c)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-12 (-16.67%) : 203945.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)

@@ -12,8 +12,8 @@ ;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]> ;* V02 tmp2 [V02,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP ;* V03 tmp3 [V03,T03] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> x0 "CSE - aggressive" -; V05 cse1 [V05,T01] ( 2, 1 ) long -> x0 "CSE - moderate"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> x0 "CSE - aggressive" +; V05 cse1 [V05,T01] ( 2, 1 ) long -> x1 "CSE - moderate"
; ; Lcl frame size = 0 @@ -25,28 +25,27 @@ G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0] - cbnz w0, G_M5950_IG04
+ ldrb w1, [x0] + cbnz w1, G_M5950_IG04
;; size=20 bbWeight=1 PerfScore 5.50
-G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field> - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - mov w1, #0xD1FFAB1E - strh w1, [x0]
+G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref + ; byrRegs +[x0] + movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field> + movk x1, #0xD1FFAB1E LSL #16 + movk x1, #0xD1FFAB1E LSL #32 + mov w2, #0xD1FFAB1E + strh w2, [x1]
;; size=20 bbWeight=0.50 PerfScore 1.50
-G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldrb w0, [x0] - ;; size=16 bbWeight=1 PerfScore 4.50
+G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref + ldrb w0, [x0, #0x01] + ; byrRegs -[x0] + ;; size=4 bbWeight=1 PerfScore 3.00
G_M5950_IG05: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 72, prolog size 8, PerfScore 15.00, instruction count 18, allocated bytes for code 72 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
+; Total bytes of code 60, prolog size 8, PerfScore 13.50, instruction count 15, allocated bytes for code 60 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
; ============================================================ Unwind Info: @@ -57,7 +56,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 18 (0x00012) Actual length = 72 (0x000048)
+ Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+3.57%) : 257059.dasm - Runtime_95347:Test():int (FullOpts)

@@ -30,11 +30,12 @@ G_M13057_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x48]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] cbz x0, G_M13057_IG07
- ;; size=40 bbWeight=1 PerfScore 11.00
+ ;; size=44 bbWeight=1 PerfScore 14.00
G_M13057_IG03: ; bbWeight=0.25, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz ldr w1, [x0, #0x08] cmp w1, #4 @@ -65,7 +66,7 @@ G_M13057_IG08: ; bbWeight=0.50, epilog, nogc, extend ret lr ;; size=8 bbWeight=0.50 PerfScore 1.00
-; Total bytes of code 112, prolog size 8, PerfScore 16.94, instruction count 28, allocated bytes for code 112 (MethodHash=260fccfe) for method Runtime_95347:Test():int (FullOpts)
+; Total bytes of code 116, prolog size 8, PerfScore 19.94, instruction count 29, allocated bytes for code 116 (MethodHash=260fccfe) for method Runtime_95347:Test():int (FullOpts)
; ============================================================ Unwind Info: @@ -76,7 +77,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 28 (0x0001c) Actual length = 112 (0x000070)
+ Function Length : 29 (0x0001d) Actual length = 116 (0x000074)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+12 (+4.05%) : 200412.dasm - ForwardSubCallArgInterference3:TestEntryPoint():int (FullOpts)

@@ -13,21 +13,21 @@ ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V03 tmp1 [V03,T04] ( 2, 4 ) ref -> x19 class-hnd exact single-def "NewObj constructor temp" <C> ;* V04 tmp2 [V04 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
-;* V05 tmp3 [V05,T12] ( 0, 0 ) long -> zero-ref "argument with side effect" -; V06 tmp4 [V06,T07] ( 2, 4 ) int -> x2 "argument with side effect" -; V07 tmp5 [V07,T05] ( 2, 4 ) byref -> x3 single-def "argument with side effect" -;* V08 tmp6 [V08,T13] ( 0, 0 ) long -> zero-ref "argument with side effect"
+; V05 tmp3 [V05,T07] ( 2, 4 ) long -> x3 "argument with side effect" +; V06 tmp4 [V06,T08] ( 2, 4 ) int -> x4 "argument with side effect" +; V07 tmp5 [V07,T05] ( 2, 4 ) byref -> x0 single-def "argument with side effect" +; V08 tmp6 [V08,T09] ( 2, 4 ) long -> x5 "argument with side effect"
; V09 tmp7 [V09,T06] ( 2, 4 ) ref -> x2 single-def "argument with side effect"
-; V10 tmp8 [V10,T08] ( 2, 4 ) int -> x19 "argument with side effect"
+; V10 tmp8 [V10,T10] ( 2, 4 ) int -> x19 "argument with side effect"
; V11 tmp9 [V11,T00] ( 6, 12 ) ref -> x1 single-def "MD array shared temp"
-; V12 tmp10 [V12,T01] ( 3, 6 ) int -> x3 "MD array shared temp" -; V13 tmp11 [V13,T02] ( 3, 6 ) int -> x4 "MD array shared temp" -;* V14 cse0 [V14,T14] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
+; V12 tmp10 [V12,T01] ( 3, 6 ) int -> x0 "MD array shared temp" +; V13 tmp11 [V13,T02] ( 3, 6 ) int -> x5 "MD array shared temp" +;* V14 cse0 [V14,T15] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
; V15 cse1 [V15,T03] ( 4, 4 ) long -> x20 "CSE - aggressive"
-; V16 cse2 [V16,T09] ( 3, 3 ) long -> x1 "CSE - aggressive" -; V17 cse3 [V17,T10] ( 3, 3 ) int -> x0 "CSE - aggressive" -;* V18 cse4 [V18,T15] ( 0, 0 ) long -> zero-ref "CSE - aggressive" -; V19 rat0 [V19,T11] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
+; V16 cse2 [V16,T11] ( 3, 3 ) long -> x1 "CSE - aggressive" +; V17 cse3 [V17,T12] ( 3, 3 ) int -> x6 "CSE - aggressive" +; V18 cse4 [V18,T13] ( 3, 3 ) long -> x2 "CSE - aggressive" +; V19 rat0 [V19,T14] ( 2, 2 ) long -> x0 "Spilling to split statement for tree"
; ; Lcl frame size = 48 @@ -69,34 +69,39 @@ G_M45892_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by bl CORINFO_HELP_ASSIGN_REF ; gcrRegs -[x15 x19] ldr w19, [fp, #0x30] // [V00 loc0+0x08]
- ldrb w2, [x20, #0x3C]
+ movz x2, #0xD1FFAB1E // data for <unknown class>:<unknown field> + movk x2, #0xD1FFAB1E LSL #16 + movk x2, #0xD1FFAB1E LSL #32 + add x3, x2, #8 + ldrb w4, [x20, #0x3C]
ldr x1, [x1, #0x18] ; gcrRegs +[x1]
- ldr w3, [x1, #0x18] - mov w4, wzr - sub w3, w4, w3 - ldp w4, w0, [x1, #0x10] - cmp w3, w4 - bhs G_M45892_IG05 - ldr w4, [x1, #0x1C]
+ ldr w0, [x1, #0x18]
mov w5, wzr
- sub w4, w5, w4 - cmp w4, w0
+ sub w0, w5, w0 + ldp w5, w6, [x1, #0x10] + cmp w0, w5
bhs G_M45892_IG05
- madd w3, w3, w0, w4 - mov w4, #24 - mov x0, #32 - umaddl x3, w3, w4, x0 - add x3, x3, x1 - ; byrRegs +[x3] - movz x1, #0xD1FFAB1E
+ ldr w5, [x1, #0x1C] + mov w7, wzr + sub w5, w7, w5 + cmp w5, w6 + bhs G_M45892_IG05 + madd w0, w0, w6, w5 + mov w5, #24 + mov x6, #32 + umaddl x0, w0, w5, x6 + add x0, x0, x1 + ; byrRegs +[x0] + add x5, x2, #12 + mov x1, x3
; gcrRegs -[x1]
- movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - movz x4, #0xD1FFAB1E - movk x4, #0xD1FFAB1E LSL #16 - movk x4, #0xD1FFAB1E LSL #32
+ mov w2, w4 + mov x3, x0 + ; byrRegs +[x3] + mov x4, x5
add x0, fp, #40 // [V00 loc0]
+ ; byrRegs -[x0]
movz x5, #0xD1FFAB1E // code for S0:M6(byref,ubyte,byref,byref):byte[]:this movk x5, #0xD1FFAB1E LSL #16 movk x5, #0xD1FFAB1E LSL #32 @@ -116,7 +121,7 @@ G_M45892_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by blr x3 ; gcrRegs -[x2] ldr w0, [x20, #0x38]
- ;; size=184 bbWeight=1 PerfScore 53.00
+ ;; size=196 bbWeight=1 PerfScore 54.50
G_M45892_IG04: ; bbWeight=1, epilog, nogc, extend ldp x19, x20, [sp, #0x40] ldp fp, lr, [sp], #0x50 @@ -132,7 +137,7 @@ G_M45892_IG06: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by b G_M45892_IG03 ;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 296, prolog size 28, PerfScore 72.00, instruction count 74, allocated bytes for code 296 (MethodHash=3a3b4cbb) for method ForwardSubCallArgInterference3:TestEntryPoint():int (FullOpts)
+; Total bytes of code 308, prolog size 28, PerfScore 73.50, instruction count 77, allocated bytes for code 308 (MethodHash=3a3b4cbb) for method ForwardSubCallArgInterference3:TestEntryPoint():int (FullOpts)
; ============================================================ Unwind Info: @@ -143,7 +148,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 74 (0x0004a) Actual length = 296 (0x000128)
+ Function Length : 77 (0x0004d) Actual length = 308 (0x000134)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+4.55%) : 319505.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)

@@ -27,6 +27,7 @@ G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28] blr x1 ; gcrRegs +[x0] @@ -39,13 +40,13 @@ G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
- ;; size=72 bbWeight=1 PerfScore 20.00
+ ;; size=76 bbWeight=1 PerfScore 23.00
G_M26176_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 br x1 ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 88, prolog size 8, PerfScore 23.50, instruction count 22, allocated bytes for code 88 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
+; Total bytes of code 92, prolog size 8, PerfScore 26.50, instruction count 23, allocated bytes for code 92 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
; ============================================================ Unwind Info: @@ -56,7 +57,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 22 (0x00016) Actual length = 88 (0x000058)
+ Function Length : 23 (0x00017) Actual length = 92 (0x00005c)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

libraries.pmi.linux.arm64.checked.mch

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

@@ -41,20 +41,17 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0021 {x0 x5}, byrefRegs=0000 {}, b cset x4, ne ldp x1, x2, [fp, #0x10] // [V01 arg1], [V01 arg1+0x08] ; gcrRegs +[x1]
- ldr xzr, [x0] - movz x6, #0xD1FFAB1E - movk x6, #0xD1FFAB1E LSL #16 - movk x6, #0xD1FFAB1E LSL #32
+ ldr x6, [x0] + ldr x6, [x6, #0x58]
ldr x6, [x6]
- ldr x6, [x6] - ;; size=36 bbWeight=1 PerfScore 14.50
+ ;; size=24 bbWeight=1 PerfScore 13.00
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x20 br x6 ; gcr arg pop 0 ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 56, prolog size 12, PerfScore 19.00, instruction count 14, allocated bytes for code 56 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
+; Total bytes of code 44, prolog size 12, PerfScore 17.50, instruction count 11, allocated bytes for code 44 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
; ============================================================ Unwind Info: @@ -65,7 +62,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-14.29%) : 15597.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)

@@ -7,9 +7,9 @@ ; No matching PGO data ; Final local variable assignments ;
-; V00 this [V00,T00] ( 3, 3 ) ref -> x0 this class-hnd single-def <Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString>
+; V00 this [V00,T01] ( 3, 3 ) ref -> x0 this class-hnd single-def <Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02,T01] ( 3, 5 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
+; V02 tmp1 [V02,T00] ( 4, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
;* V03 tmp2 [V03 ] ( 0, 0 ) ref -> zero-ref single-def ; ; Lcl frame size = 0 @@ -33,19 +33,17 @@ G_M47078_IG04: ; bbWeight=0.50, epilog, nogc, extend ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M47078_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref ; gcrRegs +[x0]
- movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - ldr x1, [x1]
+ ldr x1, [x0] + ldr x1, [x1, #0x48]
ldr x1, [x1, #0x18]
- ;; size=20 bbWeight=0.50 PerfScore 3.75
+ ;; size=12 bbWeight=0.50 PerfScore 4.50
G_M47078_IG06: ; bbWeight=0.50, epilog, nogc, extend ldp fp, lr, [sp], #0x10 br x1 ; gcr arg pop 0 ;; size=8 bbWeight=0.50 PerfScore 1.00
-; Total bytes of code 56, prolog size 8, PerfScore 11.50, instruction count 14, allocated bytes for code 56 (MethodHash=a2af4819) for method Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 12.25, instruction count 12, allocated bytes for code 48 (MethodHash=a2af4819) for method Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
; ============================================================ Unwind Info: @@ -56,7 +54,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
+ Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-14.29%) : 215537.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)

@@ -7,9 +7,9 @@ ; No matching PGO data ; Final local variable assignments ;
-; V00 this [V00,T00] ( 3, 3 ) ref -> x0 this class-hnd single-def <Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString>
+; V00 this [V00,T01] ( 3, 3 ) ref -> x0 this class-hnd single-def <Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02,T01] ( 3, 5 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
+; V02 tmp1 [V02,T00] ( 4, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
;* V03 tmp2 [V03 ] ( 0, 0 ) ref -> zero-ref single-def ; ; Lcl frame size = 0 @@ -33,19 +33,17 @@ G_M47078_IG04: ; bbWeight=0.50, epilog, nogc, extend ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M47078_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref ; gcrRegs +[x0]
- movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - ldr x1, [x1]
+ ldr x1, [x0] + ldr x1, [x1, #0x48]
ldr x1, [x1, #0x18]
- ;; size=20 bbWeight=0.50 PerfScore 3.75
+ ;; size=12 bbWeight=0.50 PerfScore 4.50
G_M47078_IG06: ; bbWeight=0.50, epilog, nogc, extend ldp fp, lr, [sp], #0x10 br x1 ; gcr arg pop 0 ;; size=8 bbWeight=0.50 PerfScore 1.00
-; Total bytes of code 56, prolog size 8, PerfScore 11.50, instruction count 14, allocated bytes for code 56 (MethodHash=a2af4819) for method Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 12.25, instruction count 12, allocated bytes for code 48 (MethodHash=a2af4819) for method Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
; ============================================================ Unwind Info: @@ -56,7 +54,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
+ Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+4.76%) : 282535.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)

@@ -30,6 +30,7 @@ G_M7230_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2]
+ ldr x2, [x2, #0xC0]
ldr x2, [x2, #0x10] blr x2 ; gcrRegs +[x0] @@ -40,13 +41,13 @@ G_M7230_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[x15] bl CORINFO_HELP_ASSIGN_REF ; gcrRegs -[x0 x15]
- ;; size=68 bbWeight=1 PerfScore 14.50
+ ;; size=72 bbWeight=1 PerfScore 17.50
G_M7230_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 84, prolog size 8, PerfScore 18.00, instruction count 21, allocated bytes for code 84 (MethodHash=7446e3c1) for method System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 21.00, instruction count 22, allocated bytes for code 88 (MethodHash=7446e3c1) for method System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================ Unwind Info: @@ -57,7 +58,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 21 (0x00015) Actual length = 84 (0x000054)
+ Function Length : 22 (0x00016) Actual length = 88 (0x000058)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+4.76%) : 282543.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)

@@ -30,6 +30,7 @@ G_M51153_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2]
+ ldr x2, [x2, #0xC0]
ldr x2, [x2, #0x10] blr x2 ; gcrRegs +[x0] @@ -40,13 +41,13 @@ G_M51153_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[x15] bl CORINFO_HELP_ASSIGN_REF ; gcrRegs -[x0 x15]
- ;; size=68 bbWeight=1 PerfScore 14.50
+ ;; size=72 bbWeight=1 PerfScore 17.50
G_M51153_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 84, prolog size 8, PerfScore 18.00, instruction count 21, allocated bytes for code 84 (MethodHash=fed8382e) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 21.00, instruction count 22, allocated bytes for code 88 (MethodHash=fed8382e) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================ Unwind Info: @@ -57,7 +58,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 21 (0x00015) Actual length = 84 (0x000054)
+ Function Length : 22 (0x00016) Actual length = 88 (0x000058)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+4.76%) : 282547.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)

@@ -30,6 +30,7 @@ G_M2750_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x2, #0xD1FFAB1E LSL #16 movk x2, #0xD1FFAB1E LSL #32 ldr x2, [x2]
+ ldr x2, [x2, #0xC0]
ldr x2, [x2, #0x10] blr x2 ; gcrRegs +[x0] @@ -40,13 +41,13 @@ G_M2750_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[x15] bl CORINFO_HELP_ASSIGN_REF ; gcrRegs -[x0 x15]
- ;; size=68 bbWeight=1 PerfScore 14.50
+ ;; size=72 bbWeight=1 PerfScore 17.50
G_M2750_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 84, prolog size 8, PerfScore 18.00, instruction count 21, allocated bytes for code 84 (MethodHash=43b3f541) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 88, prolog size 8, PerfScore 21.00, instruction count 22, allocated bytes for code 88 (MethodHash=43b3f541) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================ Unwind Info: @@ -57,7 +58,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 21 (0x00015) Actual length = 84 (0x000054)
+ Function Length : 22 (0x00016) Actual length = 88 (0x000058)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

libraries_tests.run.linux.arm64.Release.mch

-12 (-13.04%) : 622077.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)

@@ -13,7 +13,7 @@ ;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]> ;* V02 tmp2 [V02,T01] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP ;* V03 tmp3 [V03,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> x0 "CSE - aggressive"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> x1 "CSE - aggressive"
; ; Lcl frame size = 0 @@ -22,36 +22,34 @@ G_M5950_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, mov fp, sp ;; size=8 bbWeight=1 PerfScore 1.50 G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldrb w0, [x0]
+ movz x1, #0xD1FFAB1E + movk x1, #0xD1FFAB1E LSL #16 + movk x1, #0xD1FFAB1E LSL #32 + ldrb w0, [x1]
cbz w0, G_M5950_IG05 ;; size=20 bbWeight=1 PerfScore 5.50
-G_M5950_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldrb w0, [x0] - ;; size=16 bbWeight=1 PerfScore 4.50
+G_M5950_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {x1}, byref + ; byrRegs +[x1] + ldrb w0, [x1, #0x01] + ;; size=4 bbWeight=1 PerfScore 3.00
G_M5950_IG04: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00
-G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0002 {x1}, gcvars, byref
mov w0, #1
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field> - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - strb w0, [x1] - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - strb w0, [x1]
+ movz x2, #0xD1FFAB1E // data for <unknown class>:<unknown field> + movk x2, #0xD1FFAB1E LSL #16 + movk x2, #0xD1FFAB1E LSL #32 + strb w0, [x2] + movz x2, #0xD1FFAB1E + movk x2, #0xD1FFAB1E LSL #16 + movk x2, #0xD1FFAB1E LSL #32 + strb w0, [x2]
b G_M5950_IG03 ;; size=40 bbWeight=0 PerfScore 0.00
-; Total bytes of code 92, prolog size 8, PerfScore 13.50, instruction count 23, allocated bytes for code 92 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
+; Total bytes of code 80, prolog size 8, PerfScore 12.00, instruction count 20, allocated bytes for code 80 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
; ============================================================ Unwind Info: @@ -62,7 +60,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 23 (0x00017) Actual length = 92 (0x00005c)
+ Function Length : 20 (0x00014) Actual length = 80 (0x000050)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-12 (-13.04%) : 638196.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)

@@ -13,7 +13,7 @@ ;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]> ;* V02 tmp2 [V02,T01] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP ;* V03 tmp3 [V03,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> x0 "CSE - aggressive"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> x1 "CSE - aggressive"
; ; Lcl frame size = 0 @@ -22,36 +22,34 @@ G_M5950_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, mov fp, sp ;; size=8 bbWeight=1 PerfScore 1.50 G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldrb w0, [x0]
+ movz x1, #0xD1FFAB1E + movk x1, #0xD1FFAB1E LSL #16 + movk x1, #0xD1FFAB1E LSL #32 + ldrb w0, [x1]
cbz w0, G_M5950_IG05 ;; size=20 bbWeight=1 PerfScore 5.50
-G_M5950_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldrb w0, [x0] - ;; size=16 bbWeight=1 PerfScore 4.50
+G_M5950_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {x1}, byref + ; byrRegs +[x1] + ldrb w0, [x1, #0x01] + ;; size=4 bbWeight=1 PerfScore 3.00
G_M5950_IG04: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00
-G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0002 {x1}, gcvars, byref
mov w0, #1
- movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field> - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - strb w0, [x1] - movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - strb w0, [x1]
+ movz x2, #0xD1FFAB1E // data for <unknown class>:<unknown field> + movk x2, #0xD1FFAB1E LSL #16 + movk x2, #0xD1FFAB1E LSL #32 + strb w0, [x2] + movz x2, #0xD1FFAB1E + movk x2, #0xD1FFAB1E LSL #16 + movk x2, #0xD1FFAB1E LSL #32 + strb w0, [x2]
b G_M5950_IG03 ;; size=40 bbWeight=0 PerfScore 0.00
-; Total bytes of code 92, prolog size 8, PerfScore 13.50, instruction count 23, allocated bytes for code 92 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
+; Total bytes of code 80, prolog size 8, PerfScore 12.00, instruction count 20, allocated bytes for code 80 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
; ============================================================ Unwind Info: @@ -62,7 +60,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 23 (0x00017) Actual length = 92 (0x00005c)
+ Function Length : 20 (0x00014) Actual length = 80 (0x000050)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-24 (-10.17%) : 556885.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:Dispose():this (Tier1)

@@ -9,13 +9,13 @@ ; 6 inlinees with PGO data; 4 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ;
-; V00 this [V00,T00] ( 7, 7 ) ref -> x19 this class-hnd single-def <System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor>
+; V00 this [V00,T03] ( 7, 7 ) ref -> x19 this class-hnd single-def <System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02,T01] ( 4, 8 ) ref -> x20 class-hnd exact single-def "dup spill" <<unknown class>>
+; V02 tmp1 [V02,T00] ( 5, 10 ) ref -> x20 class-hnd exact single-def "dup spill" <<unknown class>>
;* V03 tmp2 [V03 ] ( 0, 0 ) ref -> zero-ref single-def
-; V04 tmp3 [V04,T02] ( 4, 8 ) ref -> x20 class-hnd exact single-def "dup spill" <Microsoft.Win32.SafeHandles.SafeX509StackHandle>
+; V04 tmp3 [V04,T01] ( 5, 10 ) ref -> x20 class-hnd exact single-def "dup spill" <Microsoft.Win32.SafeHandles.SafeX509StackHandle>
;* V05 tmp4 [V05 ] ( 0, 0 ) ref -> zero-ref single-def
-; V06 tmp5 [V06,T03] ( 4, 8 ) ref -> x20 class-hnd exact single-def "dup spill" <<unknown class>>
+; V06 tmp5 [V06,T02] ( 5, 10 ) ref -> x20 class-hnd exact single-def "dup spill" <<unknown class>>
;* V07 tmp6 [V07 ] ( 0, 0 ) ref -> zero-ref single-def ; V08 tmp7 [V08,T04] ( 4, 8 ) ref -> x0 class-hnd exact single-def "dup spill" <System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor+WorkingChain> ;* V09 tmp8 [V09 ] ( 0, 0 ) ref -> zero-ref single-def @@ -37,10 +37,8 @@ G_M39306_IG02: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by mov x0, x20 ; gcrRegs +[x0] mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x20] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] @@ -48,7 +46,7 @@ G_M39306_IG02: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by ; gcrRegs +[x0] bl <unknown method> ; gcrRegs -[x0 x20]
- ;; size=48 bbWeight=1 PerfScore 15.00
+ ;; size=40 bbWeight=1 PerfScore 16.50
G_M39306_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz ldr x20, [x19, #0x18] ; gcrRegs +[x20] @@ -56,10 +54,8 @@ G_M39306_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by mov x0, x20 ; gcrRegs +[x0] mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x20] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] @@ -67,7 +63,7 @@ G_M39306_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by ; gcrRegs +[x0] bl <unknown method> ; gcrRegs -[x0 x20]
- ;; size=48 bbWeight=1 PerfScore 15.00
+ ;; size=40 bbWeight=1 PerfScore 16.50
G_M39306_IG04: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz ldr x20, [x19, #0x10] ; gcrRegs +[x20] @@ -75,10 +71,8 @@ G_M39306_IG04: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by mov x0, x20 ; gcrRegs +[x0] mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x20] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] blr x2 ; gcrRegs -[x0] @@ -86,7 +80,7 @@ G_M39306_IG04: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by ; gcrRegs +[x0] bl <unknown method> ; gcrRegs -[x0 x20]
- ;; size=48 bbWeight=1 PerfScore 15.00
+ ;; size=40 bbWeight=1 PerfScore 16.50
G_M39306_IG05: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz ldr x0, [x19, #0x28] ; gcrRegs +[x0] @@ -118,7 +112,7 @@ G_M39306_IG07: ; bbWeight=1, epilog, nogc, extend ret lr ;; size=12 bbWeight=1 PerfScore 3.00
-; Total bytes of code 236, prolog size 12, PerfScore 71.50, instruction count 59, allocated bytes for code 236 (MethodHash=dc916675) for method System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:Dispose():this (Tier1)
+; Total bytes of code 212, prolog size 12, PerfScore 76.00, instruction count 53, allocated bytes for code 212 (MethodHash=dc916675) for method System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:Dispose():this (Tier1)
; ============================================================ Unwind Info: @@ -129,7 +123,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 59 (0x0003b) Actual length = 236 (0x0000ec)
+ Function Length : 53 (0x00035) Actual length = 212 (0x0000d4)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+2.04%) : 199754.dasm - System.GC:AllocateUninitializedArrayint:int

@@ -74,11 +74,12 @@ G_M50407_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0xA0]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] cbz x0, G_M50407_IG10
- ;; size=84 bbWeight=1 PerfScore 17.50
+ ;; size=88 bbWeight=1 PerfScore 20.50
G_M50407_IG07: ; bbWeight=0.46, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref ldr x0, [x0, #0x18] ; gcrRegs -[x0] @@ -101,7 +102,7 @@ G_M50407_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=000 b G_M50407_IG08 ;; size=8 bbWeight=0.04 PerfScore 0.06
-; Total bytes of code 196, prolog size 16, PerfScore 35.69, instruction count 49, allocated bytes for code 196 (MethodHash=a3303b18) for method System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
+; Total bytes of code 200, prolog size 16, PerfScore 38.69, instruction count 50, allocated bytes for code 200 (MethodHash=a3303b18) for method System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
; ============================================================ Unwind Info: @@ -112,7 +113,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 49 (0x00031) Actual length = 196 (0x0000c4)
+ Function Length : 50 (0x00032) Actual length = 200 (0x0000c8)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+2.04%) : 274327.dasm - System.GC:AllocateUninitializedArrayubyte:ubyte

@@ -74,11 +74,12 @@ G_M39911_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0xA0]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] cbz x0, G_M39911_IG10
- ;; size=84 bbWeight=1 PerfScore 17.50
+ ;; size=88 bbWeight=1 PerfScore 20.50
G_M39911_IG07: ; bbWeight=0.46, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref ldr x0, [x0, #0x18] ; gcrRegs -[x0] @@ -101,7 +102,7 @@ G_M39911_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=000 b G_M39911_IG08 ;; size=8 bbWeight=0.04 PerfScore 0.06
-; Total bytes of code 196, prolog size 16, PerfScore 35.69, instruction count 49, allocated bytes for code 196 (MethodHash=4acc6418) for method System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
+; Total bytes of code 200, prolog size 16, PerfScore 38.69, instruction count 50, allocated bytes for code 200 (MethodHash=4acc6418) for method System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
; ============================================================ Unwind Info: @@ -112,7 +113,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 49 (0x00031) Actual length = 196 (0x0000c4)
+ Function Length : 50 (0x00032) Actual length = 200 (0x0000c8)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+2.04%) : 92368.dasm - System.GC:AllocateUninitializedArrayushort:ushort

@@ -74,11 +74,12 @@ G_M8903_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0xA0]
ldr x1, [x1, #0x08] blr x1 ; gcrRegs +[x0] cbz x0, G_M8903_IG10
- ;; size=84 bbWeight=1 PerfScore 17.50
+ ;; size=88 bbWeight=1 PerfScore 20.50
G_M8903_IG07: ; bbWeight=0.46, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref ldr x0, [x0, #0x18] ; gcrRegs -[x0] @@ -101,7 +102,7 @@ G_M8903_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=0000 b G_M8903_IG08 ;; size=8 bbWeight=0.04 PerfScore 0.06
-; Total bytes of code 196, prolog size 16, PerfScore 35.69, instruction count 49, allocated bytes for code 196 (MethodHash=3f15dd38) for method System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
+; Total bytes of code 200, prolog size 16, PerfScore 38.69, instruction count 50, allocated bytes for code 200 (MethodHash=3f15dd38) for method System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
; ============================================================ Unwind Info: @@ -112,7 +113,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 49 (0x00031) Actual length = 196 (0x0000c4)
+ Function Length : 50 (0x00032) Actual length = 200 (0x0000c8)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

librariestestsnotieredcompilation.run.linux.arm64.Release.mch

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

@@ -41,20 +41,17 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0021 {x0 x5}, byrefRegs=0000 {}, b cset x4, ne ldp x1, x2, [fp, #0x10] // [V01 arg1], [V01 arg1+0x08] ; gcrRegs +[x1]
- ldr xzr, [x0] - movz x6, #0xD1FFAB1E - movk x6, #0xD1FFAB1E LSL #16 - movk x6, #0xD1FFAB1E LSL #32
+ ldr x6, [x0] + ldr x6, [x6, #0x58]
ldr x6, [x6]
- ldr x6, [x6] - ;; size=36 bbWeight=1 PerfScore 14.50
+ ;; size=24 bbWeight=1 PerfScore 13.00
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x20 br x6 ; gcr arg pop 0 ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 56, prolog size 12, PerfScore 19.00, instruction count 14, allocated bytes for code 56 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
+; Total bytes of code 44, prolog size 12, PerfScore 17.50, instruction count 11, allocated bytes for code 44 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
; ============================================================ Unwind Info: @@ -65,7 +62,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
+ Function Length : 11 (0x0000b) Actual length = 44 (0x00002c)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-12 (-16.67%) : 21630.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)

@@ -12,8 +12,8 @@ ;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]> ;* V02 tmp2 [V02,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP ;* V03 tmp3 [V03,T03] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> x0 "CSE - aggressive" -; V05 cse1 [V05,T01] ( 2, 1 ) long -> x0 "CSE - moderate"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> x0 "CSE - aggressive" +; V05 cse1 [V05,T01] ( 2, 1 ) long -> x1 "CSE - moderate"
; ; Lcl frame size = 0 @@ -25,28 +25,27 @@ G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 movk x0, #0xD1FFAB1E LSL #32
- ldrb w0, [x0] - cbnz w0, G_M5950_IG04
+ ldrb w1, [x0] + cbnz w1, G_M5950_IG04
;; size=20 bbWeight=1 PerfScore 5.50
-G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - movz x0, #0xD1FFAB1E // data for <unknown class>:<unknown field> - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - mov w1, #0xD1FFAB1E - strh w1, [x0]
+G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref + ; byrRegs +[x0] + movz x1, #0xD1FFAB1E // data for <unknown class>:<unknown field> + movk x1, #0xD1FFAB1E LSL #16 + movk x1, #0xD1FFAB1E LSL #32 + mov w2, #0xD1FFAB1E + strh w2, [x1]
;; size=20 bbWeight=0.50 PerfScore 1.50
-G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldrb w0, [x0] - ;; size=16 bbWeight=1 PerfScore 4.50
+G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref + ldrb w0, [x0, #0x01] + ; byrRegs -[x0] + ;; size=4 bbWeight=1 PerfScore 3.00
G_M5950_IG05: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 72, prolog size 8, PerfScore 15.00, instruction count 18, allocated bytes for code 72 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
+; Total bytes of code 60, prolog size 8, PerfScore 13.50, instruction count 15, allocated bytes for code 60 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
; ============================================================ Unwind Info: @@ -57,7 +56,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 18 (0x00012) Actual length = 72 (0x000048)
+ Function Length : 15 (0x0000f) Actual length = 60 (0x00003c)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-8 (-14.29%) : 11038.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)

@@ -7,9 +7,9 @@ ; No matching PGO data ; Final local variable assignments ;
-; V00 this [V00,T00] ( 3, 3 ) ref -> x0 this class-hnd single-def <Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString>
+; V00 this [V00,T01] ( 3, 3 ) ref -> x0 this class-hnd single-def <Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString>
;# V01 OutArgs [V01 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V02 tmp1 [V02,T01] ( 3, 5 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
+; V02 tmp1 [V02,T00] ( 4, 6 ) ref -> x0 class-hnd exact single-def "dup spill" <<unknown class>>
;* V03 tmp2 [V03 ] ( 0, 0 ) ref -> zero-ref single-def ; ; Lcl frame size = 0 @@ -33,19 +33,17 @@ G_M47078_IG04: ; bbWeight=0.50, epilog, nogc, extend ;; size=8 bbWeight=0.50 PerfScore 1.00 G_M47078_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref ; gcrRegs +[x0]
- movz x1, #0xD1FFAB1E - movk x1, #0xD1FFAB1E LSL #16 - movk x1, #0xD1FFAB1E LSL #32 - ldr x1, [x1]
+ ldr x1, [x0] + ldr x1, [x1, #0x48]
ldr x1, [x1, #0x18]
- ;; size=20 bbWeight=0.50 PerfScore 3.75
+ ;; size=12 bbWeight=0.50 PerfScore 4.50
G_M47078_IG06: ; bbWeight=0.50, epilog, nogc, extend ldp fp, lr, [sp], #0x10 br x1 ; gcr arg pop 0 ;; size=8 bbWeight=0.50 PerfScore 1.00
-; Total bytes of code 56, prolog size 8, PerfScore 11.50, instruction count 14, allocated bytes for code 56 (MethodHash=a2af4819) for method Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
+; Total bytes of code 48, prolog size 8, PerfScore 12.25, instruction count 12, allocated bytes for code 48 (MethodHash=a2af4819) for method Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
; ============================================================ Unwind Info: @@ -56,7 +54,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 14 (0x0000e) Actual length = 56 (0x000038)
+ Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+8.33%) : 184433.dasm - System.Reflection.Tests.Helpers:get_ExecutingAssembly():System.Reflection.Assembly (FullOpts)

@@ -27,15 +27,16 @@ G_M55638_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28]
- ;; size=32 bbWeight=1 PerfScore 9.00
+ ;; size=36 bbWeight=1 PerfScore 12.00
G_M55638_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 br x1 ; gcr arg pop 0 ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 48, prolog size 8, PerfScore 12.50, instruction count 12, allocated bytes for code 48 (MethodHash=6f5c26a9) for method System.Reflection.Tests.Helpers:get_ExecutingAssembly():System.Reflection.Assembly (FullOpts)
+; Total bytes of code 52, prolog size 8, PerfScore 15.50, instruction count 13, allocated bytes for code 52 (MethodHash=6f5c26a9) for method System.Reflection.Tests.Helpers:get_ExecutingAssembly():System.Reflection.Assembly (FullOpts)
; ============================================================ Unwind Info: @@ -46,7 +47,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
+ Function Length : 13 (0x0000d) Actual length = 52 (0x000034)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

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

@@ -27,15 +27,16 @@ G_M34055_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28]
- ;; size=32 bbWeight=1 PerfScore 9.00
+ ;; size=36 bbWeight=1 PerfScore 12.00
G_M34055_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 br x1 ; gcr arg pop 0 ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 48, prolog size 8, PerfScore 12.50, instruction count 12, allocated bytes for code 48 (MethodHash=b4987af8) for method System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
+; Total bytes of code 52, prolog size 8, PerfScore 15.50, instruction count 13, allocated bytes for code 52 (MethodHash=b4987af8) for method System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
; ============================================================ Unwind Info: @@ -46,7 +47,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
+ Function Length : 13 (0x0000d) Actual length = 52 (0x000034)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+8.33%) : 184211.dasm - System.Reflection.Tests.TypeInfoTests+<>c:b_180():System.Object:this (FullOpts)

@@ -28,15 +28,16 @@ G_M26384_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0xA8]
ldr x1, [x1, #0x18]
- ;; size=32 bbWeight=1 PerfScore 9.00
+ ;; size=36 bbWeight=1 PerfScore 12.00
G_M26384_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 br x1 ; gcr arg pop 0 ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 48, prolog size 8, PerfScore 12.50, instruction count 12, allocated bytes for code 48 (MethodHash=5be998ef) for method System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumUnderlyingType_TypeNotEnum_ThrowsArgumentException>b__18_0():System.Object:this (FullOpts)
+; Total bytes of code 52, prolog size 8, PerfScore 15.50, instruction count 13, allocated bytes for code 52 (MethodHash=5be998ef) for method System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumUnderlyingType_TypeNotEnum_ThrowsArgumentException>b__18_0():System.Object:this (FullOpts)
; ============================================================ Unwind Info: @@ -47,7 +48,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 12 (0x0000c) Actual length = 48 (0x000030)
+ Function Length : 13 (0x0000d) Actual length = 52 (0x000034)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

realworld.run.linux.arm64.checked.mch

-36 (-7.09%) : 3801.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)

@@ -13,7 +13,7 @@ ;* V02 loc2 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd <<unknown class>> ; V03 loc3 [V03,T05] ( 3, 1.50) ubyte -> x20 ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V05 tmp1 [V05,T00] ( 4, 3.50) ref -> x20 single-def "inline UNBOX clone1"
+; V05 tmp1 [V05,T01] ( 4, 3.50) ref -> x20 single-def "inline UNBOX clone1"
;* V06 tmp2 [V06 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]> ;* V07 tmp3 [V07 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V08 tmp4 [V08,T10] ( 0, 0 ) ubyte -> zero-ref single-def "field V06.hasValue (fldOffset=0x0)" P-INDEP @@ -22,7 +22,7 @@ ; V11 tmp7 [V11,T02] ( 3, 3 ) ref -> x0 single-def "argument with side effect" ; V12 tmp8 [V12,T03] ( 3, 3 ) ref -> x0 single-def "argument with side effect" ; V13 PSPSym [V13,T09] ( 1, 1 ) long -> [fp+0x28] do-not-enreg[V] "PSPSym"
-; V14 cse0 [V14,T01] ( 4, 3 ) byref -> x19 "CSE - aggressive"
+; V14 cse0 [V14,T00] ( 7, 4.50) byref -> x19 "CSE - aggressive"
; V15 cse1 [V15,T06] ( 3, 1.50) long -> x1 "CSE - moderate" ; ; Lcl frame size = 32 @@ -42,19 +42,16 @@ G_M36239_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ldrb w0, [x19] cbz w0, G_M36239_IG05 ;; size=20 bbWeight=1 PerfScore 5.50
-G_M36239_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldrb w0, [x0] - ;; size=16 bbWeight=0.50 PerfScore 2.25
+G_M36239_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref + ; byrRegs +[x19] + ldrb w0, [x19, #0x01] + ;; size=4 bbWeight=0.50 PerfScore 1.50
G_M36239_IG04: ; bbWeight=0.50, epilog, nogc, extend ldp x19, x20, [sp, #0x30] ldp fp, lr, [sp], #0x40 ret lr ;; size=12 bbWeight=0.50 PerfScore 1.50 G_M36239_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, gcvars, byref
- ; byrRegs +[x19]
movz x1, #0xD1FFAB1E movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 @@ -80,12 +77,9 @@ G_M36239_IG06: ; bbWeight=0.50, gcVars=0000000000000080 {V00}, gcrefRegs= ; gcr arg pop 0 ldrb w0, [x19] cbz w0, G_M36239_IG07
- movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldrb w20, [x0]
+ ldrb w20, [x19, #0x01]
b G_M36239_IG13
- ;; size=68 bbWeight=0.50 PerfScore 10.75
+ ;; size=56 bbWeight=0.50 PerfScore 10.00
G_M36239_IG07: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref, isz movz x0, #0xD1FFAB1E movk x0, #0xD1FFAB1E LSL #16 @@ -173,13 +167,12 @@ G_M36239_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcr arg pop 0 brk_unix #0 ;; size=24 bbWeight=0 PerfScore 0.00
-G_M36239_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - movz x0, #0xD1FFAB1E - movk x0, #0xD1FFAB1E LSL #16 - movk x0, #0xD1FFAB1E LSL #32 - ldrb w20, [x0] - ;; size=16 bbWeight=0.50 PerfScore 2.25
+G_M36239_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=80000 {x19}, byref + ; byrRegs +[x19] + ldrb w20, [x19, #0x01] + ;; size=4 bbWeight=0.50 PerfScore 1.50
G_M36239_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ; byrRegs -[x19]
ldrb w0, [fp, #0x20] // [V01 loc1] cbz w0, G_M36239_IG14 ldr x0, [fp, #0x18] // [V00 loc0] @@ -220,7 +213,7 @@ G_M36239_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ret lr ;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 508, prolog size 24, PerfScore 63.38, instruction count 127, allocated bytes for code 508 (MethodHash=70747270) for method Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
+; Total bytes of code 472, prolog size 24, PerfScore 61.12, instruction count 118, allocated bytes for code 472 (MethodHash=70747270) for method Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
; ============================================================ Unwind Info: @@ -231,7 +224,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 116 (0x00074) Actual length = 464 (0x0001d0)
+ Function Length : 107 (0x0006b) Actual length = 428 (0x0001ac)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-40 (-5.99%) : 8109.dasm - FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:GetTyconAttribs(FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Collections.FSharpList1[FSharp.Compiler.TypedTree+Attrib]):System.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] ( 13, 13 ) ref -> x19 class-hnd single-def <FSharp.Compiler.TcGlobals+TcGlobals>
+; V00 arg0 [V00,T15] ( 13, 13 ) ref -> x19 class-hnd single-def <FSharp.Compiler.TcGlobals+TcGlobals>
; V01 arg1 [V01,T18] ( 7, 7 ) ref -> x20 class-hnd single-def <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]>
-; V02 loc0 [V02,T12] ( 10, 10 ) ref -> registers class-hnd <FSharp.Compiler.TcGlobals+BuiltinAttribInfo>
+; V02 loc0 [V02,T17] ( 10, 10 ) ref -> registers class-hnd <FSharp.Compiler.TcGlobals+BuiltinAttribInfo>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V04 tmp1 [V04,T19] ( 4, 8 ) ref -> x22 class-hnd exact single-def "NewObj constructor temp" <FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores+GetTyconAttribs@3149> ; V05 tmp2 [V05,T30] ( 2, 4 ) int -> x21 "impAppendStmt" @@ -21,37 +21,37 @@ ; V10 tmp7 [V10,T22] ( 4, 8 ) ref -> x26 class-hnd exact single-def "NewObj constructor temp" <FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores+GetTyconAttribs@3152-3> ; V11 tmp8 [V11,T33] ( 2, 4 ) int -> x25 "impAppendStmt" ; V12 tmp9 [V12,T23] ( 4, 8 ) ref -> x23 class-hnd exact single-def "NewObj constructor temp" <FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores+GetTyconAttribs@3153-4>
-; V13 tmp10 [V13,T11] ( 7, 14 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Tuple`5[ubyte,ubyte,ubyte,ubyte,ubyte]>
+; V13 tmp10 [V13,T16] ( 7, 14 ) ref -> x0 class-hnd exact single-def "NewObj constructor temp" <System.Tuple`5[ubyte,ubyte,ubyte,ubyte,ubyte]>
; V14 tmp11 [V14,T34] ( 3, 2 ) ubyte -> x21 "Inline return value spill temp" ; V15 tmp12 [V15,T00] ( 4, 34 ) ref -> x2 class-hnd "Inlining Arg" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ;* V16 tmp13 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ; V17 tmp14 [V17,T24] ( 2, 8 ) ref -> x21 class-hnd "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ;* V18 tmp15 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <FSharp.Compiler.TypedTree+Attrib>
-; V19 tmp16 [V19,T13] ( 2, 10 ) ref -> x22 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V19 tmp16 [V19,T10] ( 3, 18 ) ref -> x22 class-hnd single-def "Inlining Arg" <<unknown class>>
; V20 tmp17 [V20,T35] ( 3, 2 ) ubyte -> x22 "Inline return value spill temp" ; V21 tmp18 [V21,T01] ( 4, 34 ) ref -> x2 class-hnd "Inlining Arg" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ;* V22 tmp19 [V22 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ; V23 tmp20 [V23,T25] ( 2, 8 ) ref -> x22 class-hnd "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ;* V24 tmp21 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <FSharp.Compiler.TypedTree+Attrib>
-; V25 tmp22 [V25,T14] ( 2, 10 ) ref -> x24 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V25 tmp22 [V25,T11] ( 3, 18 ) ref -> x24 class-hnd single-def "Inlining Arg" <<unknown class>>
; V26 tmp23 [V26,T36] ( 3, 2 ) ubyte -> x24 "Inline return value spill temp" ; V27 tmp24 [V27,T02] ( 4, 34 ) ref -> x2 class-hnd "Inlining Arg" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ;* V28 tmp25 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ; V29 tmp26 [V29,T26] ( 2, 8 ) ref -> x24 class-hnd "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ;* V30 tmp27 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <FSharp.Compiler.TypedTree+Attrib>
-; V31 tmp28 [V31,T15] ( 2, 10 ) ref -> x25 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V31 tmp28 [V31,T12] ( 3, 18 ) ref -> x25 class-hnd single-def "Inlining Arg" <<unknown class>>
; V32 tmp29 [V32,T37] ( 3, 2 ) ubyte -> x25 "Inline return value spill temp" ; V33 tmp30 [V33,T03] ( 4, 34 ) ref -> x2 class-hnd "Inlining Arg" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ;* V34 tmp31 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ; V35 tmp32 [V35,T27] ( 2, 8 ) ref -> x25 class-hnd "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ;* V36 tmp33 [V36 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <FSharp.Compiler.TypedTree+Attrib>
-; V37 tmp34 [V37,T16] ( 2, 10 ) ref -> x26 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V37 tmp34 [V37,T13] ( 3, 18 ) ref -> x26 class-hnd single-def "Inlining Arg" <<unknown class>>
; V38 tmp35 [V38,T38] ( 3, 2 ) ubyte -> x19 "Inline return value spill temp" ; V39 tmp36 [V39,T04] ( 4, 34 ) ref -> x20 class-hnd "Inlining Arg" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ;* V40 tmp37 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ; V41 tmp38 [V41,T28] ( 2, 8 ) ref -> x19 class-hnd "Inline stloc first use temp" <Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]> ;* V42 tmp39 [V42 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <FSharp.Compiler.TypedTree+Attrib>
-; V43 tmp40 [V43,T17] ( 2, 10 ) ref -> x23 class-hnd single-def "Inlining Arg" <<unknown class>>
+; V43 tmp40 [V43,T14] ( 3, 18 ) ref -> x23 class-hnd single-def "Inlining Arg" <<unknown class>>
;* V44 tmp41 [V44 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V45 tmp42 [V45 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V46 tmp43 [V46 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" @@ -115,11 +115,9 @@ G_M41131_IG04: ; bbWeight=4, gcrefRegs=780004 {x2 x19 x20 x21 x22}, byref ; gcrRegs +[x1] mov x0, x22 ; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
+ ldr x2, [x22]
; gcrRegs -[x2]
- movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20] blr x2 ; gcrRegs -[x0-x1] @@ -127,7 +125,7 @@ G_M41131_IG04: ; bbWeight=4, gcrefRegs=780004 {x2 x19 x20 x21 x22}, byref mov x2, x21 ; gcrRegs +[x2] b G_M41131_IG03
- ;; size=44 bbWeight=4 PerfScore 58.00
+ ;; size=36 bbWeight=4 PerfScore 64.00
G_M41131_IG05: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref ; gcrRegs -[x2 x21-x22] mov w21, wzr @@ -177,11 +175,9 @@ G_M41131_IG09: ; bbWeight=4, gcrefRegs=1580004 {x2 x19 x20 x22 x24}, byre ; gcrRegs +[x1] mov x0, x24 ; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
+ ldr x2, [x24]
; gcrRegs -[x2]
- movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20] blr x2 ; gcrRegs -[x0-x1] @@ -189,7 +185,7 @@ G_M41131_IG09: ; bbWeight=4, gcrefRegs=1580004 {x2 x19 x20 x22 x24}, byre mov x2, x22 ; gcrRegs +[x2] b G_M41131_IG08
- ;; size=44 bbWeight=4 PerfScore 58.00
+ ;; size=36 bbWeight=4 PerfScore 64.00
G_M41131_IG10: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref ; gcrRegs -[x2 x22 x24] mov w22, wzr @@ -236,11 +232,9 @@ G_M41131_IG14: ; bbWeight=4, gcrefRegs=3180004 {x2 x19 x20 x24 x25}, byre ; gcrRegs +[x1] mov x0, x25 ; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
+ ldr x2, [x25]
; gcrRegs -[x2]
- movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20] blr x2 ; gcrRegs -[x0-x1] @@ -248,7 +242,7 @@ G_M41131_IG14: ; bbWeight=4, gcrefRegs=3180004 {x2 x19 x20 x24 x25}, byre mov x2, x24 ; gcrRegs +[x2] b G_M41131_IG13
- ;; size=44 bbWeight=4 PerfScore 58.00
+ ;; size=36 bbWeight=4 PerfScore 64.00
G_M41131_IG15: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref ; gcrRegs -[x2 x24-x25] mov w24, wzr @@ -295,11 +289,9 @@ G_M41131_IG19: ; bbWeight=4, gcrefRegs=6180004 {x2 x19 x20 x25 x26}, byre ; gcrRegs +[x1] mov x0, x26 ; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E
+ ldr x2, [x26]
; gcrRegs -[x2]
- movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20] blr x2 ; gcrRegs -[x0-x1] @@ -307,7 +299,7 @@ G_M41131_IG19: ; bbWeight=4, gcrefRegs=6180004 {x2 x19 x20 x25 x26}, byre mov x2, x25 ; gcrRegs +[x2] b G_M41131_IG18
- ;; size=44 bbWeight=4 PerfScore 58.00
+ ;; size=36 bbWeight=4 PerfScore 64.00
G_M41131_IG20: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref ; gcrRegs -[x2 x25-x26] mov w25, wzr @@ -352,10 +344,8 @@ G_M41131_IG24: ; bbWeight=4, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=00 ; gcrRegs +[x1] mov x0, x23 ; gcrRegs +[x0]
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x23] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x20] blr x2 ; gcrRegs -[x0-x1 x20] @@ -363,7 +353,7 @@ G_M41131_IG24: ; bbWeight=4, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=00 mov x20, x19 ; gcrRegs +[x20] b G_M41131_IG23
- ;; size=44 bbWeight=4 PerfScore 58.00
+ ;; size=36 bbWeight=4 PerfScore 64.00
G_M41131_IG25: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x19-x20 x23] mov w19, wzr @@ -393,7 +383,7 @@ G_M41131_IG28: ; bbWeight=1, epilog, nogc, extend ret lr ;; size=24 bbWeight=1 PerfScore 6.00
-; Total bytes of code 668, prolog size 24, PerfScore 529.50, instruction count 167, allocated bytes for code 668 (MethodHash=d9045f54) for method FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:GetTyconAttribs(FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]):System.Tuple`5[ubyte,ubyte,ubyte,ubyte,ubyte] (FullOpts)
+; Total bytes of code 628, prolog size 24, PerfScore 559.50, instruction count 157, allocated bytes for code 628 (MethodHash=d9045f54) for method FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:GetTyconAttribs(FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]):System.Tuple`5[ubyte,ubyte,ubyte,ubyte,ubyte] (FullOpts)
; ============================================================ Unwind Info: @@ -404,7 +394,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 167 (0x000a7) Actual length = 668 (0x00029c)
+ Function Length : 157 (0x0009d) Actual length = 628 (0x000274)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

-16 (-5.88%) : 595.dasm - System.IO.MemoryMappedFiles.MemoryMappedFile:Dispose(ubyte):this (FullOpts)

@@ -11,7 +11,7 @@ ; V00 this [V00,T00] ( 8, 5 ) ref -> [fp+0x18] this class-hnd EH-live single-def <System.IO.MemoryMappedFiles.MemoryMappedFile> ;* V01 arg1 [V01 ] ( 0, 0 ) ubyte -> zero-ref single-def ;# V02 OutArgs [V02 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V03 tmp1 [V03,T01] ( 8, 4 ) ref -> x19 class-hnd exact "dup spill" <<unknown class>>
+; V03 tmp1 [V03,T01] ( 10, 5 ) ref -> x19 class-hnd exact "dup spill" <<unknown class>>
;* V04 tmp2 [V04 ] ( 0, 0 ) ref -> zero-ref ;* V05 tmp3 [V05 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <<unknown class>> ; V06 tmp4 [V06,T02] ( 3, 3 ) ref -> x19 class-hnd exact single-def "Inlining Arg" <<unknown class>> @@ -69,10 +69,8 @@ G_M36171_IG05: ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b cbz x19, G_M36171_IG06 mov x0, x19 mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x19] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] ; GC ptr vars -{V00} blr x2 @@ -87,7 +85,7 @@ G_M36171_IG05: ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b blr x1 ; gcrRegs -[x0 x19] ; gcr arg pop 0
- ;; size=64 bbWeight=0.50 PerfScore 9.75
+ ;; size=56 bbWeight=0.50 PerfScore 10.50
G_M36171_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc ldr x19, [sp, #0x28] ldp fp, lr, [sp], #0x30 @@ -110,10 +108,8 @@ G_M36171_IG08: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000 cbz x19, G_M36171_IG09 mov x0, x19 mov w1, #1
- movz x2, #0xD1FFAB1E - movk x2, #0xD1FFAB1E LSL #16 - movk x2, #0xD1FFAB1E LSL #32 - ldr x2, [x2]
+ ldr x2, [x19] + ldr x2, [x2, #0x48]
ldr x2, [x2, #0x30] ; GC ptr vars -{V00} blr x2 @@ -128,14 +124,14 @@ G_M36171_IG08: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000 blr x1 ; gcrRegs -[x0 x19] ; gcr arg pop 0
- ;; size=76 bbWeight=0 PerfScore 0.00
+ ;; size=68 bbWeight=0 PerfScore 0.00
G_M36171_IG09: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc ldr x19, [sp, #0x18] ldp fp, lr, [sp], #0x20 ret lr ;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 20, PerfScore 37.25, instruction count 68, allocated bytes for code 272 (MethodHash=43f372b4) for method System.IO.MemoryMappedFiles.MemoryMappedFile:Dispose(ubyte):this (FullOpts)
+; Total bytes of code 256, prolog size 20, PerfScore 38.00, instruction count 64, allocated bytes for code 256 (MethodHash=43f372b4) for method System.IO.MemoryMappedFiles.MemoryMappedFile:Dispose(ubyte):this (FullOpts)
; ============================================================ Unwind Info: @@ -146,7 +142,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 42 (0x0002a) Actual length = 168 (0x0000a8)
+ Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) @@ -169,7 +165,7 @@ Unwind Info: E bit : 1 X bit : 0 Vers : 0
- Function Length : 26 (0x0001a) Actual length = 104 (0x000068)
+ Function Length : 24 (0x00018) Actual length = 96 (0x000060)
--- One epilog, unwind codes at 0 ---- Unwind codes ---- ---- Epilog start at index 0 ----

+4 (+2.13%) : 11729.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)

@@ -41,6 +41,7 @@ G_M41042_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28] blr x1 ; gcrRegs +[x0] @@ -78,14 +79,14 @@ G_M41042_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs +[x15] bl CORINFO_HELP_ASSIGN_REF ; gcrRegs -[x0 x15]
- ;; size=164 bbWeight=1 PerfScore 46.50
+ ;; size=168 bbWeight=1 PerfScore 49.50
G_M41042_IG03: ; bbWeight=1, epilog, nogc, extend ldp x19, x20, [sp, #0x10] ldp fp, lr, [sp], #0x20 ret lr ;; size=12 bbWeight=1 PerfScore 3.00
-; Total bytes of code 188, prolog size 12, PerfScore 52.00, instruction count 47, allocated bytes for code 188 (MethodHash=ae3f5fad) for method SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
+; Total bytes of code 192, prolog size 12, PerfScore 55.00, instruction count 48, allocated bytes for code 192 (MethodHash=ae3f5fad) for method SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
; ============================================================ Unwind Info: @@ -96,7 +97,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 47 (0x0002f) Actual length = 188 (0x0000bc)
+ Function Length : 48 (0x00030) Actual length = 192 (0x0000c0)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+2.56%) : 3828.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)

@@ -40,6 +40,7 @@ G_M45653_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28] blr x1 ; gcrRegs +[x0] @@ -63,7 +64,7 @@ G_M45653_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr mov x14, x19 bl CORINFO_HELP_ASSIGN_REF ; gcrRegs -[x0 x15]
- ;; size=108 bbWeight=0.50 PerfScore 12.75
+ ;; size=112 bbWeight=0.50 PerfScore 14.25
G_M45653_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ldr x0, [x19] ; gcrRegs +[x0] @@ -74,7 +75,7 @@ G_M45653_IG05: ; bbWeight=1, epilog, nogc, extend ret lr ;; size=12 bbWeight=1 PerfScore 4.00
-; Total bytes of code 156, prolog size 12, PerfScore 27.75, instruction count 39, allocated bytes for code 156 (MethodHash=2cf24daa) for method Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
+; Total bytes of code 160, prolog size 12, PerfScore 29.25, instruction count 40, allocated bytes for code 160 (MethodHash=2cf24daa) for method Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
; ============================================================ Unwind Info: @@ -85,7 +86,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 39 (0x00027) Actual length = 156 (0x00009c)
+ Function Length : 40 (0x00028) Actual length = 160 (0x0000a0)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

+4 (+4.55%) : 3791.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)

@@ -27,6 +27,7 @@ G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
+ ldr x1, [x1, #0x58]
ldr x1, [x1, #0x28] blr x1 ; gcrRegs +[x0] @@ -39,13 +40,13 @@ G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref movk x1, #0xD1FFAB1E LSL #16 movk x1, #0xD1FFAB1E LSL #32 ldr x1, [x1]
- ;; size=72 bbWeight=1 PerfScore 20.00
+ ;; size=76 bbWeight=1 PerfScore 23.00
G_M26176_IG03: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 br x1 ;; size=8 bbWeight=1 PerfScore 2.00
-; Total bytes of code 88, prolog size 8, PerfScore 23.50, instruction count 22, allocated bytes for code 88 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
+; Total bytes of code 92, prolog size 8, PerfScore 26.50, instruction count 23, allocated bytes for code 92 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
; ============================================================ Unwind Info: @@ -56,7 +57,7 @@ Unwind Info: E bit : 0 X bit : 0 Vers : 0
- Function Length : 22 (0x00016) Actual length = 88 (0x000058)
+ Function Length : 23 (0x00017) Actual length = 92 (0x00005c)
---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)

smoke_tests.nativeaot.linux.arm64.checked.mch

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

@@ -11,7 +11,7 @@ ; V01 arg1 [V01,T03] ( 3, 18 ) long -> x19 single-def ; V02 arg2 [V02,T08] ( 3, 3 ) ushort -> x2 single-def ; V03 arg3 [V03,T04] ( 3, 18 ) long -> x20 single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> x22
+; V04 loc0 [V04,T00] ( 12,126 ) long -> x22
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> x23 ; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [fp+0x18] do-not-enreg[X] addr-exposed ld-addr-op ; V07 loc3 [V07,T14] ( 3, 1.50) long -> x0 @@ -82,10 +82,10 @@ G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref G_M48740_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref b G_M48740_IG09 ;; size=4 bbWeight=1 PerfScore 1.00
-G_M48740_IG08: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48740_IG08: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
adrp x22, [HIGH RELOC #0xD1FFAB1E] add x22, x22, [LOW RELOC #0xD1FFAB1E]
- b G_M48740_IG04
+ cbnz x22, G_M48740_IG04
;; size=12 bbWeight=16 PerfScore 32.00 G_M48740_IG09: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz cbnz w23, G_M48740_IG13

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.linux.arm64.checked.mch 89 72 17 0 -996 +180
benchmarks.run_pgo.linux.arm64.checked.mch 494 493 1 0 -7,780 +4
benchmarks.run_tiered.linux.arm64.checked.mch 12 11 1 0 -148 +4
coreclr_tests.run.linux.arm64.checked.mch 1,681 1,399 277 5 -165,944 +3,020
libraries.crossgen2.linux.arm64.checked.mch 0 0 0 0 -0 +0
libraries.pmi.linux.arm64.checked.mch 876 734 142 0 -8,348 +740
libraries_tests.run.linux.arm64.Release.mch 3,323 2,147 1,175 1 -22,076 +4,744
librariestestsnotieredcompilation.run.linux.arm64.Release.mch 2,676 1,300 1,374 2 -17,596 +8,040
realworld.run.linux.arm64.checked.mch 298 280 18 0 -3,620 +116
smoke_tests.nativeaot.linux.arm64.checked.mch 1 0 0 1 -0 +0
9,450 6,436 3,005 9 -226,508 +16,848

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.linux.arm64.checked.mch 36,750 3,694 33,056 0 (0.00%) 0 (0.00%)
benchmarks.run_pgo.linux.arm64.checked.mch 150,824 57,618 93,206 0 (0.00%) 0 (0.00%)
benchmarks.run_tiered.linux.arm64.checked.mch 64,740 48,874 15,866 0 (0.00%) 0 (0.00%)
coreclr_tests.run.linux.arm64.checked.mch 636,247 390,444 245,803 0 (0.00%) 0 (0.00%)
libraries.crossgen2.linux.arm64.checked.mch 265,473 15 265,458 0 (0.00%) 0 (0.00%)
libraries.pmi.linux.arm64.checked.mch 297,587 6 297,581 0 (0.00%) 0 (0.00%)
libraries_tests.run.linux.arm64.Release.mch 735,172 490,071 245,101 0 (0.00%) 0 (0.00%)
librariestestsnotieredcompilation.run.linux.arm64.Release.mch 305,209 21,620 283,589 0 (0.00%) 6 (0.00%)
realworld.run.linux.arm64.checked.mch 33,342 147 33,195 0 (0.00%) 0 (0.00%)
smoke_tests.nativeaot.linux.arm64.checked.mch 19,000 7 18,993 0 (0.00%) 0 (0.00%)
2,544,344 1,012,496 1,531,848 0 (0.00%) 6 (0.00%)

jit-analyze output

benchmarks.run.linux.arm64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 17218812 (overridden on cmd)
Total bytes of diff: 17217996 (overridden on cmd)
Total bytes of delta: -816 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          36 : 3638.dasm (1.10 % of base)
          36 : 3523.dasm (0.66 % of base)
          24 : 8423.dasm (1.67 % of base)
          24 : 3586.dasm (0.66 % of base)
          12 : 8411.dasm (2.59 % of base)
           4 : 11760.dasm (0.16 % of base)
           4 : 14090.dasm (0.79 % of base)
           4 : 22573.dasm (0.13 % of base)
           4 : 24690.dasm (0.65 % of base)
           4 : 3386.dasm (0.44 % of base)
           4 : 3613.dasm (0.25 % of base)
           4 : 3694.dasm (0.35 % of base)
           4 : 11673.dasm (0.15 % of base)
           4 : 14070.dasm (0.17 % of base)
           4 : 31750.dasm (0.23 % of base)
           4 : 9300.dasm (0.39 % of base)
           4 : 9842.dasm (0.11 % of base)

Top file improvements (bytes):
         -56 : 25895.dasm (-1.20 % of base)
         -56 : 5101.dasm (-2.14 % of base)
         -44 : 2714.dasm (-7.69 % of base)
         -40 : 5106.dasm (-0.29 % of base)
         -40 : 9896.dasm (-0.21 % of base)
         -32 : 15277.dasm (-2.01 % of base)
         -24 : 24737.dasm (-1.89 % of base)
         -24 : 24738.dasm (-2.01 % of base)
         -24 : 25582.dasm (-1.49 % of base)
         -24 : 26528.dasm (-1.17 % of base)
         -20 : 3629.dasm (-1.97 % of base)
         -20 : 9189.dasm (-2.33 % of base)
         -16 : 14629.dasm (-1.22 % of base)
         -16 : 15985.dasm (-0.87 % of base)
         -16 : 19186.dasm (-3.12 % of base)
         -16 : 24714.dasm (-0.37 % of base)
         -16 : 28129.dasm (-1.27 % of base)
         -16 : 32670.dasm (-3.64 % of base)
         -16 : 14042.dasm (-2.03 % of base)
         -16 : 11122.dasm (-0.64 % of base)

60 total files with Code Size differences (43 improved, 17 regressed), 0 unchanged.

Top method regressions (bytes):
          36 (0.66 % of base) : 3523.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
          36 (1.10 % of base) : 3638.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
          24 (1.67 % of base) : 8423.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          24 (0.66 % of base) : 3586.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
          12 (2.59 % of base) : 8411.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
           4 (0.17 % of base) : 14070.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
           4 (0.79 % of base) : 14090.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
           4 (0.16 % of base) : 11760.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
           4 (0.15 % of base) : 11673.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
           4 (0.23 % of base) : 31750.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
           4 (0.39 % of base) : 9300.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
           4 (0.65 % of base) : 24690.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           4 (0.13 % of base) : 22573.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
           4 (0.11 % of base) : 9842.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (FullOpts)
           4 (0.44 % of base) : 3386.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildFormatterToAssembly[System.__Canon](Utf8Json.Internal.Emit.DynamicAssembly,Utf8Json.IJsonFormatterResolver,System.Func`2[System.String,System.String],ubyte):System.Object (FullOpts)
           4 (0.35 % of base) : 3694.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitDeserializeValue(System.Reflection.Emit.ILGenerator,Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+DeserializeInfo,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
           4 (0.25 % of base) : 3613.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitSerializeValue(System.Reflection.TypeInfo,Utf8Json.Internal.Emit.MetaMember,System.Reflection.Emit.ILGenerator,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)

Top method improvements (bytes):
         -56 (-1.20 % of base) : 25895.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<CreateConversion>g__checkConstraintLanguageVersionAndRuntimeSupportForConversion|210_2(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Conversion,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -56 (-2.14 % of base) : 5101.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
         -44 (-7.69 % of base) : 2714.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
         -40 (-0.29 % of base) : 5106.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
         -40 (-0.21 % of base) : 9896.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
         -32 (-2.01 % of base) : 15277.dasm - System.Xml.XmlBinaryNodeWriter:UnsafeWriteText(ulong,int):this (FullOpts)
         -24 (-1.17 % of base) : 26528.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (FullOpts)
         -24 (-1.89 % of base) : 24737.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ReportDiagnosticsForSynthesizedAttributes(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
         -24 (-2.01 % of base) : 24738.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:ReportDiagnosticsForUnsafeSynthesizedAttributes(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag) (FullOpts)
         -24 (-1.49 % of base) : 25582.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckForRequiredMemberAttribute(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -20 (-2.33 % of base) : 9189.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateGet[System.__Canon](System.Reflection.PropertyInfo):System.Func`2[System.__Canon,System.__Canon]:this (FullOpts)
         -20 (-1.97 % of base) : 3629.dasm - System.Reflection.RuntimeModule:ResolveMethod(int,System.Type[],System.Type[]):System.Reflection.MethodBase:this (FullOpts)
         -16 (-0.37 % of base) : 24714.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions:ValidateOptions(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic]):this (FullOpts)
         -16 (-1.27 % of base) : 28129.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (FullOpts)
         -16 (-1.22 % of base) : 14629.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[System.__Canon](System.Reflection.PropertyInfo):System.Action`2[System.__Canon,System.__Canon]:this (FullOpts)
         -16 (-0.64 % of base) : 11122.dasm - Sigil.Emit`1[System.__Canon]:Call(System.Reflection.MethodInfo,System.Type[]):Sigil.Emit`1[System.__Canon]:this (FullOpts)
         -16 (-0.87 % of base) : 15985.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (FullOpts)
         -16 (-2.03 % of base) : 14042.dasm - System.IO.Compression.Brotli:Compress_WithState():System.Span`1[ubyte]:this (FullOpts)
         -16 (-3.12 % of base) : 19186.dasm - System.IO.Compression.Brotli:Decompress_WithState():System.Span`1[ubyte]:this (FullOpts)
         -16 (-3.64 % of base) : 32670.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (FullOpts)

Top method regressions (percentages):
          12 (2.59 % of base) : 8411.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
          24 (1.67 % of base) : 8423.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          36 (1.10 % of base) : 3638.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
           4 (0.79 % of base) : 14090.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
          36 (0.66 % of base) : 3523.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
          24 (0.66 % of base) : 3586.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
           4 (0.65 % of base) : 24690.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           4 (0.44 % of base) : 3386.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildFormatterToAssembly[System.__Canon](Utf8Json.Internal.Emit.DynamicAssembly,Utf8Json.IJsonFormatterResolver,System.Func`2[System.String,System.String],ubyte):System.Object (FullOpts)
           4 (0.39 % of base) : 9300.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
           4 (0.35 % of base) : 3694.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitDeserializeValue(System.Reflection.Emit.ILGenerator,Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+DeserializeInfo,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
           4 (0.25 % of base) : 3613.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitSerializeValue(System.Reflection.TypeInfo,Utf8Json.Internal.Emit.MetaMember,System.Reflection.Emit.ILGenerator,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
           4 (0.23 % of base) : 31750.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
           4 (0.17 % of base) : 14070.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
           4 (0.16 % of base) : 11760.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
           4 (0.15 % of base) : 11673.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
           4 (0.13 % of base) : 22573.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
           4 (0.11 % of base) : 9842.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (FullOpts)

Top method improvements (percentages):
         -12 (-21.43 % of base) : 21876.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
         -12 (-16.67 % of base) : 9078.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -8 (-8.33 % of base) : 31685.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (FullOpts)
         -44 (-7.69 % of base) : 2714.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -8 (-4.17 % of base) : 413.dasm - System.Text.UnicodeEncoding:.cctor() (FullOpts)
          -8 (-4.17 % of base) : 15281.dasm - System.Xml.XmlBinaryNodeWriter:WriteDateTimeText(System.DateTime):this (FullOpts)
         -16 (-3.64 % of base) : 32670.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (FullOpts)
          -8 (-3.33 % of base) : 15312.dasm - System.Xml.XmlBaseReader:Close():this (FullOpts)
         -16 (-3.12 % of base) : 19186.dasm - System.IO.Compression.Brotli:Decompress_WithState():System.Span`1[ubyte]:this (FullOpts)
         -12 (-3.09 % of base) : 5015.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -8 (-2.94 % of base) : 26344.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceModuleSymbol:<RequiresRefSafetyRulesAttribute>g__isFeatureDisabled|62_0(Microsoft.CodeAnalysis.CSharp.CSharpCompilation):ubyte (FullOpts)
          -8 (-2.74 % of base) : 29186.dasm - System.Diagnostics.ProcessWaitState:Dispose():this (FullOpts)
          -8 (-2.70 % of base) : 5201.dasm - System.Net.Http.HttpConnection:ReturnConnectionToPool():this (FullOpts)
          -8 (-2.38 % of base) : 7995.dasm - System.Threading.ManualResetEventSlim:Dispose(ubyte):this (FullOpts)
         -20 (-2.33 % of base) : 9189.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateGet[System.__Canon](System.Reflection.PropertyInfo):System.Func`2[System.__Canon,System.__Canon]:this (FullOpts)
          -8 (-2.33 % of base) : 5200.dasm - System.Net.Http.HttpConnection:CompleteResponse():this (FullOpts)
          -8 (-2.30 % of base) : 10261.dasm - System.Xml.XmlBaseWriter:Close():this (FullOpts)
          -8 (-2.25 % of base) : 26247.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.Location):ubyte:this (FullOpts)
          -8 (-2.25 % of base) : 25445.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (FullOpts)
          -8 (-2.17 % of base) : 5229.dasm - System.Net.Http.HttpConnection:Dispose(ubyte):this (FullOpts)


benchmarks.run_pgo.linux.arm64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 77518372 (overridden on cmd)
Total bytes of diff: 77510596 (overridden on cmd)
Total bytes of delta: -7776 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



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

Top file improvements (bytes):
         -16 : 110685.dasm (-0.49 % of base)
         -16 : 119178.dasm (-0.52 % of base)
         -16 : 129265.dasm (-0.52 % of base)
         -16 : 135344.dasm (-0.52 % of base)
         -16 : 145209.dasm (-0.49 % of base)
         -16 : 24533.dasm (-0.49 % of base)
         -16 : 93241.dasm (-0.49 % of base)
         -16 : 101337.dasm (-0.52 % of base)
         -16 : 126039.dasm (-0.52 % of base)
         -16 : 135265.dasm (-0.49 % of base)
         -16 : 23549.dasm (-0.42 % of base)
         -16 : 30245.dasm (-0.42 % of base)
         -16 : 38597.dasm (-0.49 % of base)
         -16 : 39557.dasm (-0.49 % of base)
         -16 : 42593.dasm (-0.42 % of base)
         -16 : 46705.dasm (-0.42 % of base)
         -16 : 47822.dasm (-0.83 % of base)
         -16 : 56104.dasm (-0.37 % of base)
         -16 : 102121.dasm (-0.54 % of base)
         -16 : 113533.dasm (-0.49 % of base)

60 total files with Code Size differences (59 improved, 1 regressed), 0 unchanged.

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

Top method improvements (bytes):
         -16 (-1.64 % of base) : 97701.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)
         -16 (-0.83 % of base) : 47822.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
         -16 (-0.31 % of base) : 131357.dasm - System.Net.Sockets.Tests.SocketSendReceivePerfTest+<SendAsyncThenReceiveAsync_Task>d__9:MoveNext():this (Tier1-OSR)
         -16 (-0.49 % of base) : 110685.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.52 % of base) : 119178.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.52 % of base) : 129265.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.52 % of base) : 135344.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.49 % of base) : 145209.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.49 % of base) : 24533.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.49 % of base) : 93241.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.52 % of base) : 101337.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.52 % of base) : 126039.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.49 % of base) : 135265.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.42 % of base) : 23549.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.42 % of base) : 30245.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.49 % of base) : 38597.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.49 % of base) : 39557.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.42 % of base) : 42593.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.42 % of base) : 46705.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.37 % of base) : 56104.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)

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

Top method improvements (percentages):
         -16 (-1.64 % of base) : 97701.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)
         -16 (-0.83 % of base) : 47822.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
          -8 (-0.68 % of base) : 87824.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
         -16 (-0.54 % of base) : 102121.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -12 (-0.53 % of base) : 97705.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
          -8 (-0.53 % of base) : 89737.dasm - Microsoft.CodeAnalysis.CSharp.MethodCompiler:GetEntryPoint(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,ubyte,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,System.Threading.CancellationToken):Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol (Tier1)
         -16 (-0.52 % of base) : 126039.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.52 % of base) : 119178.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.52 % of base) : 101337.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.52 % of base) : 110220.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.52 % of base) : 36375.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.52 % of base) : 129265.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.52 % of base) : 135344.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.52 % of base) : 119005.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -12 (-0.49 % of base) : 13707.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.49 % of base) : 110685.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.49 % of base) : 145209.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.49 % of base) : 93241.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.49 % of base) : 135265.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -16 (-0.49 % of base) : 113533.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)


benchmarks.run_tiered.linux.arm64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 25054876 (overridden on cmd)
Total bytes of diff: 25054732 (overridden on cmd)
Total bytes of delta: -144 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



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

Top file improvements (bytes):
         -24 : 47310.dasm (-1.17 % of base)
         -16 : 50157.dasm (-1.27 % of base)
         -16 : 61140.dasm (-2.70 % of base)
         -16 : 46182.dasm (-2.63 % of base)
         -16 : 32406.dasm (-0.87 % of base)
         -16 : 47270.dasm (-1.98 % of base)
         -12 : 36159.dasm (-0.11 % of base)
          -8 : 46517.dasm (-2.25 % of base)
          -8 : 24679.dasm (-2.38 % of base)
          -8 : 34462.dasm (-0.73 % of base)
          -8 : 4185.dasm (-0.35 % of base)

12 total files with Code Size differences (11 improved, 1 regressed), 0 unchanged.

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

Top method improvements (bytes):
         -24 (-1.17 % of base) : 47310.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (Tier1)
         -16 (-2.63 % of base) : 46182.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetWellKnownTypeMember(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,int,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,ubyte):Microsoft.CodeAnalysis.CSharp.Symbol (Tier1)
         -16 (-1.98 % of base) : 47270.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:CheckIfAttributeShouldBeEmbedded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,int,int,System.Nullable`1[int]):ubyte:this (Tier1)
         -16 (-1.27 % of base) : 50157.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
         -16 (-0.87 % of base) : 32406.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
         -16 (-2.70 % of base) : 61140.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
         -12 (-0.11 % of base) : 36159.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
          -8 (-2.25 % of base) : 46517.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
          -8 (-0.35 % of base) : 4185.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
          -8 (-0.73 % of base) : 34462.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ParsePkcs12(System.ReadOnlySpan`1[ubyte]):this (Tier1)
          -8 (-2.38 % of base) : 24679.dasm - System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)

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

Top method improvements (percentages):
         -16 (-2.70 % of base) : 61140.dasm - System.Threading.Tests.Perf_Timer:CleanupShortScheduleAndDisposeWithFiringTimers():this (Tier1-OSR)
         -16 (-2.63 % of base) : 46182.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetWellKnownTypeMember(Microsoft.CodeAnalysis.CSharp.CSharpCompilation,int,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,Microsoft.CodeAnalysis.SyntaxNode,ubyte):Microsoft.CodeAnalysis.CSharp.Symbol (Tier1)
          -8 (-2.38 % of base) : 24679.dasm - System.Threading.ManualResetEventSlim:Dispose(ubyte):this (Tier1)
          -8 (-2.25 % of base) : 46517.dasm - Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag:ReportUseSite(Microsoft.CodeAnalysis.CSharp.Symbol,Microsoft.CodeAnalysis.SyntaxNode):ubyte:this (Tier1)
         -16 (-1.98 % of base) : 47270.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilation:CheckIfAttributeShouldBeEmbedded(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,Microsoft.CodeAnalysis.Location,int,int,System.Nullable`1[int]):ubyte:this (Tier1)
         -16 (-1.27 % of base) : 50157.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
         -24 (-1.17 % of base) : 47310.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (Tier1)
         -16 (-0.87 % of base) : 32406.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
          -8 (-0.73 % of base) : 34462.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ParsePkcs12(System.ReadOnlySpan`1[ubyte]):this (Tier1)
          -8 (-0.35 % of base) : 4185.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
         -12 (-0.11 % of base) : 36159.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)

12 total methods with Code Size differences (11 improved, 1 regressed).


coreclr_tests.run.linux.arm64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 518928388 (overridden on cmd)
Total bytes of diff: 518765464 (overridden on cmd)
Total bytes of delta: -162924 (-0.03 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
         148 : 232043.dasm (1.68 % of base)
         148 : 232109.dasm (1.97 % of base)
         148 : 190068.dasm (1.68 % of base)
         148 : 232022.dasm (1.97 % of base)
         148 : 232080.dasm (1.68 % of base)
         148 : 189819.dasm (1.69 % of base)
         148 : 190672.dasm (1.97 % of base)
         148 : 231682.dasm (1.69 % of base)
         148 : 232102.dasm (1.67 % of base)
          48 : 191647.dasm (1.66 % of base)
          48 : 318801.dasm (0.82 % of base)
          24 : 190156.dasm (1.57 % of base)
          24 : 190700.dasm (1.52 % of base)
          24 : 231488.dasm (1.58 % of base)
          24 : 232036.dasm (1.50 % of base)
          24 : 190704.dasm (1.52 % of base)
          24 : 232008.dasm (1.51 % of base)
          24 : 232048.dasm (1.52 % of base)
          24 : 232303.dasm (1.53 % of base)
          24 : 231532.dasm (1.53 % of base)

Top file improvements (bytes):
        -512 : 296491.dasm (-1.81 % of base)
        -512 : 295581.dasm (-1.85 % of base)
        -504 : 297343.dasm (-1.84 % of base)
        -504 : 295548.dasm (-1.93 % of base)
        -504 : 295996.dasm (-1.78 % of base)
        -504 : 296179.dasm (-1.87 % of base)
        -496 : 295365.dasm (-1.81 % of base)
        -488 : 296379.dasm (-1.84 % of base)
        -488 : 297071.dasm (-1.73 % of base)
        -472 : 295298.dasm (-1.63 % of base)
        -472 : 296212.dasm (-1.84 % of base)
        -464 : 267269.dasm (-1.86 % of base)
        -456 : 297039.dasm (-1.80 % of base)
        -456 : 267697.dasm (-1.86 % of base)
        -456 : 268149.dasm (-1.74 % of base)
        -456 : 297309.dasm (-1.65 % of base)
        -456 : 295484.dasm (-1.73 % of base)
        -456 : 267653.dasm (-1.79 % of base)
        -448 : 289772.dasm (-2.00 % of base)
        -440 : 295449.dasm (-1.65 % of base)

93 total files with Code Size differences (53 improved, 40 regressed), 5 unchanged.

Top method regressions (bytes):
         148 (1.68 % of base) : 232043.dasm - Test_AbstractBase02:TestEntryPoint():int (FullOpts)
         148 (1.69 % of base) : 189819.dasm - Test_BaseClass02:TestEntryPoint():int (FullOpts)
         148 (1.68 % of base) : 190068.dasm - Test_class01:TestEntryPoint():int (FullOpts)
         148 (1.67 % of base) : 232102.dasm - Test_NestedBaseClass05:TestEntryPoint():int (FullOpts)
         148 (1.68 % of base) : 232080.dasm - Test_NestedClass01:TestEntryPoint():int (FullOpts)
         148 (1.69 % of base) : 231682.dasm - Test_NestedClass03:TestEntryPoint():int (FullOpts)
         148 (1.97 % of base) : 232109.dasm - Test_NestedStruct01:TestEntryPoint():int (FullOpts)
         148 (1.97 % of base) : 232022.dasm - Test_NestedStruct03:TestEntryPoint():int (FullOpts)
         148 (1.97 % of base) : 190672.dasm - Test_struct01:TestEntryPoint():int (FullOpts)
          48 (0.82 % of base) : 318801.dasm - Program:RuntimeMethodHandle():ubyte (FullOpts)
          48 (1.66 % of base) : 191647.dasm - VectorTest:TestEntryPoint():int (FullOpts)
          24 (1.52 % of base) : 232048.dasm - Test_AbstractBase01:TestEntryPoint():int (FullOpts)
          24 (1.51 % of base) : 232008.dasm - Test_AbstractBase07:TestEntryPoint():int (FullOpts)
          24 (1.57 % of base) : 190156.dasm - Test_Class04:TestEntryPoint():int (FullOpts)
          24 (1.50 % of base) : 232036.dasm - Test_NestedBaseClass04:TestEntryPoint():int (FullOpts)
          24 (1.58 % of base) : 231488.dasm - Test_NestedInterface01:TestEntryPoint():int (FullOpts)
          24 (1.53 % of base) : 232303.dasm - Test_NestedInterface04:TestEntryPoint():int (FullOpts)
          24 (1.53 % of base) : 231532.dasm - Test_NestedInterface05:TestEntryPoint():int (FullOpts)
          24 (1.52 % of base) : 190700.dasm - Test_Struct04:TestEntryPoint():int (FullOpts)
          24 (1.52 % of base) : 190704.dasm - Test_Struct05:TestEntryPoint():int (FullOpts)

Top method improvements (bytes):
        -512 (-1.85 % of base) : 295581.dasm - Generated908:MethodCallingTest() (FullOpts)
        -512 (-1.81 % of base) : 296491.dasm - Generated934:MethodCallingTest() (FullOpts)
        -504 (-1.93 % of base) : 295548.dasm - Generated907:MethodCallingTest() (FullOpts)
        -504 (-1.78 % of base) : 295996.dasm - Generated920:MethodCallingTest() (FullOpts)
        -504 (-1.87 % of base) : 296179.dasm - Generated925:MethodCallingTest() (FullOpts)
        -504 (-1.84 % of base) : 297343.dasm - Generated960:MethodCallingTest() (FullOpts)
        -496 (-1.81 % of base) : 295365.dasm - Generated902:MethodCallingTest() (FullOpts)
        -488 (-1.84 % of base) : 296379.dasm - Generated931:MethodCallingTest() (FullOpts)
        -488 (-1.73 % of base) : 297071.dasm - Generated952:MethodCallingTest() (FullOpts)
        -472 (-1.63 % of base) : 295298.dasm - Generated900:MethodCallingTest() (FullOpts)
        -472 (-1.84 % of base) : 296212.dasm - Generated926:MethodCallingTest() (FullOpts)
        -464 (-1.86 % of base) : 267269.dasm - Generated1055:MethodCallingTest() (FullOpts)
        -456 (-1.79 % of base) : 267653.dasm - Generated1064:MethodCallingTest() (FullOpts)
        -456 (-1.86 % of base) : 267697.dasm - Generated1065:MethodCallingTest() (FullOpts)
        -456 (-1.74 % of base) : 268149.dasm - Generated1076:MethodCallingTest() (FullOpts)
        -456 (-1.73 % of base) : 295484.dasm - Generated905:MethodCallingTest() (FullOpts)
        -456 (-1.80 % of base) : 297039.dasm - Generated951:MethodCallingTest() (FullOpts)
        -456 (-1.65 % of base) : 297309.dasm - Generated959:MethodCallingTest() (FullOpts)
        -448 (-2.00 % of base) : 289772.dasm - Generated718:MethodCallingTest() (FullOpts)
        -440 (-1.65 % of base) : 295449.dasm - Generated904:MethodCallingTest() (FullOpts)

Top method regressions (percentages):
           4 (4.55 % of base) : 319505.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
          12 (4.05 % of base) : 200412.dasm - ForwardSubCallArgInterference3:TestEntryPoint():int (FullOpts)
           4 (3.57 % of base) : 257059.dasm - Runtime_95347:Test():int (FullOpts)
           4 (3.23 % of base) : 301745.dasm - ILVerify.Verifier+<>c:<.ctor>b__5_0():System.Resources.ResourceManager:this (FullOpts)
           4 (2.94 % of base) : 190274.dasm - Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
          12 (2.65 % of base) : 190142.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          12 (2.65 % of base) : 190152.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          12 (2.65 % of base) : 232439.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          12 (2.65 % of base) : 189835.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.63 % of base) : 190139.dasm - Gen`2[double,System.Guid]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 190126.dasm - Gen`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 189825.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 189831.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 231924.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           8 (2.60 % of base) : 232450.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
           4 (2.56 % of base) : 319766.dasm - Microsoft.Build.Framework.NativeMethods:get_FrameworkCurrentPath():System.String (FullOpts)
           4 (2.44 % of base) : 190103.dasm - Gen`1[ValX1`1[int]]:InstVerify(System.Type):ubyte:this (FullOpts)
           4 (2.44 % of base) : 231683.dasm - GenOuter+GenInner`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
           4 (2.44 % of base) : 232300.dasm - Outer`1+GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]],ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
           4 (2.44 % of base) : 232103.dasm - Outer+GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)

Top method improvements (percentages):
        -108 (-26.21 % of base) : 261390.dasm - testout1:Func(testout1+CL,testout1+VT):long (FullOpts)
         -16 (-23.53 % of base) : 257853.dasm - GitHub_18497:Test():System.Numerics.Vector`1[float] (FullOpts)
         -36 (-22.50 % of base) : 261171.dasm - bug1:TestEntryPoint() (FullOpts)
         -96 (-16.90 % of base) : 244372.dasm - Test_200w1d_02.testout1:TestEntryPoint():int (FullOpts)
         -12 (-16.67 % of base) : 203945.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
         -16 (-15.38 % of base) : 233590.dasm - Program:Main():int (FullOpts)
         -24 (-14.29 % of base) : 189525.dasm - StaticValueField:TestEntryPoint():int (FullOpts)
         -16 (-13.79 % of base) : 252405.dasm - Test_b18049:main():int (FullOpts)
          -8 (-13.33 % of base) : 257940.dasm - Test_GitHub_19222:main():int (FullOpts)
         -16 (-12.90 % of base) : 201174.dasm - Q:TestEntryPoint():int (FullOpts)
         -52 (-12.75 % of base) : 261378.dasm - bug1:TestEntryPoint() (FullOpts)
         -12 (-11.54 % of base) : 319582.dasm - Microsoft.Build.Framework.NativeMethods:get_IsOSX():ubyte (FullOpts)
         -12 (-11.54 % of base) : 319465.dasm - Microsoft.Build.Framework.NativeMethods:get_IsWindows():ubyte (FullOpts)
         -12 (-10.71 % of base) : 257856.dasm - GitHub_18522:TestEntryPoint():int (FullOpts)
          -8 (-10.53 % of base) : 227598.dasm - AssemblyToLoad.Program:UseDependentAssembly():System.Reflection.Assembly (FullOpts)
          -8 (-10.53 % of base) : 223477.dasm - BinderTracingTests.BinderTracingTest:UseDependentAssembly():System.Reflection.Assembly (FullOpts)
         -16 (-10.26 % of base) : 227629.dasm - CMain:RunTest_ImplicitOverride5():ubyte (FullOpts)
         -16 (-10.26 % of base) : 225197.dasm - CMain:RunTest_MoreDerived2():ubyte (FullOpts)
         -16 (-10.26 % of base) : 229541.dasm - CMain:RunTest5():ubyte (FullOpts)
         -16 (-10.26 % of base) : 227609.dasm - CMain:RunTest5():ubyte (FullOpts)


libraries.pmi.linux.arm64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 76557636 (overridden on cmd)
Total bytes of diff: 76550028 (overridden on cmd)
Total bytes of delta: -7608 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          20 : 255827.dasm (1.31 % of base)
          20 : 282518.dasm (0.55 % of base)
          16 : 34301.dasm (0.67 % of base)
          16 : 34683.dasm (1.31 % of base)
          16 : 34684.dasm (1.33 % of base)
          16 : 34685.dasm (1.78 % of base)
          12 : 282348.dasm (0.52 % of base)
          12 : 38364.dasm (2.91 % of base)
           8 : 156712.dasm (0.58 % of base)
           8 : 183460.dasm (0.63 % of base)
           8 : 230167.dasm (0.58 % of base)
           8 : 255790.dasm (0.83 % of base)
           8 : 255791.dasm (1.79 % of base)
           8 : 178491.dasm (0.34 % of base)
           8 : 253608.dasm (0.33 % of base)
           8 : 259002.dasm (0.33 % of base)
           8 : 282311.dasm (0.36 % of base)
           8 : 33839.dasm (0.23 % of base)
           8 : 33844.dasm (0.37 % of base)
           8 : 183448.dasm (1.04 % of base)

Top file improvements (bytes):
         -88 : 51366.dasm (-1.31 % of base)
         -64 : 50453.dasm (-0.77 % of base)
         -60 : 48561.dasm (-2.04 % of base)
         -56 : 48562.dasm (-1.60 % of base)
         -56 : 85083.dasm (-1.13 % of base)
         -56 : 51343.dasm (-1.08 % of base)
         -48 : 88781.dasm (-0.31 % of base)
         -48 : 50749.dasm (-1.72 % of base)
         -48 : 50817.dasm (-1.48 % of base)
         -48 : 80282.dasm (-1.02 % of base)
         -48 : 58971.dasm (-0.89 % of base)
         -44 : 147185.dasm (-7.69 % of base)
         -40 : 200185.dasm (-0.21 % of base)
         -40 : 48235.dasm (-1.31 % of base)
         -40 : 51307.dasm (-1.01 % of base)
         -36 : 51842.dasm (-1.49 % of base)
         -36 : 111153.dasm (-1.29 % of base)
         -32 : 50738.dasm (-0.73 % of base)
         -32 : 83873.dasm (-0.88 % of base)
         -32 : 55821.dasm (-1.12 % of base)

79 total files with Code Size differences (42 improved, 37 regressed), 0 unchanged.

Top method regressions (bytes):
          20 (1.31 % of base) : 255827.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          20 (0.55 % of base) : 282518.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[ubyte]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],ubyte] (FullOpts)
          16 (0.67 % of base) : 34301.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.Adapters:ConvImmutableTypeToMutableType(Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,System.Type):System.Type (FullOpts)
          16 (1.33 % of base) : 34684.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transBinOp(Microsoft.FSharp.Core.FSharpFunc`2[System.Type,ubyte],Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`3[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.RuntimeMethodHandle):System.Linq.Expressions.Expression (FullOpts)
          16 (1.78 % of base) : 34685.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transBoolOpNoWitness(Microsoft.FSharp.Core.FSharpFunc`2[System.Type,ubyte],Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`4[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,ubyte,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.Reflection.MethodInfo):System.Linq.Expressions.Expression (FullOpts)
          16 (1.31 % of base) : 34683.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transShiftOp(Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`3[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.RuntimeMethodHandle):System.Linq.Expressions.Expression (FullOpts)
          12 (2.91 % of base) : 38364.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
          12 (0.52 % of base) : 282348.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:RewriteActivator(System.Reflection.TypeInfo,System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
           8 (0.34 % of base) : 178491.dasm - Microsoft.Build.BackEnd.TaskExecutionHost:FindTaskInRegistry(System.Collections.Generic.IDictionary`2[System.String,System.String]):Microsoft.Build.Execution.TaskFactoryWrapper:this (FullOpts)
           8 (0.83 % of base) : 255790.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactory[ubyte](System.Type[]):Microsoft.Extensions.DependencyInjection.ObjectFactory`1[ubyte] (FullOpts)
           8 (1.79 % of base) : 255791.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
           8 (0.23 % of base) : 33839.dasm - Microsoft.FSharp.Linq.QueryModule:ConvMutableToImmutable(Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,Microsoft.FSharp.Quotations.FSharpExpr):Microsoft.FSharp.Quotations.FSharpExpr (FullOpts)
           8 (0.37 % of base) : 33844.dasm - Microsoft.FSharp.Linq.QueryModule:TransFor@1295(int,ubyte,System.Type,Microsoft.FSharp.Quotations.FSharpVar,System.Type,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Quotations.FSharpExpr):System.Tuple`2[Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription] (FullOpts)
           8 (1.04 % of base) : 183448.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateMethodCall[System.__Canon](System.Reflection.MethodBase):Newtonsoft.Json.Utilities.MethodCall`2[System.__Canon,System.__Canon]:this (FullOpts)
           8 (0.63 % of base) : 183460.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[ubyte](System.Reflection.PropertyInfo):System.Action`2[ubyte,System.Object]:this (FullOpts)
           8 (0.36 % of base) : 282311.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:GetActivator(System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
           8 (0.58 % of base) : 156712.dasm - System.Configuration.ConfigurationLockCollection:Add(System.String):this (FullOpts)
           8 (0.58 % of base) : 230167.dasm - System.Configuration.ConfigurationLockCollection:Add(System.String):this (FullOpts)
           8 (0.33 % of base) : 259002.dasm - System.Reflection.Emit.IgnoreAccessChecksToAttributeBuilder:AddToModule(System.Reflection.Emit.ModuleBuilder):System.Reflection.ConstructorInfo (FullOpts)
           8 (0.33 % of base) : 253608.dasm - Xunit.Sdk.ExecutionContextHelper:EnsureInitialized() (FullOpts)

Top method improvements (bytes):
         -88 (-1.31 % of base) : 51366.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindElementOrIndexerAccess>g__bindInlineArrayElementAccess|500_1(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BoundExpression,int,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BoundExpression,int,Microsoft.CodeAnalysis.CSharp.Symbols.FieldSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
         -64 (-0.77 % of base) : 50453.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ConvertCollectionExpression(Microsoft.CodeAnalysis.CSharp.BoundUnconvertedCollectionExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Conversion,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
         -60 (-2.04 % of base) : 48561.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
         -56 (-1.13 % of base) : 85083.dasm - Microsoft.CodeAnalysis.CSharp.AsyncRewriter+AsyncIteratorRewriter:VerifyPresenceOfRequiredAPIs(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -56 (-1.08 % of base) : 51343.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<CreateConversion>g__checkConstraintLanguageVersionAndRuntimeSupportForConversion|210_2(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Conversion,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -56 (-1.60 % of base) : 48562.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp2Connection(System.Net.Http.Http2Connection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.Http2Connection]):this (FullOpts)
         -48 (-1.48 % of base) : 50817.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetDefaultParameterSpecialNoConversion(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
         -48 (-1.72 % of base) : 50749.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryBindIndexOrRangeImplicitIndexer(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):ubyte:this (FullOpts)
         -48 (-0.89 % of base) : 58971.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitLockStatement(Microsoft.CodeAnalysis.CSharp.BoundLockStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
         -48 (-1.02 % of base) : 80282.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:EarlyDecodeWellKnownAttribute(byref):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.CSharp.BoundAttribute]:this (FullOpts)
         -48 (-0.31 % of base) : 88781.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindFieldAndPropertyInitializers(Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,System.Collections.Immutable.ImmutableArray`1[System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.FieldOrPropertyInitializer]],Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedInteractiveInitializerMethod,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundInitializer] (FullOpts)
         -44 (-7.69 % of base) : 147185.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
         -40 (-1.01 % of base) : 51307.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetEnumeratorInfoCore(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,byref,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):int:this (FullOpts)
         -40 (-1.31 % of base) : 48235.dasm - System.Net.Http.Http2Connection+Http2Stream:OnStatus(int):this (FullOpts)
         -40 (-0.21 % of base) : 200185.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
         -36 (-1.49 % of base) : 51842.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitUsingStatement(Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax):this (FullOpts)
         -36 (-1.29 % of base) : 111153.dasm - Microsoft.CodeAnalysis.VisualBasic.LocalRewriter:EnsureStringHashFunction(Microsoft.CodeAnalysis.VisualBasic.BoundSelectStatement):this (FullOpts)
         -32 (-0.73 % of base) : 50738.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ConvertToArrayIndex(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,byref):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
         -32 (-0.88 % of base) : 83873.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator:EmitStringSwitchJumpTable(System.Collections.Generic.KeyValuePair`2[Microsoft.CodeAnalysis.ConstantValue,System.Object][],Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,Microsoft.CodeAnalysis.CodeGen.LocalOrParameter,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -32 (-1.12 % of base) : 55821.dasm - Microsoft.CodeAnalysis.CSharp.MethodBodySynthesizer:ConstructFieldLikeEventAccessorBody_WinRT(Microsoft.CodeAnalysis.CSharp.Symbols.SourceEventSymbol,ubyte,Microsoft.CodeAnalysis.CSharp.CSharpCompilation,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundBlock (FullOpts)

Top method regressions (percentages):
           4 (4.76 % of base) : 282543.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 282547.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 282531.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 282535.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 282526.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 282351.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
           4 (4.55 % of base) : 180015.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
           4 (3.85 % of base) : 120060.dasm - Microsoft.Diagnostics.Tracing.Stacks.StackSourceWriterHelper:GetExporterInfo():System.String (FullOpts)
           4 (3.23 % of base) : 165743.dasm - Internal.TypeSystem.TypeSystemException+<>c:<.cctor>b__20_0():System.Resources.ResourceManager:this (FullOpts)
          12 (2.91 % of base) : 38364.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
           4 (2.78 % of base) : 177429.dasm - Microsoft.Build.BackEnd.TaskParameterTypeVerifier:IsAssignableToITask(System.Type):ubyte (FullOpts)
           4 (2.56 % of base) : 282316.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:.cctor() (FullOpts)
           4 (2.27 % of base) : 282539.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:.cctor() (FullOpts)
           4 (2.22 % of base) : 282339.dasm - System.Composition.TypedParts.ActivationFeatures.DisposalFeature:RewriteActivator(System.Reflection.TypeInfo,System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
           4 (2.13 % of base) : 117970.dasm - Dia2Lib.DiaLoader:GetDiaSourceObject():Dia2Lib.IDiaDataSource3 (FullOpts)
           4 (2.08 % of base) : 148341.dasm - Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView:.cctor() (FullOpts)
           4 (2.00 % of base) : 167831.dasm - Microsoft.Build.Framework.NativeMethods:get_FrameworkCurrentPath():System.String (FullOpts)
           8 (1.79 % of base) : 255791.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
           4 (1.79 % of base) : 253462.dasm - Xunit.Sdk.XunitTestFrameworkDiscoverer:.cctor() (FullOpts)
          16 (1.78 % of base) : 34685.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transBoolOpNoWitness(Microsoft.FSharp.Core.FSharpFunc`2[System.Type,ubyte],Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`4[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,ubyte,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.Reflection.MethodInfo):System.Linq.Expressions.Expression (FullOpts)

Top method improvements (percentages):
         -12 (-21.43 % of base) : 294142.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
          -8 (-14.29 % of base) : 12720.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 168331.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 212703.dasm - Microsoft.CodeAnalysis.Collections.ImmutableSegmentedDictionary`2[ubyte,System.Nullable`1[int]]:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 15597.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
          -8 (-14.29 % of base) : 215537.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
          -8 (-14.29 % of base) : 294006.dasm - System.ComponentModel.DesignerCategoryAttribute:GetHashCode():int:this (FullOpts)
          -8 (-14.29 % of base) : 270917.dasm - System.Net.FtpControlStream:get_BannerMessage():System.String:this (FullOpts)
          -8 (-14.29 % of base) : 270919.dasm - System.Net.FtpControlStream:get_ExitMessage():System.String:this (FullOpts)
          -8 (-14.29 % of base) : 270918.dasm - System.Net.FtpControlStream:get_WelcomeMessage():System.String:this (FullOpts)
          -8 (-14.29 % of base) : 266893.dasm - Xunit.ExecutionSink:WaitForStopEvent(int):ubyte:this (FullOpts)
          -8 (-13.33 % of base) : 243759.dasm - Microsoft.Extensions.DependencyInjection.ServiceProvider:OnCreate(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite):this (FullOpts)
          -8 (-11.76 % of base) : 293992.dasm - System.ComponentModel.DescriptionAttribute:GetHashCode():int:this (FullOpts)
          -8 (-11.76 % of base) : 294024.dasm - System.ComponentModel.DisplayNameAttribute:GetHashCode():int:this (FullOpts)
          -8 (-11.11 % of base) : 293971.dasm - System.ComponentModel.CategoryAttribute:GetHashCode():int:this (FullOpts)
         -12 (-10.00 % of base) : 162619.dasm - System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
          -8 (-8.33 % of base) : 165569.dasm - Internal.TypeSystem.Ecma.PortablePdbSymbolReader:Dispose():this (FullOpts)
          -8 (-8.33 % of base) : 208938.dasm - Microsoft.CodeAnalysis.Text.TextChange:GetHashCode():int:this (FullOpts)
          -8 (-8.33 % of base) : 8351.dasm - Microsoft.CodeAnalysis.Text.TextChange:GetHashCode():int:this (FullOpts)
         -44 (-7.69 % of base) : 147185.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)


libraries_tests.run.linux.arm64.Release.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 383432472 (overridden on cmd)
Total bytes of diff: 383415140 (overridden on cmd)
Total bytes of delta: -17332 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          16 : 580462.dasm (0.11 % of base)
           8 : 133485.dasm (0.31 % of base)
           8 : 295157.dasm (0.85 % of base)
           8 : 374631.dasm (0.06 % of base)
           8 : 124858.dasm (1.21 % of base)
           8 : 124856.dasm (0.30 % of base)
           8 : 133412.dasm (0.24 % of base)
           8 : 82300.dasm (0.64 % of base)
           8 : 124857.dasm (0.27 % of base)
           4 : 120433.dasm (1.22 % of base)
           4 : 183950.dasm (0.82 % of base)
           4 : 199754.dasm (2.04 % of base)
           4 : 209668.dasm (1.09 % of base)
           4 : 383123.dasm (0.82 % of base)
           4 : 730260.dasm (0.41 % of base)
           4 : 730292.dasm (0.39 % of base)
           4 : 731216.dasm (0.40 % of base)
           4 : 732748.dasm (0.74 % of base)
           4 : 733762.dasm (0.82 % of base)
           4 : 734008.dasm (0.40 % of base)

Top file improvements (bytes):
         -64 : 580520.dasm (-0.70 % of base)
         -48 : 724964.dasm (-0.85 % of base)
         -44 : 612609.dasm (-5.98 % of base)
         -44 : 612643.dasm (-5.98 % of base)
         -44 : 621136.dasm (-6.43 % of base)
         -44 : 634822.dasm (-5.98 % of base)
         -44 : 634842.dasm (-5.98 % of base)
         -44 : 636227.dasm (-5.98 % of base)
         -44 : 636669.dasm (-5.98 % of base)
         -44 : 682091.dasm (-0.52 % of base)
         -44 : 608379.dasm (-5.98 % of base)
         -44 : 611450.dasm (-5.98 % of base)
         -44 : 612538.dasm (-5.98 % of base)
         -44 : 612718.dasm (-5.98 % of base)
         -44 : 620935.dasm (-5.98 % of base)
         -44 : 632449.dasm (-5.98 % of base)
         -44 : 633369.dasm (-5.98 % of base)
         -44 : 633379.dasm (-5.98 % of base)
         -44 : 634755.dasm (-5.98 % of base)
         -44 : 651839.dasm (-5.98 % of base)

79 total files with Code Size differences (41 improved, 38 regressed), 1 unchanged.

Top method regressions (bytes):
          16 (0.11 % of base) : 580462.dasm - System.Text.Tests.TranscodingStreamTests+<RunReadTestAsync>d__29:MoveNext():this (Tier1)
           8 (0.27 % of base) : 124857.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactory(System.Type,System.Type[]):Microsoft.Extensions.DependencyInjection.ObjectFactory (Tier1)
           8 (1.21 % of base) : 124858.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (Tier1)
           8 (0.30 % of base) : 124856.dasm - Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests:CreateInstanceFromFactory(System.IServiceProvider,System.Type,System.Object[]):System.Object (Tier1)
           8 (0.24 % of base) : 133412.dasm - Microsoft.Extensions.Hosting.HostBuilder:Build():Microsoft.Extensions.Hosting.IHost:this (Tier1)
           8 (0.31 % of base) : 133485.dasm - Microsoft.Extensions.Hosting.HostBuilder:ResolveHost(System.IServiceProvider,System.Diagnostics.DiagnosticListener):Microsoft.Extensions.Hosting.IHost (Tier1)
           8 (0.85 % of base) : 295157.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (Tier0-FullOpts)
           8 (0.06 % of base) : 374631.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
           8 (0.64 % of base) : 82300.dasm - System.Reflection.FieldAccessor:Initialize():this (Instrumented Tier1)
           4 (0.41 % of base) : 730260.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.39 % of base) : 730292.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 731216.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 734008.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 730320.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 731092.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 734348.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (0.40 % of base) : 734464.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
           4 (1.09 % of base) : 209668.dasm - System.Collections.Immutable.Tests.ImmutablesTestBase:AssertAreSame[int](int,int) (Tier1)
           4 (1.52 % of base) : 482901.dasm - System.Diagnostics.Tracing.PropertyValue:GetReferenceTypePropertyGetter(System.Reflection.PropertyInfo):System.Func`2[System.Diagnostics.Tracing.PropertyValue,System.Diagnostics.Tracing.PropertyValue] (Instrumented Tier1)
           4 (2.04 % of base) : 199754.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)

Top method improvements (bytes):
         -64 (-0.70 % of base) : 580520.dasm - System.Text.Tests.TranscodingStreamTests:RunReadTest(System.Func`3[System.IO.Stream,System.IO.MemoryStream,int]):this (Tier1)
         -48 (-0.85 % of base) : 724964.dasm - System.Threading.Tests.MutexTests+<>c__DisplayClass19_0:<AbandonExisting>b__0():this (Tier1)
         -44 (-0.52 % of base) : 682091.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:CreateAndPopulateSpanFromInlineArray(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.BoundNode],ubyte,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.LocalSymbol]):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
         -44 (-5.98 % of base) : 612718.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 633379.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 612643.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 633369.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 608379.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 620935.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 654407.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 634822.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 612538.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 634755.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 611450.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.DateTimeOffset]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 632449.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Decimal]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 634842.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Guid]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 636669.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[System.DateTime]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-6.43 % of base) : 621136.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[ubyte]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 636227.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.SimpleTestStruct]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 651839.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.StructCollection`1[int]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)

Top method regressions (percentages):
           4 (2.04 % of base) : 199754.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
           4 (2.04 % of base) : 274327.dasm - System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
           4 (2.04 % of base) : 92368.dasm - System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
           4 (1.52 % of base) : 482901.dasm - System.Diagnostics.Tracing.PropertyValue:GetReferenceTypePropertyGetter(System.Reflection.PropertyInfo):System.Func`2[System.Diagnostics.Tracing.PropertyValue,System.Diagnostics.Tracing.PropertyValue] (Instrumented Tier1)
           4 (1.22 % of base) : 120433.dasm - System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
           8 (1.21 % of base) : 124858.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (Tier1)
           4 (1.09 % of base) : 209668.dasm - System.Collections.Immutable.Tests.ImmutablesTestBase:AssertAreSame[int](int,int) (Tier1)
           8 (0.85 % of base) : 295157.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (Tier0-FullOpts)
           4 (0.82 % of base) : 183950.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 383123.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 733762.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 105767.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 191478.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 305815.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 385775.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 408920.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 576098.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 723613.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 731082.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
           4 (0.82 % of base) : 132766.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)

Top method improvements (percentages):
         -12 (-13.04 % of base) : 622077.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
         -12 (-13.04 % of base) : 638196.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
         -24 (-10.17 % of base) : 556885.dasm - System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:Dispose():this (Tier1)
          -8 (-10.00 % of base) : 201175.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
          -8 (-10.00 % of base) : 266037.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
          -8 (-10.00 % of base) : 383875.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
          -8 (-10.00 % of base) : 723388.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
          -8 (-10.00 % of base) : 724460.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
          -8 (-9.52 % of base) : 579173.dasm - System.Text.UTF32Encoding:.ctor():this (Instrumented Tier1)
          -8 (-8.33 % of base) : 269211.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Tier1)
         -24 (-7.59 % of base) : 556884.dasm - System.Security.Cryptography.X509Certificates.X509Chain:Reset():this (Tier1)
         -44 (-6.43 % of base) : 621136.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[ubyte]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -8 (-6.25 % of base) : 125295.dasm - System.Threading.WaitHandle:Dispose(ubyte):this (Instrumented Tier1)
         -44 (-5.98 % of base) : 612718.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 633379.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 612643.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 633369.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 608379.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 620935.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
         -44 (-5.98 % of base) : 654407.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)


librariestestsnotieredcompilation.run.linux.arm64.Release.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 165120196 (overridden on cmd)
Total bytes of diff: 165110640 (overridden on cmd)
Total bytes of delta: -9556 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          60 : 86492.dasm (0.61 % of base)
          60 : 86509.dasm (0.61 % of base)
          60 : 86614.dasm (0.61 % of base)
          60 : 86618.dasm (0.61 % of base)
          36 : 80440.dasm (0.62 % of base)
          36 : 80485.dasm (0.62 % of base)
          32 : 86478.dasm (0.52 % of base)
          32 : 82775.dasm (0.67 % of base)
          32 : 86497.dasm (0.52 % of base)
          32 : 86607.dasm (0.53 % of base)
          32 : 86623.dasm (0.52 % of base)
          28 : 86616.dasm (0.54 % of base)
          28 : 86617.dasm (0.54 % of base)
          28 : 86535.dasm (0.54 % of base)
          28 : 230918.dasm (0.52 % of base)
          28 : 86118.dasm (0.50 % of base)
          28 : 86615.dasm (0.54 % of base)
          24 : 135572.dasm (0.62 % of base)
          24 : 135548.dasm (0.62 % of base)
          24 : 135471.dasm (0.75 % of base)

Top file improvements (bytes):
        -228 : 142444.dasm (-3.04 % of base)
        -100 : 260483.dasm (-5.35 % of base)
         -96 : 230199.dasm (-2.67 % of base)
         -96 : 230341.dasm (-2.93 % of base)
         -64 : 196928.dasm (-2.88 % of base)
         -64 : 199151.dasm (-2.86 % of base)
         -64 : 89133.dasm (-1.18 % of base)
         -64 : 89135.dasm (-1.32 % of base)
         -64 : 230324.dasm (-2.96 % of base)
         -64 : 230579.dasm (-2.96 % of base)
         -64 : 230588.dasm (-2.00 % of base)
         -64 : 23669.dasm (-0.77 % of base)
         -56 : 143952.dasm (-2.18 % of base)
         -56 : 144019.dasm (-2.15 % of base)
         -56 : 143980.dasm (-2.13 % of base)
         -56 : 157128.dasm (-1.75 % of base)
         -56 : 21102.dasm (-2.13 % of base)
         -56 : 129253.dasm (-1.10 % of base)
         -48 : 30969.dasm (-1.10 % of base)
         -48 : 56637.dasm (-0.91 % of base)

86 total files with Code Size differences (44 improved, 42 regressed), 2 unchanged.

Top method regressions (bytes):
          60 (0.61 % of base) : 86618.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeObject_RemovesProvider():this (FullOpts)
          60 (0.61 % of base) : 86492.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeType_RemovesProvider():this (FullOpts)
          60 (0.61 % of base) : 86614.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeObject_RemovesProvider():this (FullOpts)
          60 (0.61 % of base) : 86509.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeType_RemovesProvider():this (FullOpts)
          36 (0.62 % of base) : 80485.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
          36 (0.62 % of base) : 80440.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameReverseOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
          32 (0.67 % of base) : 82775.dasm - System.ComponentModel.Composition.DirectoryCatalogTests:GetExports():this (FullOpts)
          32 (0.52 % of base) : 86497.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
          32 (0.53 % of base) : 86607.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
          32 (0.52 % of base) : 86478.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
          32 (0.52 % of base) : 86623.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
          28 (0.50 % of base) : 86118.dasm - System.ComponentModel.Tests.TypeDescriptionProviderTests:GetFullComponentName_InvokeWithCustomTypeDescriptor_ReturnsExpected(System.Object,System.String):this (FullOpts)
          28 (0.54 % of base) : 86615.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
          28 (0.54 % of base) : 86616.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeType_GetProviderReturnsExpected():this (FullOpts)
          28 (0.54 % of base) : 86617.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
          28 (0.54 % of base) : 86535.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeType_GetProviderReturnsExpected():this (FullOpts)
          28 (0.52 % of base) : 230918.dasm - System.Text.Tests.TranscodingStreamTests:Flush_FlushesInnerStreamButNotDecodedState():this (FullOpts)
          24 (0.62 % of base) : 135548.dasm - System.Linq.Tests.GroupJoinTests:CustomComparer():this (FullOpts)
          24 (0.62 % of base) : 135572.dasm - System.Linq.Tests.GroupJoinTests:NullComparer():this (FullOpts)
          24 (0.75 % of base) : 135471.dasm - System.Linq.Tests.GroupJoinTests+<>c__DisplayClass11_0:<OuterNullNoComparer>b__0():System.Object:this (FullOpts)

Top method improvements (bytes):
        -228 (-3.04 % of base) : 142444.dasm - System.Buffers.Binary.Tests.BinaryReaderUnitTests:SpanWriteAndReadBigEndianHeterogeneousStruct():this (FullOpts)
        -100 (-5.35 % of base) : 260483.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:GetNumbersExpectedString(System.Text.Json.JsonWriterOptions,System.String,int[],uint[],long[],ulong[],float[],double[],System.Decimal[],ubyte):System.String (FullOpts)
         -96 (-2.67 % of base) : 230199.dasm - System.Text.Tests.NegativeEncodingTests+<Encodings_TestData>d__0:MoveNext():ubyte:this (FullOpts)
         -96 (-2.93 % of base) : 230341.dasm - System.Text.Tests.UnicodeEncodingTests+<Equals_TestData>d__10:MoveNext():ubyte:this (FullOpts)
         -64 (-2.88 % of base) : 196928.dasm - DataContractSerializerTests:DCS_KnownSerializableTypes_Tuples() (FullOpts)
         -64 (-2.86 % of base) : 199151.dasm - DataContractSerializerTests:DCS_KnownSerializableTypes_Tuples() (FullOpts)
         -64 (-0.77 % of base) : 23669.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ConvertCollectionExpression(Microsoft.CodeAnalysis.CSharp.BoundUnconvertedCollectionExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Conversion,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundCollectionExpression:this (FullOpts)
         -64 (-1.32 % of base) : 89135.dasm - MonoTests.System.Configuration.ConfigurationErrorsExceptionTest:Constructor4():this (FullOpts)
         -64 (-1.18 % of base) : 89133.dasm - MonoTests.System.Configuration.ConfigurationErrorsExceptionTest:Constructor6():this (FullOpts)
         -64 (-2.96 % of base) : 230324.dasm - System.Text.Tests.UnicodeEncodingTests+<Encodings_TestData>d__4:MoveNext():ubyte:this (FullOpts)
         -64 (-2.96 % of base) : 230579.dasm - System.Text.Tests.UTF32EncodingTests+<Encodings_TestData>d__4:MoveNext():ubyte:this (FullOpts)
         -64 (-2.00 % of base) : 230588.dasm - System.Text.Tests.UTF32EncodingTests+<Equals_TestData>d__10:MoveNext():ubyte:this (FullOpts)
         -56 (-1.10 % of base) : 129253.dasm - System.IO.Tests.BinaryWriterTests:BinaryWriter_SeekTests():this (FullOpts)
         -56 (-2.18 % of base) : 143952.dasm - System.MemoryTests.MemoryTests:MemoryFromMemoryManagerInt() (FullOpts)
         -56 (-2.13 % of base) : 143980.dasm - System.MemoryTests.MemoryTests:MemoryFromMemoryManagerLong() (FullOpts)
         -56 (-2.15 % of base) : 144019.dasm - System.MemoryTests.MemoryTests:ReadOnlyMemoryFromMemoryFromMemoryManagerInt() (FullOpts)
         -56 (-2.13 % of base) : 21102.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
         -56 (-1.75 % of base) : 157128.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp2Connection(System.Net.Http.Http2Connection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.Http2Connection]):this (FullOpts)
         -48 (-1.10 % of base) : 30969.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetEnumeratorInfoCore(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,byref,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):int:this (FullOpts)
         -48 (-0.91 % of base) : 56637.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitLockStatement(Microsoft.CodeAnalysis.CSharp.BoundLockStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)

Top method regressions (percentages):
           4 (8.33 % of base) : 177455.dasm - System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
           4 (8.33 % of base) : 184433.dasm - System.Reflection.Tests.Helpers:get_ExecutingAssembly():System.Reflection.Assembly (FullOpts)
           4 (8.33 % of base) : 184385.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumNames_TypeNotEnum_ThrowsArgumentException>b__16_0():System.Object:this (FullOpts)
           4 (8.33 % of base) : 184211.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumUnderlyingType_TypeNotEnum_ThrowsArgumentException>b__18_0():System.Object:this (FullOpts)
           4 (7.69 % of base) : 184299.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredEvent_NullName_ThrowsArgumentNullException>b__67_0():System.Object:this (FullOpts)
           4 (7.69 % of base) : 184310.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredField_NullName_ThrowsArgumentNullException>b__68_0():System.Object:this (FullOpts)
           4 (7.69 % of base) : 184364.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredMethod_NullName_ThrowsArgumentNullException>b__69_0():System.Object:this (FullOpts)
           4 (7.69 % of base) : 184195.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredNestedType_NullName_ThrowsArgumentNullException>b__71_0():System.Object:this (FullOpts)
           4 (7.69 % of base) : 184330.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumName_Invalid>b__13_1():System.Object:this (FullOpts)
           4 (7.14 % of base) : 184313.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEvent_NullName_ThrowsArgumentNullException>b__58_0():System.Object:this (FullOpts)
           4 (7.14 % of base) : 184284.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetField_NullName_ThrowsArgumentNullException>b__61_0():System.Object:this (FullOpts)
           4 (6.67 % of base) : 184329.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumName_Invalid>b__13_0():System.Object:this (FullOpts)
           4 (5.26 % of base) : 199865.dasm - System.Tests.Types.NestedGenericTypeParameter1Tests:CreateType():System.Type:this (FullOpts)
           4 (5.26 % of base) : 200812.dasm - System.Tests.Types.NestedGenericTypeParameter2Tests:CreateType():System.Type:this (FullOpts)
           4 (4.76 % of base) : 36320.dasm - DryIoc.Converter:.cctor() (FullOpts)
           4 (4.76 % of base) : 34504.dasm - LightInject.ServiceContainer:<EmitNewInstance>g__IsNotServiceFactory|175_0(System.Type):ubyte (FullOpts)
           4 (4.76 % of base) : 34500.dasm - LightInject.ServiceFactoryLoader:.cctor() (FullOpts)
           4 (4.76 % of base) : 29704.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 87288.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
           4 (4.76 % of base) : 87263.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)

Top method improvements (percentages):
         -12 (-21.43 % of base) : 157625.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
         -12 (-16.67 % of base) : 21630.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -8 (-14.29 % of base) : 11038.dasm - Microsoft.CodeAnalysis.LocalizableString+FixedLocalizableString:GetHash():int:this (FullOpts)
          -8 (-14.29 % of base) : 2839.dasm - Microsoft.VisualStudio.Composition.ByValueEquality+AssemblyNameComparer:GetHashCode(System.Reflection.AssemblyName):int:this (FullOpts)
          -8 (-14.29 % of base) : 83136.dasm - System.ComponentModel.DesignerCategoryAttribute:GetHashCode():int:this (FullOpts)
          -8 (-11.76 % of base) : 83031.dasm - System.ComponentModel.DescriptionAttribute:GetHashCode():int:this (FullOpts)
          -8 (-11.76 % of base) : 83159.dasm - System.ComponentModel.DisplayNameAttribute:GetHashCode():int:this (FullOpts)
         -32 (-11.27 % of base) : 48105.dasm - Microsoft.CodeAnalysis.NamingStyles.NamingStyle:GetHashCode():int:this (FullOpts)
         -32 (-11.27 % of base) : 42373.dasm - Microsoft.CodeAnalysis.NamingStyles.NamingStyle:GetHashCode():int:this (FullOpts)
         -12 (-11.11 % of base) : 129513.dasm - System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
          -8 (-11.11 % of base) : 83066.dasm - System.ComponentModel.CategoryAttribute:GetHashCode():int:this (FullOpts)
         -12 (-9.09 % of base) : 34595.dasm - Autofac.Core.Resolving.Pipeline.DefaultResolveRequestContext:ChangeScope(Autofac.Core.ISharingLifetimeScope):this (FullOpts)
          -8 (-8.70 % of base) : 180371.dasm - System.Reflection.Tests.MyAttributeBase_M:ToString():System.String:this (FullOpts)
          -8 (-8.70 % of base) : 180370.dasm - System.Reflection.Tests.ParameterInfoAttributeBase:ToString():System.String:this (FullOpts)
         -44 (-7.69 % of base) : 141037.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -8 (-6.45 % of base) : 44806.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:get_IsExtern():ubyte:this (FullOpts)
          -8 (-6.45 % of base) : 49719.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:get_IsExtern():ubyte:this (FullOpts)
         -16 (-6.45 % of base) : 147979.dasm - System.Net.Http.Tests.StreamToStreamCopyTest:CreateSourceMemoryStream(ubyte,ubyte[]):System.IO.MemoryStream (FullOpts)
          -8 (-6.25 % of base) : 230326.dasm - System.Text.Tests.UnicodeEncodingTests:Ctor_Empty():this (FullOpts)
          -8 (-6.06 % of base) : 230591.dasm - System.Text.Tests.UTF32EncodingTests:Ctor_Empty():this (FullOpts)


realworld.run.linux.arm64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 15876964 (overridden on cmd)
Total bytes of diff: 15873460 (overridden on cmd)
Total bytes of delta: -3504 (-0.02 % of base)
    diff is an improvement.
    relative diff is an improvement.

Detail diffs



Top file regressions (bytes):
          24 : 32892.dasm (1.01 % of base)
           8 : 2700.dasm (0.85 % of base)
           8 : 33332.dasm (0.81 % of base)
           8 : 32286.dasm (0.72 % of base)
           8 : 32409.dasm (0.75 % of base)
           8 : 32410.dasm (1.22 % of base)
           8 : 30300.dasm (0.18 % of base)
           4 : 26712.dasm (2.04 % of base)
           4 : 3364.dasm (0.46 % of base)
           4 : 702.dasm (0.79 % of base)
           4 : 32179.dasm (0.25 % of base)
           4 : 11729.dasm (2.13 % of base)
           4 : 13061.dasm (1.75 % of base)
           4 : 18955.dasm (0.65 % of base)
           4 : 32785.dasm (0.61 % of base)
           4 : 3791.dasm (4.55 % of base)
           4 : 3828.dasm (2.56 % of base)
           4 : 408.dasm (0.17 % of base)

Top file improvements (bytes):
         -64 : 11013.dasm (-2.23 % of base)
         -56 : 21704.dasm (-1.20 % of base)
         -52 : 14189.dasm (-2.02 % of base)
         -48 : 27861.dasm (-0.92 % of base)
         -48 : 26214.dasm (-1.82 % of base)
         -48 : 20653.dasm (-1.05 % of base)
         -40 : 25000.dasm (-1.07 % of base)
         -40 : 8109.dasm (-5.99 % of base)
         -40 : 10028.dasm (-1.05 % of base)
         -40 : 14193.dasm (-0.29 % of base)
         -40 : 8655.dasm (-1.75 % of base)
         -36 : 24549.dasm (-1.49 % of base)
         -36 : 3801.dasm (-7.09 % of base)
         -32 : 3696.dasm (-0.53 % of base)
         -32 : 10694.dasm (-0.51 % of base)
         -32 : 24742.dasm (-0.77 % of base)
         -32 : 27909.dasm (-0.35 % of base)
         -32 : 28454.dasm (-0.92 % of base)
         -28 : 31549.dasm (-0.93 % of base)
         -24 : 9133.dasm (-1.60 % of base)

67 total files with Code Size differences (49 improved, 18 regressed), 0 unchanged.

Top method regressions (bytes):
          24 (1.01 % of base) : 32892.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
           8 (0.85 % of base) : 2700.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (FullOpts)
           8 (0.81 % of base) : 33332.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
           8 (1.22 % of base) : 32410.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
           8 (0.75 % of base) : 32409.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
           8 (0.18 % of base) : 30300.dasm - System.Management.Automation.Language.Compiler:.cctor() (FullOpts)
           8 (0.72 % of base) : 32286.dasm - System.Runtime.CompilerServices.CallSiteBinder:Stitch[System.__Canon](System.Linq.Expressions.Expression,System.Runtime.CompilerServices.CallSiteBinder+LambdaSignature`1[System.__Canon]):System.Linq.Expressions.Expression`1[System.__Canon] (FullOpts)
           4 (0.17 % of base) : 408.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
           4 (0.79 % of base) : 702.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
           4 (0.46 % of base) : 3364.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
           4 (0.61 % of base) : 32785.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
           4 (4.55 % of base) : 3791.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
           4 (2.56 % of base) : 3828.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
           4 (2.04 % of base) : 26712.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
           4 (1.75 % of base) : 13061.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
           4 (0.25 % of base) : 32179.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
           4 (0.65 % of base) : 18955.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           4 (2.13 % of base) : 11729.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)

Top method improvements (bytes):
         -64 (-2.23 % of base) : 11013.dasm - FSharp.Compiler.Infos+GetParamAttribs@1482:Invoke(System.Tuple`2[FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TypedTree+ArgReprInfo]):System.Tuple`6[ubyte,ubyte,ubyte,FSharp.Compiler.Infos+OptionalArgInfo,FSharp.Compiler.Infos+CallerInfo,FSharp.Compiler.Infos+ReflectedArgInfo]:this (FullOpts)
         -56 (-1.20 % of base) : 21704.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<CreateConversion>g__checkConstraintLanguageVersionAndRuntimeSupportForConversion|210_2(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Conversion,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -52 (-2.02 % of base) : 14189.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
         -48 (-1.82 % of base) : 26214.dasm - Microsoft.CodeAnalysis.CSharp.Binder:TryBindIndexOrRangeImplicitIndexer(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.AnalyzedArguments,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):ubyte:this (FullOpts)
         -48 (-0.92 % of base) : 27861.dasm - Microsoft.CodeAnalysis.CSharp.LocalRewriter:VisitLockStatement(Microsoft.CodeAnalysis.CSharp.BoundLockStatement):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
         -48 (-1.05 % of base) : 20653.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:EarlyDecodeWellKnownAttribute(byref):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.CSharp.BoundAttribute]:this (FullOpts)
         -40 (-5.99 % of base) : 8109.dasm - FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:GetTyconAttribs(FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]):System.Tuple`5[ubyte,ubyte,ubyte,ubyte,ubyte] (FullOpts)
         -40 (-1.05 % of base) : 10028.dasm - FSharp.Compiler.CheckExpressions:CheckExpr@3448-2(FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.TypedTreeOps+DisplayEnv,FSharp.Compiler.TypedTreeOps+ValHash`1[FSharp.Compiler.TypedTree+Val],FSharp.Compiler.TypedTreeOps+ValHash`1[int],FSharp.Compiler.TypedTree+ValRef,Microsoft.FSharp.Core.FSharpRef`1[ubyte],Microsoft.FSharp.Core.FSharpRef`1[ubyte],Microsoft.FSharp.Core.FSharpRef`1[ubyte],Microsoft.FSharp.Core.FSharpRef`1[ubyte],Microsoft.FSharp.Core.FSharpRef`1[Microsoft.FSharp.Collections.FSharpList`1[System.Tuple`2[FSharp.Compiler.TypedTree+ValRef,FSharp.Compiler.TypedTree+ValRef]]],FSharp.Compiler.CheckExpressions+InitializationGraphAnalysisState,FSharp.Compiler.TypedTree+Expr) (FullOpts)
         -40 (-1.75 % of base) : 8655.dasm - FSharp.Compiler.CheckExpressions:MakeApplicableExprWithFlex(FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.TypedTree+Expr):FSharp.Compiler.CheckExpressions+ApplicableExpr (FullOpts)
         -40 (-1.07 % of base) : 25000.dasm - Microsoft.CodeAnalysis.CSharp.Binder:GetEnumeratorInfoCore(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,byref,ubyte,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,byref):int:this (FullOpts)
         -40 (-0.29 % of base) : 14193.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
         -36 (-7.09 % of base) : 3801.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
         -36 (-1.49 % of base) : 24549.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitUsingStatement(Microsoft.CodeAnalysis.CSharp.Syntax.UsingStatementSyntax):this (FullOpts)
         -32 (-0.53 % of base) : 3696.dasm - FSharp.Compiler.CompilerImports:TcConfig.TryResolveLibsUsingMSBuildRules.Static(FSharp.Compiler.CompilerConfig+TcConfig,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+AssemblyReference],FSharp.Compiler.Text.Range,FSharp.Compiler.CompilerImports+ResolveAssemblyReferenceMode):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerImports+AssemblyResolution],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+UnresolvedAssemblyReference]] (FullOpts)
         -32 (-0.51 % of base) : 10694.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2269(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,FSharp.Compiler.TypedTree+TType,Microsoft.FSharp.Core.Unit) (FullOpts)
         -32 (-0.77 % of base) : 24742.dasm - Microsoft.CodeAnalysis.CSharp.Binder:ConvertToArrayIndex(Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,byref):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (FullOpts)
         -32 (-0.92 % of base) : 28454.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator:EmitStringSwitchJumpTable(System.Collections.Generic.KeyValuePair`2[Microsoft.CodeAnalysis.ConstantValue,System.Object][],Microsoft.CodeAnalysis.CSharp.Symbols.LabelSymbol,Microsoft.CodeAnalysis.CodeGen.LocalOrParameter,Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol):this (FullOpts)
         -32 (-0.35 % of base) : 27909.dasm - Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator:TryEmitReadonlySpanAsBlobWrapper(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol,Microsoft.CodeAnalysis.CSharp.BoundExpression,ubyte,Microsoft.CodeAnalysis.CSharp.BoundExpression,byref,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression):ubyte:this (FullOpts)
         -28 (-0.93 % of base) : 31549.dasm - System.Management.Automation.LocationGlobber:ResolveDriveQualifiedPath(System.String,System.Management.Automation.CmdletProviderContext,ubyte,byref):System.Collections.ObjectModel.Collection`1[System.Management.Automation.PathInfo]:this (FullOpts)
         -24 (-1.60 % of base) : 9133.dasm - FSharp.Compiler.CheckExpressions:TcTyparDecl(FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.CheckExpressions+TcEnv,FSharp.Compiler.Syntax.SynTyparDecl):FSharp.Compiler.TypedTree+Typar (FullOpts)

Top method regressions (percentages):
           4 (4.55 % of base) : 3791.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
           4 (2.56 % of base) : 3828.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
           4 (2.13 % of base) : 11729.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
           4 (2.04 % of base) : 26712.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
           4 (1.75 % of base) : 13061.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
           8 (1.22 % of base) : 32410.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
          24 (1.01 % of base) : 32892.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
           8 (0.85 % of base) : 2700.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (FullOpts)
           8 (0.81 % of base) : 33332.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
           4 (0.79 % of base) : 702.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
           8 (0.75 % of base) : 32409.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
           8 (0.72 % of base) : 32286.dasm - System.Runtime.CompilerServices.CallSiteBinder:Stitch[System.__Canon](System.Linq.Expressions.Expression,System.Runtime.CompilerServices.CallSiteBinder+LambdaSignature`1[System.__Canon]):System.Linq.Expressions.Expression`1[System.__Canon] (FullOpts)
           4 (0.65 % of base) : 18955.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           4 (0.61 % of base) : 32785.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
           4 (0.46 % of base) : 3364.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
           4 (0.25 % of base) : 32179.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
           8 (0.18 % of base) : 30300.dasm - System.Management.Automation.Language.Compiler:.cctor() (FullOpts)
           4 (0.17 % of base) : 408.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)

Top method improvements (percentages):
         -36 (-7.09 % of base) : 3801.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
         -40 (-5.99 % of base) : 8109.dasm - FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:GetTyconAttribs(FSharp.Compiler.TcGlobals+TcGlobals,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]):System.Tuple`5[ubyte,ubyte,ubyte,ubyte,ubyte] (FullOpts)
         -16 (-5.88 % of base) : 595.dasm - System.IO.MemoryMappedFiles.MemoryMappedFile:Dispose(ubyte):this (FullOpts)
          -8 (-5.56 % of base) : 10725.dasm - FSharp.Compiler.TypedTreeBasics:isLessAccessible(FSharp.Compiler.TypedTree+Accessibility,FSharp.Compiler.TypedTree+Accessibility):ubyte (FullOpts)
          -8 (-5.41 % of base) : 8761.dasm - FSharp.Compiler.CheckExpressions+PlaceTyparsInDeclarationOrder@1625:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)
         -16 (-4.60 % of base) : 8244.dasm - FSharp.Compiler.CheckDeclarations+EstablishTypeDefinitionCores:insertEdgeToTycon@4349(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Entity],FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TypedTree+Entity,Microsoft.FSharp.Collections.FSharpList`1[System.Tuple`2[FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TypedTree+Entity]]):Microsoft.FSharp.Collections.FSharpList`1[System.Tuple`2[FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TypedTree+Entity]] (FullOpts)
         -24 (-4.41 % of base) : 8743.dasm - FSharp.Compiler.CheckExpressions+GeneralizationHelpers+IsCondensationTypar@2210:Invoke(FSharp.Compiler.TypedTree+Typar):ubyte:this (FullOpts)
          -8 (-4.17 % of base) : 1072.dasm - System.Text.UnicodeEncoding:.cctor() (FullOpts)
         -12 (-3.90 % of base) : 26256.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:VisitQueryClause(Microsoft.CodeAnalysis.CSharp.BoundQueryClause):Microsoft.CodeAnalysis.CSharp.BoundNode:this (FullOpts)
          -8 (-3.85 % of base) : 23315.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:HasInitializer(Microsoft.CodeAnalysis.CSharp.Symbol):ubyte (FullOpts)
          -8 (-3.70 % of base) : 11557.dasm - System.Threading.CancellationTokenSource:Dispose(ubyte):this (FullOpts)
          -8 (-3.64 % of base) : 8611.dasm - FSharp.Compiler.CheckExpressions+envinner@6481:Invoke(FSharp.Compiler.TypedTree+Val,FSharp.Compiler.TypedTree+ArgReprInfo):Microsoft.FSharp.Core.Unit:this (FullOpts)
          -8 (-3.64 % of base) : 9934.dasm - FSharp.Compiler.ConstraintSolver+results@1879-1:Invoke(FSharp.Compiler.Infos+MethInfo):ubyte:this (FullOpts)
          -8 (-3.45 % of base) : 21314.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbolBase:GetAttributesBag():Microsoft.CodeAnalysis.CustomAttributesBag`1[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData]:this (FullOpts)
         -12 (-3.26 % of base) : 3769.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)
         -12 (-3.09 % of base) : 13623.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -8 (-3.03 % of base) : 9557.dasm - FSharp.Compiler.AttributeChecking+TryBindMethInfoAttribute@202-1[System.__Canon]:Invoke(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Attrib]):Microsoft.FSharp.Core.FSharpOption`1[System.__Canon]:this (FullOpts)
         -16 (-2.96 % of base) : 8693.dasm - FSharp.Compiler.TypedTreeOps:accFreeTyparRefLeftToRight(FSharp.Compiler.TcGlobals+TcGlobals,ubyte,ubyte,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Typar],FSharp.Compiler.TypedTree+Typar):Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Typar] (FullOpts)
          -8 (-2.94 % of base) : 10106.dasm - FSharp.Compiler.CheckDeclarations+TcOpenModuleOrNamespaceDecl@643:Invoke(System.Tuple`3[int,FSharp.Compiler.TypedTree+EntityRef,FSharp.Compiler.TypedTree+ModuleOrNamespaceType]):ubyte:this (FullOpts)
          -8 (-2.86 % of base) : 9663.dasm - FSharp.Compiler.ConstraintSolver:eliminateRedundant@2131(FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.TypedTreeOps+TypeEquivEnv,FSharp.Compiler.Import+ImportMap,FSharp.Compiler.Text.Range,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+TyparConstraint],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+TyparConstraint]):Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+TyparConstraint] (FullOpts)


smoke_tests.nativeaot.linux.arm64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 2980396 (overridden on cmd)
Total bytes of diff: 2980396 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)

Detail diffs



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

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



linux x64

Diffs are based on 2,535,365 contexts (984,668 MinOpts, 1,550,697 FullOpts).

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

Overall (+49,121 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 12,166,543 +504
benchmarks.run_pgo.linux.x64.checked.mch 67,166,891 +85
benchmarks.run_tiered.linux.x64.checked.mch 16,810,899 +14
coreclr_tests.run.linux.x64.checked.mch 418,408,742 +6,852
libraries.pmi.linux.x64.checked.mch 60,685,927 +2,372
libraries_tests.run.linux.x64.Release.mch 331,729,851 +19,870
librariestestsnotieredcompilation.run.linux.x64.Release.mch 132,523,929 +18,929
realworld.run.linux.x64.checked.mch 13,233,730 +395
smoke_tests.nativeaot.linux.x64.checked.mch 4,251,108 +100

FullOpts (+49,121 bytes)

Collection Base size (bytes) Diff size (bytes)
benchmarks.run.linux.x64.checked.mch 11,994,952 +504
benchmarks.run_pgo.linux.x64.checked.mch 48,174,268 +85
benchmarks.run_tiered.linux.x64.checked.mch 3,654,870 +14
coreclr_tests.run.linux.x64.checked.mch 130,639,266 +6,852
libraries.pmi.linux.x64.checked.mch 60,573,097 +2,372
libraries_tests.run.linux.x64.Release.mch 147,894,207 +19,870
librariestestsnotieredcompilation.run.linux.x64.Release.mch 121,951,747 +18,929
realworld.run.linux.x64.checked.mch 12,845,635 +395
smoke_tests.nativeaot.linux.x64.checked.mch 4,250,159 +100

Example diffs

benchmarks.run.linux.x64.checked.mch

-9 (-20.45%) : 9684.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)

@@ -12,8 +12,8 @@ ;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]> ;* V02 tmp2 [V02,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP ;* V03 tmp3 [V03,T03] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> rax "CSE - aggressive" -; V05 cse1 [V05,T01] ( 2, 1 ) long -> rax "CSE - moderate"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> rax "CSE - aggressive" +; V05 cse1 [V05,T01] ( 2, 1 ) long -> rcx "CSE - moderate"
; ; Lcl frame size = 0 @@ -25,20 +25,19 @@ G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, cmp byte ptr [rax], 0 jne SHORT G_M5950_IG04 ;; size=15 bbWeight=1 PerfScore 4.25
-G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - ; byrRegs -[rax] - mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field> - mov word ptr [rax], 257
+G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref + mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field> + mov word ptr [rcx], 257
;; size=15 bbWeight=0.50 PerfScore 0.62
-G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - mov rax, 0xD1FFAB1E ; global ptr - movzx rax, byte ptr [rax] - ;; size=13 bbWeight=1 PerfScore 2.25
+G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref + movzx rax, byte ptr [rax+0x01] + ; byrRegs -[rax] + ;; size=4 bbWeight=1 PerfScore 2.00
G_M5950_IG05: ; bbWeight=1, epilog, nogc, extend ret ;; size=1 bbWeight=1 PerfScore 1.00
-; Total bytes of code 44, prolog size 0, PerfScore 8.12, instruction count 8, allocated bytes for code 44 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
+; Total bytes of code 35, prolog size 0, PerfScore 7.88, instruction count 7, allocated bytes for code 35 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
; ============================================================ Unwind Info:

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

@@ -45,16 +45,16 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0280 {rdi r9}, byrefRegs=0000 {}, mov rsi, gword ptr [rbp-0x10] ; gcrRegs +[rsi] mov rdx, qword ptr [rbp-0x08]
- cmp dword ptr [rdi], edi - mov rax, qword ptr [(reloc)] - ;; size=28 bbWeight=1 PerfScore 8.50
+ mov rax, qword ptr [rdi] + mov rax, qword ptr [rax+0x58] + ;; size=26 bbWeight=1 PerfScore 7.50
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 16 pop rbp tail.jmp [rax]<unknown method> ;; size=8 bbWeight=1 PerfScore 2.75
-; Total bytes of code 54, prolog size 18, PerfScore 15.00, instruction count 15, allocated bytes for code 54 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
+; Total bytes of code 52, prolog size 18, PerfScore 14.00, instruction count 15, allocated bytes for code 52 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
; ============================================================ Unwind Info:

-9 (-1.57%) : 3409.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo1[int]:ConfigureIgnoreCondition(System.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[int]>
+; V00 this [V00,T00] ( 14, 7 ) ref -> rbx this class-hnd single-def <System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]>
; V01 arg1 [V01,T05] ( 4, 3.50) struct ( 8) [rbp-0x18] do-not-enreg[SF] ld-addr-op single-def <System.Nullable`1[int]> ;* V02 loc0 [V02 ] ( 0, 0 ) int -> zero-ref ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" @@ -91,12 +91,12 @@ G_M51320_IG05: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 ; gcrRegs -[r15] mov rdi, rbx ; gcrRegs +[rdi]
- cmp dword ptr [rbx], ebx - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx] + mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method> ; gcrRegs -[rbx rsi rdi] jmp G_M51320_IG11
- ;; size=20 bbWeight=0.50 PerfScore 5.12
+ ;; size=18 bbWeight=0.50 PerfScore 4.62
G_M51320_IG06: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[rbx] mov rdi, 0xD1FFAB1E ; data for <unknown class>:<unknown field> @@ -132,12 +132,12 @@ G_M51320_IG07: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 ; gcrRegs -[r15] mov rdi, rbx ; gcrRegs +[rdi]
- cmp dword ptr [rbx], ebx - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx] + mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method> ; gcrRegs -[rbx rsi rdi] jmp G_M51320_IG11
- ;; size=20 bbWeight=0.50 PerfScore 5.12
+ ;; size=18 bbWeight=0.50 PerfScore 4.62
G_M51320_IG08: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[rbx] mov rdi, rbx @@ -180,10 +180,11 @@ G_M51320_IG09: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 ; gcrRegs -[r15] mov rdi, rbx ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx] + mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method> ; gcrRegs -[rsi rdi]
- ;; size=13 bbWeight=0.50 PerfScore 2.62
+ ;; size=13 bbWeight=0.50 PerfScore 3.62
G_M51320_IG10: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref mov byte ptr [rbx+0x97], 1 ;; size=7 bbWeight=0.50 PerfScore 0.50 @@ -226,16 +227,16 @@ G_M51320_IG12: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000 mov rsi, r15 ; gcrRegs +[rsi] ;; size=97 bbWeight=0.50 PerfScore 5.50
-G_M51320_IG13: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M51320_IG13: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[r15] mov rdi, rbx ; gcrRegs +[rdi]
- cmp dword ptr [rbx], ebx - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx] + mov rax, qword ptr [rax+0x48]
call [rax+0x30]<unknown method> ; gcrRegs -[rsi rdi]
- jmp G_M51320_IG10 - ;; size=20 bbWeight=0.50 PerfScore 5.12
+ jmp SHORT G_M51320_IG10 + ;; size=15 bbWeight=0.50 PerfScore 4.62
G_M51320_IG14: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref mov rdi, gword ptr [rbx+0x40] ; gcrRegs +[rdi] @@ -251,7 +252,7 @@ RWD00 dd G_M51320_IG04 - G_M51320_IG02 dd G_M51320_IG08 - G_M51320_IG02
-; Total bytes of code 575, prolog size 13, PerfScore 59.00, instruction count 122, allocated bytes for code 575 (MethodHash=9de53787) for method System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
+; Total bytes of code 566, prolog size 13, PerfScore 58.50, instruction count 123, allocated bytes for code 566 (MethodHash=9de53787) for method System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
; ============================================================ Unwind Info:

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

@@ -62,8 +62,10 @@ G_M5978_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, test rdi, rdi jne SHORT G_M5978_IG04 mov rdi, 0xD1FFAB1E
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + mov rax, qword ptr [rax]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x58]
call [rax+0x28]<unknown method> ; gcrRegs -[rdi] +[rax] ; gcr arg pop 0 @@ -79,7 +81,7 @@ G_M5978_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcr arg pop 0 mov rdi, rax ; gcrRegs +[rdi]
- ;; size=70 bbWeight=1 PerfScore 17.75
+ ;; size=80 bbWeight=1 PerfScore 20.00
G_M5978_IG04: ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz ; gcrRegs -[rax] test rdi, rdi @@ -304,7 +306,7 @@ G_M5978_IG24: ; bbWeight=0, funclet epilog, nogc, extend ret ;; size=11 bbWeight=0 PerfScore 0.00
-; Total bytes of code 479, prolog size 23, PerfScore 123.75, instruction count 133, allocated bytes for code 479 (MethodHash=93fee8a5) for method Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
+; Total bytes of code 489, prolog size 23, PerfScore 126.00, instruction count 135, allocated bytes for code 489 (MethodHash=93fee8a5) for method Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
; ============================================================ Unwind Info:

+10 (+2.89%) : 17944.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b_280():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)

@@ -49,7 +49,11 @@ G_M10927_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, G_M10927_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0x58]
call [rax+0x28]<unknown method> ; gcrRegs -[rdi] +[rax] mov rbx, rax @@ -85,7 +89,7 @@ G_M10927_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcrRegs +[rbx] test rbx, rbx je SHORT G_M10927_IG05
- ;; size=103 bbWeight=1 PerfScore 27.00
+ ;; size=113 bbWeight=1 PerfScore 29.25
G_M10927_IG03: ; bbWeight=0.50, gcrefRegs=4009 {rax rbx r14}, byrefRegs=0000 {}, byref, isz mov rdi, 0xD1FFAB1E ; System.Attribute[] cmp qword ptr [rbx], rdi @@ -211,7 +215,7 @@ G_M10927_IG15: ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr int3 ;; size=9 bbWeight=0 PerfScore 0.00
-; Total bytes of code 346, prolog size 13, PerfScore 59.38, instruction count 88, allocated bytes for code 346 (MethodHash=cf2cd550) for method BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
+; Total bytes of code 356, prolog size 13, PerfScore 61.62, instruction count 90, allocated bytes for code 356 (MethodHash=cf2cd550) for method BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
; ============================================================ Unwind Info:

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

@@ -64,25 +64,33 @@ G_M61493_IG02: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=C008 {rb ; gcrRegs -[rdi] mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov r12, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov r12, qword ptr [rax+0x60]
call [r12+0x18]<unknown method> ; gcrRegs -[rdi] mov dword ptr [rbp-0x3C], eax test eax, eax je G_M61493_IG08
- ;; size=71 bbWeight=1 PerfScore 15.25
+ ;; size=81 bbWeight=1 PerfScore 17.50
G_M61493_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=C008 {rbx r14 r15}, byref ; gcrRegs -[r13] mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rcx, qword ptr [(reloc)]
+ mov rcx, 0xD1FFAB1E + ; gcrRegs +[rcx] + mov rcx, qword ptr [rcx] + ; gcrRegs -[rcx] + mov rcx, qword ptr [rcx+0x70]
call [rcx+0x08]<unknown method> ; gcrRegs -[rdi] +[rax] mov r13, rax ; gcrRegs +[r13] mov eax, dword ptr [rbp-0x3C] ; gcrRegs -[rax]
- ;; size=26 bbWeight=0.50 PerfScore 3.25
+ ;; size=36 bbWeight=0.50 PerfScore 4.38
G_M61493_IG04: ; bbWeight=1, gcrefRegs=2000 {r13}, byrefRegs=C008 {rbx r14 r15}, byref, isz mov rdi, r13 ; gcrRegs +[rdi] @@ -117,12 +125,16 @@ G_M61493_IG05: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=C008 {rbx r1 ; gcrRegs -[r13] mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0x70]
call [rax+0x08]<unknown method> ; gcrRegs -[rdi] +[rax] mov r13, rax ; gcrRegs +[r13]
- ;; size=23 bbWeight=0.50 PerfScore 2.75
+ ;; size=33 bbWeight=0.50 PerfScore 3.88
G_M61493_IG06: ; bbWeight=1, gcrefRegs=2000 {r13}, byrefRegs=C008 {rbx r14 r15}, byref ; gcrRegs -[rax] mov rdi, r13 @@ -176,7 +188,7 @@ G_M61493_IG08: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=200 jmp G_M61493_IG04 ;; size=8 bbWeight=0.50 PerfScore 1.50
-; Total bytes of code 325, prolog size 29, PerfScore 66.50, instruction count 78, allocated bytes for code 325 (MethodHash=8df50fca) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
+; Total bytes of code 355, prolog size 29, PerfScore 71.00, instruction count 84, allocated bytes for code 355 (MethodHash=8df50fca) for method Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
; ============================================================ Unwind Info:

benchmarks.run_pgo.linux.x64.checked.mch

-2 (-0.10%) : 102153.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)

@@ -1127,8 +1127,8 @@ G_M45453_IG81: ; bbWeight=0, gcVars=00000000000000000000000000800000 {V96 ; gcrRegs +[rdi] mov esi, 1 mov gword ptr [rbp-0x60], rdi
- cmp dword ptr [rdi], edi - mov rcx, qword ptr [(reloc)]
+ mov rcx, qword ptr [rdi] + mov rcx, qword ptr [rcx+0x50]
call [rcx]Microsoft.CodeAnalysis.SyntaxNode:GetChildPosition(int):int:this ; gcrRegs -[rax rdi] ; gcr arg pop 0 @@ -1168,9 +1168,9 @@ G_M45453_IG81: ; bbWeight=0, gcVars=00000000000000000000000000800000 {V96 ; byrRegs -[r13] mov rsi, r13 jmp G_M45453_IG49
- ;; size=103 bbWeight=0 PerfScore 0.00
+ ;; size=101 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1929, prolog size 38, PerfScore 131.57, instruction count 472, allocated bytes for code 1929 (MethodHash=66e04e72) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
+; Total bytes of code 1927, prolog size 38, PerfScore 131.57, instruction count 472, allocated bytes for code 1927 (MethodHash=66e04e72) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
; ============================================================ Unwind Info:

-3 (-0.07%) : 96264.dasm - Microsoft.Cci.MetadataVisitor:Visit(System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]):this (Tier1)

@@ -11,7 +11,7 @@ ; ; V00 this [V00,T00] ( 29, 8.42) ref -> rbx this class-hnd single-def <Microsoft.Cci.MetadataVisitor> ; V01 arg1 [V01,T05] ( 5, 4 ) ref -> rsi class-hnd single-def <System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]>
-; V02 loc0 [V02,T09] ( 12, 4.51) ref -> [rbp-0xB0] class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[Microsoft.Cci.IMethodDefinition]>
+; V02 loc0 [V02,T10] ( 12, 4.51) ref -> [rbp-0xB0] class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[Microsoft.Cci.IMethodDefinition]>
; V03 loc1 [V03,T03] ( 28, 7.16) ref -> r15 class-hnd <Microsoft.Cci.IMethodDefinition> ; V04 OutArgs [V04 ] ( 1, 1 ) struct (48) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V05 tmp1 [V05,T27] ( 3, 2 ) ref -> rdi "guarded devirt return temp" @@ -21,12 +21,12 @@ ; V09 tmp5 [V09,T06] ( 10, 5.00) ref -> r14 class-hnd exact "guarded devirt this exact temp" <Microsoft.Cci.FullMetadataWriter+FullReferenceIndexer> ; V10 tmp6 [V10,T25] ( 6, 2.00) ref -> rsi class-hnd "Inline stloc first use temp" <Microsoft.Cci.ITypeDefinition> ; V11 tmp7 [V11,T26] ( 6, 2 ) ref -> rsi "guarded devirt return temp"
-; V12 tmp8 [V12,T12] ( 6, 4 ) struct (48) [rbp-0x58] do-not-enreg[SF] must-init "guarded devirt arg temp" <Microsoft.CodeAnalysis.Emit.EmitContext>
+; V12 tmp8 [V12,T13] ( 6, 4 ) struct (48) [rbp-0x58] do-not-enreg[SF] must-init "guarded devirt arg temp" <Microsoft.CodeAnalysis.Emit.EmitContext>
;* V13 tmp9 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol+SourceOrdinaryMethodSymbolSimple> ; V14 tmp10 [V14,T01] ( 34, 7.20) ref -> r15 class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Symbols.SynthesizedInstanceConstructor> ;* V15 tmp11 [V15 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "spilling ret_expr" <Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol+SourceOrdinaryMethodSymbolSimple> ; V16 tmp12 [V16,T18] ( 6, 2.80) ref -> rsi "guarded devirt return temp"
-; V17 tmp13 [V17,T11] ( 6, 4.22) ref -> r12 "guarded devirt arg temp"
+; V17 tmp13 [V17,T12] ( 6, 4.22) ref -> r12 "guarded devirt arg temp"
;* V18 tmp14 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol> ;* V19 tmp15 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <System.Collections.Generic.IEnumerable`1[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData]> ; V20 tmp16 [V20 ] ( 10, 1.84) ref -> [rbp-0x60] do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.CSharp.Symbols.SynthesizedAttributeData]> @@ -109,12 +109,12 @@ ; V97 tmp93 [V97,T46] ( 6, 1.24) ref -> r12 class-hnd "Inline return value spill temp" <Microsoft.Cci.IMethodBody> ; V98 tmp94 [V98,T30] ( 4, 1.24) ref -> r12 ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.Cci.IMethodBody> ;* V99 tmp95 [V99,T53] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V100 tmp96 [V100,T14] ( 11, 3.43) ref -> r15 ld-addr-op class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.Symbols.IMethodSymbolInternal>
+; V100 tmp96 [V100,T08] ( 12, 4.66) ref -> r15 ld-addr-op class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.Symbols.IMethodSymbolInternal>
; V101 tmp97 [V101,T07] ( 8, 4.96) ref -> rax class-hnd "Inlining Arg" <<unknown class>> ; V102 tmp98 [V102,T22] ( 8, 2.48) ref -> r12 class-hnd "Inline stloc first use temp" <<unknown class>> ; V103 tmp99 [V103,T59] ( 6, 1.08) ref -> r14 class-hnd "Inline stloc first use temp" <<unknown class>> ; V104 tmp100 [V104,T37] ( 6, 1.70) int -> r13 "Inline stloc first use temp"
-; V105 tmp101 [V105,T08] ( 16, 4.64) ref -> r12 class-hnd "Inline stloc first use temp" <<unknown class>>
+; V105 tmp101 [V105,T09] ( 16, 4.64) ref -> r12 class-hnd "Inline stloc first use temp" <<unknown class>>
; V106 tmp102 [V106,T49] ( 6, 1.24) int -> r13 "Inline return value spill temp" ;* V107 tmp103 [V107 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.Symbols.IMethodSymbolInternal> ; V108 tmp104 [V108,T54] ( 4, 1.24) int -> rax "guarded devirt return temp" @@ -148,12 +148,12 @@ ; V136 cse5 [V136,T77] ( 3, 0.02) int -> rsi "CSE - conservative" ;* V137 cse6 [V137 ] ( 0, 0 ) int -> zero-ref "CSE - conservative" ; V138 cse7 [V138,T80] ( 4, 0.01) int -> rcx "CSE - conservative"
-; V139 cse8 [V139,T13] ( 4, 3.52) long -> r13 "CSE - moderate"
+; V139 cse8 [V139,T14] ( 4, 3.52) long -> r13 "CSE - moderate"
; V140 cse9 [V140,T17] ( 7, 2.34) long -> r12 multi-def "CSE - aggressive" ; V141 rat0 [V141,T02] ( 6, 7.92) ref -> rsi "replacement local" ; V142 rat1 [V142,T36] ( 6, 1.80) ref -> rdi "replacement local" ; V143 rat2 [V143,T23] ( 3, 2.46) ref -> rsi "Spilling to split statement for tree"
-; V144 rat3 [V144,T10] ( 4, 4.30) ref -> r8 "replacement local"
+; V144 rat3 [V144,T11] ( 4, 4.30) ref -> r8 "replacement local"
; V145 rat4 [V145,T55] ( 3, 1.23) long -> rdi "CSE for expectedClsNode" ; V146 rat5 [V146,T72] ( 6, 0.08) ref -> rsi "replacement local" ; V147 rat6 [V147,T78] ( 6, 0.02) ref -> rdi "replacement local" @@ -199,7 +199,7 @@ G_M47169_IG04: ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, mov gword ptr [rbp-0xB0], rdi ; GC ptr vars +{V02} ;; size=7 bbWeight=1 PerfScore 1.00
-G_M47169_IG05: ; bbWeight=1, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG05: ; bbWeight=1, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref
mov r11, 0xD1FFAB1E ; function address call [r11]<unknown method> ; gcrRegs -[rdi] @@ -316,7 +316,7 @@ G_M47169_IG16: ; bbWeight=0.23, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRe test r12, r12 jne G_M47169_IG28 ;; size=70 bbWeight=0.23 PerfScore 4.21
-G_M47169_IG17: ; bbWeight=0.16, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG17: ; bbWeight=0.16, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax r12] ; GC ptr vars -{V120} mov rdi, 0xD1FFAB1E ; const ptr @@ -397,7 +397,7 @@ G_M47169_IG27: ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, ; gcr arg pop 0 jmp G_M47169_IG44 ;; size=14 bbWeight=0 PerfScore 0.00
-G_M47169_IG28: ; bbWeight=0.06, gcVars=00000000000000200000000000000200 {V02 V120}, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG28: ; bbWeight=0.06, gcVars=00000000000000200000000000000400 {V02 V120}, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[r12 r14-r15] ; GC ptr vars +{V120} mov rdi, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.Symbol+<GetCustomAttributesToEmitIterator>d__15 @@ -447,7 +447,7 @@ G_M47169_IG28: ; bbWeight=0.06, gcVars=00000000000000200000000000000200 { ; gcrRegs +[rsi] jmp G_M47169_IG18 ;; size=135 bbWeight=0.06 PerfScore 1.34
-G_M47169_IG29: ; bbWeight=1.31, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG29: ; bbWeight=1.31, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rsi] ; GC ptr vars -{V26} mov rdi, r15 @@ -549,7 +549,7 @@ G_M47169_IG35: ; bbWeight=0.05, gcrefRegs=E009 {rax rbx r13 r14 r15}, byr mov ecx, dword ptr [rbp-0x64] jmp SHORT G_M47169_IG37 ;; size=43 bbWeight=0.05 PerfScore 0.41
-G_M47169_IG36: ; bbWeight=0.06, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG36: ; bbWeight=0.06, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rdi] ; GC ptr vars -{V30} xor rdi, rdi @@ -710,13 +710,14 @@ G_M47169_IG52: ; bbWeight=0.61, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 je G_M47169_IG77 mov rdi, r15 ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r15]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x18]<unknown method> ; gcrRegs -[rdi] ; gcr arg pop 0 mov r13d, eax
- ;; size=77 bbWeight=0.61 PerfScore 17.03
+ ;; size=77 bbWeight=0.61 PerfScore 18.26
G_M47169_IG53: ; bbWeight=0.61, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, byref mov rcx, gword ptr [r12+0x10] ; gcrRegs +[rcx] @@ -1224,7 +1225,7 @@ G_M47169_IG99: ; bbWeight=0.00, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byr mov rsi, r12 ; gcrRegs +[rsi] ;; size=126 bbWeight=0.00 PerfScore 0.01
-G_M47169_IG100: ; bbWeight=0.01, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M47169_IG100: ; bbWeight=0.01, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=C048 {rbx rsi r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[r12] ; GC ptr vars -{V26} xor rdi, rdi @@ -1489,14 +1490,14 @@ G_M47169_IG123: ; bbWeight=0.01, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 cmp dword ptr [r15], r15d mov rdi, r15 ; gcrRegs +[rdi]
- cmp dword ptr [r15], r15d - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r15]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x48]
call [rax+0x18]<unknown method> ; gcrRegs -[rdi] ; gcr arg pop 0 mov r13d, eax
- ;; size=95 bbWeight=0.01 PerfScore 0.24
+ ;; size=92 bbWeight=0.01 PerfScore 0.23
G_M47169_IG124: ; bbWeight=0.01, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs=0000 {}, byref mov rcx, gword ptr [r12+0x10] ; gcrRegs +[rcx] @@ -1716,7 +1717,7 @@ G_M47169_IG143: ; bbWeight=0.00, gcrefRegs=E009 {rax rbx r13 r14 r15}, by mov ecx, dword ptr [rbp-0x64] jmp SHORT G_M47169_IG145 ;; size=43 bbWeight=0.00 PerfScore 0.00
-G_M47169_IG144: ; bbWeight=0.00, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG144: ; bbWeight=0.00, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rdi] ; GC ptr vars -{V30} xor rdi, rdi @@ -2033,13 +2034,13 @@ G_M47169_IG174: ; bbWeight=0.47, gcVars=00000000000000000000000000000000 ; gcrRegs +[rdi] jmp G_M47169_IG04 ;; size=24 bbWeight=0.47 PerfScore 2.70
-G_M47169_IG175: ; bbWeight=1, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M47169_IG175: ; bbWeight=1, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax rbx rdi]
- ; GC ptr vars +{V02 V09}
+ ; GC ptr vars +{V02 V10}
mov rdi, gword ptr [rbp-0xB0] ; gcrRegs +[rdi] mov r11, 0xD1FFAB1E ; code for <unknown method>
- ; GC ptr vars -{V02 V09}
+ ; GC ptr vars -{V02 V10}
call [r11]<unknown method> ; gcrRegs -[rdi] ; gcr arg pop 0 @@ -2056,8 +2057,8 @@ G_M47169_IG176: ; bbWeight=1, epilog, nogc, extend pop rbp ret ;; size=21 bbWeight=1 PerfScore 5.25
-G_M47169_IG177: ; bbWeight=0, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc - ; GC ptr vars +{V02 V09}
+G_M47169_IG177: ; bbWeight=0, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc + ; GC ptr vars +{V02 V10}
push rbp push r15 push r14 @@ -2069,13 +2070,13 @@ G_M47169_IG177: ; bbWeight=0, gcVars=00000000000000000000000000000200 {V0 mov qword ptr [rsp+0x30], rbp lea rbp, [rbp+0x100] ;; size=30 bbWeight=0 PerfScore 0.00
-G_M47169_IG178: ; bbWeight=0, gcVars=00000000000000000000000000000200 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M47169_IG178: ; bbWeight=0, gcVars=00000000000000000000000000000400 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
cmp gword ptr [rbp-0xB0], 0 je SHORT G_M47169_IG179 mov rdi, gword ptr [rbp-0xB0] ; gcrRegs +[rdi] mov r11, 0xD1FFAB1E ; code for <unknown method>
- ; GC ptr vars -{V02 V09}
+ ; GC ptr vars -{V02 V10}
call [r11]<unknown method> ; gcrRegs -[rdi] ; gcr arg pop 0 @@ -2095,7 +2096,7 @@ G_M47169_IG180: ; bbWeight=0, funclet epilog, nogc, extend ret ;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 4556, prolog size 76, PerfScore 237.28, instruction count 1011, allocated bytes for code 4556 (MethodHash=227047be) for method Microsoft.Cci.MetadataVisitor:Visit(System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]):this (Tier1)
+; Total bytes of code 4553, prolog size 76, PerfScore 238.50, instruction count 1012, allocated bytes for code 4553 (MethodHash=227047be) for method Microsoft.Cci.MetadataVisitor:Visit(System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]):this (Tier1)
; ============================================================ Unwind Info:

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

@@ -4187,12 +4187,12 @@ G_M21650_IG223: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, by ;; size=4 bbWeight=0.50 PerfScore 1.12 G_M21650_IG224: ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref ; gcrRegs -[rax] +[rdi]
- cmp dword ptr [rdi], edi - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rdi] + mov rax, qword ptr [rax+0x48]
call [rax+0x08]<unknown method> ; gcrRegs -[rdi] +[rax] ; gcr arg pop 0
- ;; size=12 bbWeight=0.50 PerfScore 4.00
+ ;; size=10 bbWeight=0.50 PerfScore 3.50
G_M21650_IG225: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi] @@ -4286,7 +4286,7 @@ G_M21650_IG235: ; bbWeight=0, gcrefRegs=D008 {rbx r12 r14 r15}, byrefRegs jmp G_M21650_IG203 ;; size=15 bbWeight=0 PerfScore 0.00
-; Total bytes of code 8456, prolog size 78, PerfScore 5376.88, instruction count 1909, allocated bytes for code 8456 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
+; Total bytes of code 8454, prolog size 78, PerfScore 5376.38, instruction count 1909, allocated bytes for code 8454 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
; ============================================================ Unwind Info:

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

@@ -22,7 +22,7 @@ ; V10 loc3 [V10,T78] ( 3, 3.86) int -> [rbp-0x98] spill-single-def ptr ; V11 loc4 [V11,T06] ( 9, 24.59) int -> [rbp-0x9C] ptr ; V12 loc5 [V12,T11] ( 7, 21.63) int -> [rbp-0xA0] spill-single-def ptr
-; V13 loc6 [V13,T19] ( 11, 16.51) ref -> [rbp-0x1A0] class-hnd exact ptr <System.Reflection.RuntimePropertyInfo>
+; V13 loc6 [V13,T16] ( 13, 18.88) ref -> [rbp-0x1A0] class-hnd exact ptr <System.Reflection.RuntimePropertyInfo>
; V14 loc7 [V14 ] ( 2, 4.47) ubyte -> [rbp-0xA8] do-not-enreg[X] addr-exposed ld-addr-op ;* V15 loc8 [V15 ] ( 0, 0 ) struct (16) zero-ref <System.MdUtf8String> ;* V16 loc9 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Reflection.MetadataImport> @@ -67,7 +67,7 @@ ;* V55 tmp31 [V55 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V56 tmp32 [V56 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V57 tmp33 [V57,T51] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V58 tmp34 [V58,T16] ( 5, 18.64) int -> rdi "Inline stloc first use temp"
+; V58 tmp34 [V58,T17] ( 5, 18.64) int -> rdi "Inline stloc first use temp"
;* V59 tmp35 [V59,T80] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V60 tmp36 [V60,T09] ( 3, 22.37) ref -> rax class-hnd exact "Inlining Arg" <System.Reflection.RuntimeModule> ;* V61 tmp37 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.MetadataImport> @@ -100,7 +100,7 @@ ;* V88 tmp64 [V88 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V89 tmp65 [V89 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V90 tmp66 [V90 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg"
-; V91 tmp67 [V91,T17] ( 4, 17.90) ref -> [rbp-0x1D8] class-hnd exact spill-single-def "Inlining Arg" <System.Reflection.RuntimeModule>
+; V91 tmp67 [V91,T18] ( 4, 17.90) ref -> [rbp-0x1D8] class-hnd exact spill-single-def "Inlining Arg" <System.Reflection.RuntimeModule>
;* V92 tmp68 [V92 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Reflection.MetadataImport> ;* V93 tmp69 [V93 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V94 tmp70 [V94 ] ( 2, 4.47) long -> [rbp-0xF8] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" @@ -255,7 +255,7 @@ ; V243 GsCookie [V243 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie" ; V244 tmp220 [V244,T61] ( 3, 5.47) ref -> [rbp-0x238] spill-single-def ptr "shadowVar" ; V245 tmp221 [V245,T13] ( 14, 20.68) ref -> [rbp-0x240] spill-single-def ptr "shadowVar"
-; V246 tmp222 [V246,T18] ( 10, 17.12) ref -> [rbp-0x248] spill-single-def ptr "shadowVar"
+; V246 tmp222 [V246,T19] ( 10, 17.12) ref -> [rbp-0x248] spill-single-def ptr "shadowVar"
; V247 tmp223 [V247,T87] ( 4, 2.03) struct (16) [rbp-0x198] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" <System.Span`1[ubyte]> ; V248 tmp224 [V248,T81] ( 5, 3.24) byref -> [rbp-0x250] spill-single-def ptr "shadowVar" ; V249 cse0 [V249,T104] ( 3, 0.05) byref -> rax "CSE - conservative" @@ -656,14 +656,14 @@ G_M9628_IG44: ; bbWeight=1, epilog, nogc, extend pop rbp ret ;; size=18 bbWeight=1 PerfScore 4.25
-G_M9628_IG45: ; bbWeight=3.22, gcVars=00000000000200002000000000042000 {V244 V245 V246 V248}, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG45: ; bbWeight=3.22, gcVars=00000000000200002000000000082000 {V244 V245 V246 V248}, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[r14]
- ; GC ptr vars +{V13 V244 V245 V246 V248}
+ ; GC ptr vars +{V13 V19 V244 V245 V246 V248}
jmp G_M9628_IG59 ;; size=5 bbWeight=3.22 PerfScore 6.44
-G_M9628_IG46: ; bbWeight=2, gcVars=000000000002000024001004000C2000 {V13 V19 V174 V183 V244 V245 V246 V248}, gcrefRegs=E040 {rsi r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG46: ; bbWeight=2, gcVars=00000000000200002400100400092000 {V13 V19 V174 V183 V244 V245 V246 V248}, gcrefRegs=E040 {rsi r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[rsi r13 r15]
- ; GC ptr vars +{V19 V58 V174 V183}
+ ; GC ptr vars +{V58 V174 V183}
cmp r8d, dword ptr [rsi+0x08] jae G_M9628_IG89 mov edi, r8d @@ -674,12 +674,12 @@ G_M9628_IG46: ; bbWeight=2, gcVars=000000000002000024001004000C2000 {V13 ; gcrRegs -[rsi] dec edi ;; size=25 bbWeight=2 PerfScore 17.50
-G_M9628_IG47: ; bbWeight=2.25, gcVars=000000000002000024000004000C2000 {V13 V19 V174 V244 V245 V246 V248}, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG47: ; bbWeight=2.25, gcVars=00000000000200002400000400092000 {V13 V19 V174 V244 V245 V246 V248}, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V58 V183} cmp dword ptr [rax+0x08], edi ja G_M9628_IG57 ;; size=9 bbWeight=2.25 PerfScore 9.00
-G_M9628_IG48: ; bbWeight=1.12, gcVars=000000000002000020000004000C2000 {V13 V19 V244 V245 V246 V248}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG48: ; bbWeight=1.12, gcVars=00000000000200002000000400092000 {V13 V19 V244 V245 V246 V248}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax] ; GC ptr vars -{V174} mov rax, gword ptr [rbp-0x1A0] @@ -687,8 +687,8 @@ G_M9628_IG48: ; bbWeight=1.12, gcVars=000000000002000020000004000C2000 {V mov rcx, gword ptr [rbp-0x1A8] ; gcrRegs +[rcx] ;; size=14 bbWeight=1.12 PerfScore 2.25
-G_M9628_IG49: ; bbWeight=2, gcVars=00000000000200002000000400042000 {V19 V244 V245 V246 V248}, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref - ; GC ptr vars -{V13 V19}
+G_M9628_IG49: ; bbWeight=2, gcVars=00000000000200002000000400082000 {V19 V244 V245 V246 V248}, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref + ; GC ptr vars -{V13}
xor rdx, rdx ; byrRegs +[rdx] ;; size=2 bbWeight=2 PerfScore 0.50 @@ -701,7 +701,6 @@ G_M9628_IG51: ; bbWeight=2.00, gcrefRegs=E003 {rax rcx r13 r14 r15}, byre mov gword ptr [rbp-0x1A0], rax ; GC ptr vars +{V13} mov rdi, 0xD1FFAB1E ; System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]
- ; GC ptr vars +{V19}
call CORINFO_HELP_NEWSFAST ; gcrRegs -[rcx] ; gcr arg pop 0 @@ -745,7 +744,7 @@ G_M9628_IG52: ; bbWeight=2, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000 cmp dword ptr [rcx+0x10], 0 jg G_M9628_IG114 ;; size=19 bbWeight=2 PerfScore 10.50
-G_M9628_IG53: ; bbWeight=2, gcVars=000000000002000020000000000C2000 {V13 V244 V245 V246 V248}, gcrefRegs=E002 {rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M9628_IG53: ; bbWeight=2, gcVars=00000000000200002000000000092000 {V13 V244 V245 V246 V248}, gcrefRegs=E002 {rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V20} test rcx, rcx je SHORT G_M9628_IG56 @@ -771,7 +770,7 @@ G_M9628_IG54: ; bbWeight=1.78, gcrefRegs=E082 {rcx rdi r13 r14 r15}, byre mov rcx, gword ptr [rbp-0x1A0] ; gcrRegs +[rcx] ;; size=32 bbWeight=1.78 PerfScore 10.22
-G_M9628_IG55: ; bbWeight=2.12, gcVars=00000000000200002000000000042000 {V244 V245 V246 V248}, gcrefRegs=C002 {rcx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG55: ; bbWeight=2.12, gcVars=00000000000200002000000000082000 {V244 V245 V246 V248}, gcrefRegs=C002 {rcx r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[r13] ; GC ptr vars -{V13} mov rdi, bword ptr [rbp-0x250] @@ -791,7 +790,7 @@ G_M9628_IG56: ; bbWeight=1, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000 mov r9d, dword ptr [rbp-0x174] jmp G_M9628_IG41 ;; size=12 bbWeight=1 PerfScore 3.00
-G_M9628_IG57: ; bbWeight=0.25, gcVars=000000000002000024000004000C2000 {V13 V19 V174 V244 V245 V246 V248}, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG57: ; bbWeight=0.25, gcVars=00000000000200002400000400092000 {V13 V19 V174 V244 V245 V246 V248}, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[rax] ; GC ptr vars +{V13 V19 V58 V174} mov edx, ecx @@ -811,8 +810,8 @@ G_M9628_IG57: ; bbWeight=0.25, gcVars=000000000002000024000004000C2000 {V cmp dword ptr [rdi+0x10], edx je G_M9628_IG111 ;; size=53 bbWeight=0.25 PerfScore 2.56
-G_M9628_IG58: ; bbWeight=0.25, gcVars=00000020000200002000000400042000 {V19 V172 V244 V245 V246 V248}, gcrefRegs=EC03 {rax rcx r10 r11 r13 r14 r15}, byrefRegs=0080 {rdi}, gcvars, byref - ; GC ptr vars -{V13 V19 V58 V174}
+G_M9628_IG58: ; bbWeight=0.25, gcVars=00000020000200002000000400082000 {V19 V172 V244 V245 V246 V248}, gcrefRegs=EC03 {rax rcx r10 r11 r13 r14 r15}, byrefRegs=0080 {rdi}, gcvars, byref + ; GC ptr vars -{V13 V58 V174}
mov edi, dword ptr [rdi+0x14] ; byrRegs -[rdi] inc esi @@ -827,9 +826,9 @@ G_M9628_IG58: ; bbWeight=0.25, gcVars=00000020000200002000000400042000 {V ; gcrRegs -[rcx] jmp G_M9628_IG47 ;; size=39 bbWeight=0.25 PerfScore 2.69
-G_M9628_IG59: ; bbWeight=2.24, gcVars=00000000000200002000000000042000 {V244 V245 V246 V248}, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG59: ; bbWeight=2.24, gcVars=00000000000200002000000000082000 {V244 V245 V246 V248}, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax r10-r11 r13 r15]
- ; GC ptr vars -{V13 V172 V174}
+ ; GC ptr vars -{V13 V19 V172 V174}
mov rdi, 0xD1FFAB1E ; System.Reflection.RuntimePropertyInfo call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] @@ -847,7 +846,7 @@ G_M9628_IG59: ; bbWeight=2.24, gcVars=00000000000200002000000000042000 {V cmp byte ptr [rcx+0x94], 0 jne G_M9628_IG99 ;; size=62 bbWeight=2.24 PerfScore 25.73
-G_M9628_IG60: ; bbWeight=2.24, gcVars=00000000000200002000000000042081 {V28 V79 V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG60: ; bbWeight=2.24, gcVars=00000000000200002000000000082081 {V28 V79 V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax rcx] mov rdi, r14 ; gcrRegs +[rdi] @@ -982,21 +981,22 @@ G_M9628_IG63: ; bbWeight=2.24, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 { test edi, esi jne G_M9628_IG83 ;; size=57 bbWeight=2.24 PerfScore 26.85
-G_M9628_IG64: ; bbWeight=2.12, gcVars=00000000000200002000000000042000 {V244 V245 V246 V248}, gcrefRegs=C002 {rcx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG64: ; bbWeight=2.12, gcVars=00000000000200002000000000082000 {V244 V245 V246 V248}, gcrefRegs=C002 {rcx r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax] ; GC ptr vars -{V28}
- mov gword ptr [rbp-0x1A0], rcx - ; GC ptr vars +{V13}
mov rdi, rcx ; gcrRegs +[rdi] xor esi, esi
- mov rax, qword ptr [(reloc)]
+ mov gword ptr [rbp-0x1A0], rcx + ; GC ptr vars +{V13} + mov rax, qword ptr [rcx] + mov rax, qword ptr [rax+0x60]
call [rax+0x08]<unknown method> ; gcrRegs -[rcx rdi] +[rax] ; gcr arg pop 0 test rax, rax je G_M9628_IG86
- ;; size=31 bbWeight=2.12 PerfScore 16.42
+ ;; size=31 bbWeight=2.12 PerfScore 20.66
G_M9628_IG65: ; bbWeight=2.12, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0000 {}, byref, isz test rax, rax je SHORT G_M9628_IG67 @@ -1019,7 +1019,7 @@ G_M9628_IG66: ; bbWeight=1.86, gcrefRegs=C001 {rax r14 r15}, byrefRegs=00 cmp eax, dword ptr [rbp-0x98] jl G_M9628_IG84 ;; size=63 bbWeight=1.86 PerfScore 25.17
-G_M9628_IG67: ; bbWeight=2.12, gcVars=000000000002000020000000000C2000 {V13 V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG67: ; bbWeight=2.12, gcVars=00000000000200002000000000092000 {V13 V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V30 V100} mov r13, gword ptr [rbp-0x248] ; gcrRegs +[r13] @@ -1057,7 +1057,7 @@ G_M9628_IG69: ; bbWeight=2.00, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=00 je G_M9628_IG100 mov eax, dword ptr [rbp-0x164] ;; size=55 bbWeight=2.00 PerfScore 17.50
-G_M9628_IG70: ; bbWeight=2.00, gcVars=000000000002004020000000000C2000 {V13 V116 V244 V245 V246 V248}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0004 {rdx}, gcvars, byref, isz
+G_M9628_IG70: ; bbWeight=2.00, gcVars=00000000000200402000000000092000 {V13 V116 V244 V245 V246 V248}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0004 {rdx}, gcvars, byref, isz
; gcrRegs -[rcx] ; byrRegs +[rdx] mov bword ptr [rbp-0x118], rdx @@ -1163,7 +1163,7 @@ G_M9628_IG74: ; bbWeight=2.00, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=00 cmp r9d, r8d jne G_M9628_IG106 ;; size=104 bbWeight=2.00 PerfScore 33.00
-G_M9628_IG75: ; bbWeight=2.00, gcVars=000000000002000020000800000C2000 {V13 V128 V244 V245 V246 V248}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG75: ; bbWeight=2.00, gcVars=00000000000200002000080000092000 {V13 V128 V244 V245 V246 V248}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V116} mov edx, dword ptr [rbp-0x124] cmp edx, ecx @@ -1175,7 +1175,7 @@ G_M9628_IG76: ; bbWeight=2.00, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=00 mov rcx, gword ptr [rbp-0x208] ; gcrRegs +[rcx] ;; size=16 bbWeight=2.00 PerfScore 4.50
-G_M9628_IG77: ; bbWeight=2.00, gcVars=000000000002000020000000000C2000 {V13 V244 V245 V246 V248}, gcrefRegs=E002 {rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG77: ; bbWeight=2.00, gcVars=00000000000200002000000000092000 {V13 V244 V245 V246 V248}, gcrefRegs=E002 {rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V128} xor rdi, rdi ; byrRegs +[rdi] @@ -1202,14 +1202,14 @@ G_M9628_IG78: ; bbWeight=2.00, gcrefRegs=E002 {rcx r13 r14 r15}, byrefReg mov rcx, rax mov rax, gword ptr [rbp-0x1A0] ;; size=53 bbWeight=2.00 PerfScore 14.50
-G_M9628_IG79: ; bbWeight=2.00, gcVars=00000000000200002000000000042000 {V244 V245 V246 V248}, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG79: ; bbWeight=2.00, gcVars=00000000000200002000000000082000 {V244 V245 V246 V248}, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V13 V125} mov gword ptr [rbp-0x1A8], rcx ; GC ptr vars +{V19} test rcx, rcx je G_M9628_IG122 ;; size=16 bbWeight=2.00 PerfScore 4.50
-G_M9628_IG80: ; bbWeight=2, gcVars=00000000000200002000000400042000 {V19 V244 V245 V246 V248}, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG80: ; bbWeight=2, gcVars=00000000000200002000000400082000 {V19 V244 V245 V246 V248}, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
cmp gword ptr [r13+0x08], 0 je G_M9628_IG49 cmp gword ptr [r13+0x10], 0 @@ -1223,7 +1223,7 @@ G_M9628_IG81: ; bbWeight=2, gcrefRegs=E003 {rax rcx r13 r14 r15}, byrefRe ; GC ptr vars +{V13} je G_M9628_IG109 ;; size=20 bbWeight=2 PerfScore 8.50
-G_M9628_IG82: ; bbWeight=2, gcVars=000000000002000020000004000C2000 {V13 V19 V244 V245 V246 V248}, gcrefRegs=E006 {rcx rdx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG82: ; bbWeight=2, gcVars=00000000000200002000000400092000 {V13 V19 V244 V245 V246 V248}, gcrefRegs=E006 {rcx rdx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax] mov gword ptr [rbp-0x218], rdx ; GC ptr vars +{V174} @@ -1257,19 +1257,19 @@ G_M9628_IG82: ; bbWeight=2, gcVars=000000000002000020000004000C2000 {V13 jne G_M9628_IG110 jmp G_M9628_IG46 ;; size=98 bbWeight=2 PerfScore 95.00
-G_M9628_IG83: ; bbWeight=1.12, gcVars=00000000000200002000000000042000 {V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M9628_IG83: ; bbWeight=1.12, gcVars=00000000000200002000000000082000 {V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rsi r13] ; GC ptr vars -{V13 V19 V174 V183} mov r9d, dword ptr [rbp-0x174] jmp G_M9628_IG41 ;; size=12 bbWeight=1.12 PerfScore 3.36
-G_M9628_IG84: ; bbWeight=0.02, gcVars=000000000002000020000040000C2000 {V13 V30 V244 V245 V246 V248}, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
...

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

@@ -22,7 +22,7 @@ ; V10 loc3 [V10,T37] ( 3, 2.33) int -> [rbp-0x98] spill-single-def ptr ; V11 loc4 [V11,T03] ( 9, 9.00) int -> [rbp-0x9C] ptr ; V12 loc5 [V12,T08] ( 9, 6.33) int -> [rbp-0xA0] ptr
-; V13 loc6 [V13,T56] ( 9, 1.00) ref -> [rbp-0x138] class-hnd exact ptr <System.Reflection.RuntimePropertyInfo>
+; V13 loc6 [V13,T49] ( 11, 1.33) ref -> [rbp-0x138] class-hnd exact ptr <System.Reflection.RuntimePropertyInfo>
; V14 loc7 [V14 ] ( 2, 0.67) ubyte -> [rbp-0xA8] do-not-enreg[X] addr-exposed ld-addr-op ;* V15 loc8 [V15 ] ( 0, 0 ) struct (16) zero-ref <System.MdUtf8String> ;* V16 loc9 [V16 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Reflection.MetadataImport> @@ -38,8 +38,8 @@ ; V26 tmp2 [V26,T39] ( 5, 2 ) int -> registers ptr ; V27 tmp3 [V27,T04] ( 3, 8.00) ref -> rax class-hnd exact "dup spill" <int[]> ; V28 tmp4 [V28,T01] ( 11, 9.33) ref -> [rbp-0x148] class-hnd exact spill-single-def ptr "NewObj constructor temp" <System.Reflection.RuntimePropertyInfo>
-; V29 tmp5 [V29,T53] ( 2, 1.33) ref -> rax class-hnd "dup spill" <System.Reflection.MethodInfo> -; V30 tmp6 [V30,T49] ( 8, 1.33) ref -> [rbp-0x150] ptr
+; V29 tmp5 [V29,T54] ( 2, 1.33) ref -> rax class-hnd "dup spill" <System.Reflection.MethodInfo> +; V30 tmp6 [V30,T50] ( 8, 1.33) ref -> [rbp-0x150] ptr
; V31 tmp7 [V31,T69] ( 3, 0 ) ref -> [rbp-0x158] class-hnd exact spill-single-def ptr "NewObj constructor temp" <System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]> ;* V32 tmp8 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.MetadataImport> ;* V33 tmp9 [V33 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" @@ -68,7 +68,7 @@ ;* V56 tmp32 [V56 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V57 tmp33 [V57,T35] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V58 tmp34 [V58,T07] ( 5, 6.67) int -> rdi "Inline stloc first use temp"
-; V59 tmp35 [V59,T51] ( 2, 0 ) ubyte -> rdi "Inline return value spill temp"
+; V59 tmp35 [V59,T52] ( 2, 0 ) ubyte -> rdi "Inline return value spill temp"
; V60 tmp36 [V60,T05] ( 3, 8.00) ref -> rax class-hnd exact "Inlining Arg" <System.Reflection.RuntimeModule> ;* V61 tmp37 [V61 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Reflection.MetadataImport> ;* V62 tmp38 [V62 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" @@ -109,8 +109,8 @@ ;* V97 tmp73 [V97 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V98 tmp74 [V98 ] ( 2, 0.67) long -> [rbp-0x100] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ; V99 tmp75 [V99 ] ( 2, 0.67) int -> [rbp-0x108] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-; V100 tmp76 [V100,T54] ( 2, 1.33) byref -> [rbp-0x170] spill-single-def ptr "Inlining Arg" -; V101 tmp77 [V101,T55] ( 2, 1.33) byref -> [rbp-0x178] spill-single-def ptr "Inlining Arg"
+; V100 tmp76 [V100,T55] ( 2, 1.33) byref -> [rbp-0x170] spill-single-def ptr "Inlining Arg" +; V101 tmp77 [V101,T56] ( 2, 1.33) byref -> [rbp-0x178] spill-single-def ptr "Inlining Arg"
;* V102 tmp78 [V102 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.RuntimeType+RuntimeTypeCache> ;* V103 tmp79 [V103 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V104 tmp80 [V104,T41] ( 3, 2.00) ref -> [rbp-0x180] class-hnd exact spill-single-def ptr "Inlining Arg" <System.Reflection.RuntimeMethodInfo> @@ -158,11 +158,11 @@ ; V146 GsCookie [V146 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie" ; V147 tmp123 [V147,T30] ( 3, 2.67) ref -> r12 single-def "shadowVar" ; V148 tmp124 [V148,T00] ( 14, 10.67) ref -> r13 single-def "shadowVar"
-; V149 tmp125 [V149,T50] ( 6, 1.33) ref -> r14 single-def "shadowVar"
+; V149 tmp125 [V149,T51] ( 6, 1.33) ref -> r14 single-def "shadowVar"
; V150 tmp126 [V150,T40] ( 5, 2 ) struct (16) [rbp-0x130] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" <System.Span`1[ubyte]> ; V151 tmp127 [V151,T48] ( 5, 1.67) byref -> r15 single-def "shadowVar" ; V152 rat0 [V152,T42] ( 3, 2.00) ref -> rcx "replacement local"
-; V153 rat1 [V153,T52] ( 3, 1.33) long -> rdi "CSE for expectedClsNode"
+; V153 rat1 [V153,T53] ( 3, 1.33) long -> rdi "CSE for expectedClsNode"
; ; Lcl frame size = 408 @@ -613,20 +613,21 @@ G_M9628_IG40: ; bbWeight=0.33, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=80 movzx rsi, byte ptr [rbp-0xA8] test edi, esi jne G_M9628_IG47
- mov gword ptr [rbp-0x138], rcx - ; GC ptr vars +{V13}
mov rdi, rcx ; gcrRegs +[rdi] xor esi, esi
- mov rax, qword ptr [(reloc)]
+ mov gword ptr [rbp-0x138], rcx + ; GC ptr vars +{V13} + mov rax, qword ptr [rcx]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x60]
; GC ptr vars -{V28} call [rax+0x08]<unknown method> ; gcrRegs -[rcx rdi] +[rax] ; gcr arg pop 0 test rax, rax je G_M9628_IG68
- ;; size=89 bbWeight=0.33 PerfScore 6.58
+ ;; size=89 bbWeight=0.33 PerfScore 7.25
G_M9628_IG41: ; bbWeight=0.33, gcrefRegs=7001 {rax r12 r13 r14}, byrefRegs=8000 {r15}, byref, isz test rax, rax je SHORT G_M9628_IG42 @@ -648,7 +649,7 @@ G_M9628_IG41: ; bbWeight=0.33, gcrefRegs=7001 {rax r12 r13 r14}, byrefReg mov dword ptr [rbp-0x10C], eax jl G_M9628_IG70 ;; size=70 bbWeight=0.33 PerfScore 4.67
-G_M9628_IG42: ; bbWeight=0.33, gcVars=00000000000000000100000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+G_M9628_IG42: ; bbWeight=0.33, gcVars=00000000000000000002000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
; GC ptr vars -{V30 V104} test r14, r14 jne SHORT G_M9628_IG46 @@ -676,7 +677,7 @@ G_M9628_IG45: ; bbWeight=0.33, gcVars=00000000000000000000000000000000 {} mov r9d, dword ptr [rbp-0x11C] jmp G_M9628_IG28 ;; size=34 bbWeight=0.33 PerfScore 2.25
-G_M9628_IG46: ; bbWeight=0.17, gcVars=00000000000000000100000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref
+G_M9628_IG46: ; bbWeight=0.17, gcVars=00000000000000000002000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref
; GC ptr vars +{V13} mov rax, gword ptr [rbp-0x138] ; gcrRegs +[rax] @@ -851,35 +852,37 @@ G_M9628_IG67: ; bbWeight=0, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 ; gcr arg pop 0 jmp G_M9628_IG37 ;; size=31 bbWeight=0 PerfScore 0.00
-G_M9628_IG68: ; bbWeight=0, gcVars=00000000000000000100000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref
+G_M9628_IG68: ; bbWeight=0, gcVars=00000000000000000002000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref
; GC ptr vars -{V01 V06 V28 V83} +{V13} mov rdi, gword ptr [rbp-0x138] ; gcrRegs +[rdi] xor esi, esi
- mov rax, qword ptr [(reloc)]
+ mov gword ptr [rbp-0x138], rdi + mov rax, qword ptr [rdi] + mov rax, qword ptr [rax+0x60]
call [rax+0x18]<unknown method> ; gcrRegs -[rdi] +[rax] ; gcr arg pop 0 jmp G_M9628_IG41
- ;; size=24 bbWeight=0 PerfScore 0.00 -G_M9628_IG69: ; bbWeight=0, gcVars=00000000000000000002000000000000 {V30}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+ ;; size=31 bbWeight=0 PerfScore 0.00 +G_M9628_IG69: ; bbWeight=0, gcVars=00000000000000000004000000000000 {V30}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rax r12-r14] ; byrRegs -[r15]
- ; GC ptr vars -{V13} +{V30}
+ ; GC ptr vars -{V13} +{V30 V50}
mov rax, gword ptr [rbp-0x150] ; gcrRegs +[rax] mov rsi, rax ; gcrRegs +[rsi]
- ; GC ptr vars -{V30}
+ ; GC ptr vars -{V30 V50}
call CORINFO_HELP_CHKCASTCLASS ; gcrRegs -[rsi] ; gcr arg pop 0 int3 ;; size=16 bbWeight=0 PerfScore 0.00
-G_M9628_IG70: ; bbWeight=0, gcVars=00000000000000000102000000000000 {V13 V30}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+G_M9628_IG70: ; bbWeight=0, gcVars=00000000000000000006000000000000 {V13 V30}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
; gcrRegs -[rax] +[r12-r14] ; byrRegs +[r15]
- ; GC ptr vars +{V13 V30}
+ ; GC ptr vars +{V13 V30 V50}
mov rax, gword ptr [rbp-0x150] ; gcrRegs +[rax] mov rdi, rax @@ -887,7 +890,7 @@ G_M9628_IG70: ; bbWeight=0, gcVars=00000000000000000102000000000000 {V13 mov rax, qword ptr [rax] ; gcrRegs -[rax] mov rax, qword ptr [rax+0x58]
- ; GC ptr vars -{V30}
+ ; GC ptr vars -{V30 V50}
call [rax+0x20]<unknown method> ; gcrRegs -[rdi] ; gcr arg pop 0 @@ -972,7 +975,7 @@ G_M9628_IG73: ; bbWeight=0, gcVars=00000000000000000000000000000000 {}, g ; GC ptr vars +{V13} jmp G_M9628_IG43 ;; size=12 bbWeight=0 PerfScore 0.00
-G_M9628_IG74: ; bbWeight=0, gcVars=00000000000000000100000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
+G_M9628_IG74: ; bbWeight=0, gcVars=00000000000000000002000000000000 {V13}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 {r15}, gcvars, byref, isz
; gcrRegs -[rax] mov rsi, gword ptr [rbp-0xB0] ; gcrRegs +[rsi] @@ -1085,7 +1088,7 @@ G_M9628_IG79: ; bbWeight=0, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=8000 jmp G_M9628_IG45 ;; size=103 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2506, prolog size 106, PerfScore 210.17, instruction count 518, allocated bytes for code 2506 (MethodHash=a5a7da63) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
+; Total bytes of code 2513, prolog size 106, PerfScore 210.83, instruction count 521, allocated bytes for code 2513 (MethodHash=a5a7da63) for method System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
; ============================================================ Unwind Info:

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

@@ -162,7 +162,11 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcrRegs -[rax] mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0xC0]
call [rax+0x30]<unknown method> ; gcrRegs -[rdi] +[rax] ; gcr arg pop 0 @@ -182,7 +186,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcr arg pop 0 test eax, eax je SHORT G_M22068_IG12
- ;; size=59 bbWeight=1 PerfScore 13.75
+ ;; size=72 bbWeight=1 PerfScore 16.00
G_M22068_IG07: ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz mov rdi, rbx ; gcrRegs +[rdi] @@ -766,7 +770,7 @@ G_M22068_IG46: ; bbWeight=0, gcVars=0000000000000001 {V93}, gcrefRegs=000 int3 ;; size=42 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1279, prolog size 47, PerfScore 735.88, instruction count 334, allocated bytes for code 1279 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
+; Total bytes of code 1292, prolog size 47, PerfScore 738.12, instruction count 336, allocated bytes for code 1292 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
; ============================================================ Unwind Info:

benchmarks.run_tiered.linux.x64.checked.mch

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

@@ -4200,12 +4200,12 @@ G_M21650_IG223: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, by ;; size=4 bbWeight=0.50 PerfScore 1.12 G_M21650_IG224: ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref ; gcrRegs -[rax] +[rdi]
- cmp dword ptr [rdi], edi - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rdi] + mov rax, qword ptr [rax+0x48]
call [rax+0x08]<unknown method> ; gcrRegs -[rdi] +[rax] ; gcr arg pop 0
- ;; size=12 bbWeight=0.50 PerfScore 4.00
+ ;; size=10 bbWeight=0.50 PerfScore 3.50
G_M21650_IG225: ; bbWeight=1, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi] @@ -4272,7 +4272,7 @@ G_M21650_IG233: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 8436, prolog size 78, PerfScore 5391.88, instruction count 1907, allocated bytes for code 8436 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
+; Total bytes of code 8434, prolog size 78, PerfScore 5391.38, instruction count 1907, allocated bytes for code 8434 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
; ============================================================ Unwind Info:

+0 (0.00%) : 29777.dasm - System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)

@@ -8,8 +8,8 @@ ; 0 inlinees with PGO data; 58 single block inlinees; 33 inlinees without PGO data ; Final local variable assignments ;
-; V00 arg0 [V00,T51] ( 6, 5 ) ref -> rbx class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.String]> -; V01 loc0 [V01,T52] ( 5, 7 ) ref -> r15 class-hnd <System.IO.MemoryStream>
+; V00 arg0 [V00,T52] ( 6, 5 ) ref -> rbx class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.String]> +; V01 loc0 [V01,T31] ( 7, 11.50) ref -> r15 class-hnd <System.IO.MemoryStream>
; V02 loc1 [V02,T30] ( 9, 14.50) ref -> r14 class-hnd <ubyte[]> ;* V03 loc2 [V03 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]> ;* V04 loc3 [V04 ] ( 0, 0 ) struct (16) zero-ref <System.Span`1[ubyte]> @@ -44,7 +44,7 @@ ; V33 tmp16 [V33,T17] ( 3, 24 ) int -> rdi "impAppendStmt" ;* V34 tmp17 [V34 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]> ;* V35 tmp18 [V35 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-; V36 tmp19 [V36,T36] ( 2, 8 ) ref -> r14 class-hnd "dup spill" <ubyte[]>
+; V36 tmp19 [V36,T37] ( 2, 8 ) ref -> r14 class-hnd "dup spill" <ubyte[]>
; V37 tmp20 [V37,T65] ( 2, 4 ) long -> r13 "Inlining Arg" ; V38 tmp21 [V38,T71] ( 2, 2 ) struct (40) [rbp-0x90] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.String]> ;* V39 tmp22 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]> @@ -59,7 +59,7 @@ ;* V48 tmp31 [V48 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V49 tmp32 [V49 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V50 tmp33 [V50 ] ( 0, 0 ) int -> zero-ref
-; V51 tmp34 [V51,T31] ( 4, 8 ) int -> r8 "Inline stloc first use temp"
+; V51 tmp34 [V51,T32] ( 4, 8 ) int -> r8 "Inline stloc first use temp"
;* V52 tmp35 [V52 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ; V53 tmp36 [V53 ] ( 3, 6 ) byref -> [rbp-0x98] must-init pinned "Inline stloc first use temp" ; V54 tmp37 [V54,T55] ( 3, 6 ) long -> [rbp-0xA0] spill-single-def "Inline stloc first use temp" @@ -79,7 +79,7 @@ ;* V68 tmp51 [V68 ] ( 0, 0 ) int -> zero-ref ; V69 tmp52 [V69,T00] ( 11,156 ) int -> [rbp-0xA4] "Inlining Arg" ; V70 tmp53 [V70,T02] ( 11,128 ) long -> [rbp-0xB0] "Inlining Arg"
-; V71 tmp54 [V71,T44] ( 2, 8 ) long -> rdi "dup spill"
+; V71 tmp54 [V71,T45] ( 2, 8 ) long -> rdi "dup spill"
;* V72 tmp55 [V72 ] ( 0, 0 ) struct ( 8) zero-ref "dup spill" <System.ValueTuple`2[uint,uint]> ; V73 tmp56 [V73,T06] ( 3, 48 ) int -> [rbp-0xB4] spill-single-def "Inline stloc first use temp" ;* V74 tmp57 [V74 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" @@ -113,8 +113,8 @@ ;* V102 tmp85 [V102 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V103 tmp86 [V103 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]> ;* V104 tmp87 [V104 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V105 tmp88 [V105,T45] ( 2, 8 ) int -> rdi "Inlining Arg" -; V106 tmp89 [V106,T37] ( 2, 8 ) byref -> r8 "Inlining Arg"
+; V105 tmp88 [V105,T46] ( 2, 8 ) int -> rdi "Inlining Arg" +; V106 tmp89 [V106,T38] ( 2, 8 ) byref -> r8 "Inlining Arg"
;* V107 tmp90 [V107 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V108 tmp91 [V108 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ; V109 tmp92 [V109,T10] ( 4, 32 ) int -> rdi "Inlining Arg" @@ -125,8 +125,8 @@ ;* V114 tmp97 [V114 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V115 tmp98 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]> ;* V116 tmp99 [V116 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-; V117 tmp100 [V117,T46] ( 2, 8 ) int -> rdx "Inlining Arg" -; V118 tmp101 [V118,T38] ( 2, 8 ) byref -> rcx "Inlining Arg"
+; V117 tmp100 [V117,T47] ( 2, 8 ) int -> rdx "Inlining Arg" +; V118 tmp101 [V118,T39] ( 2, 8 ) byref -> rcx "Inlining Arg"
;* V119 tmp102 [V119 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V120 tmp103 [V120 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ; V121 tmp104 [V121,T11] ( 4, 32 ) int -> rdi "Inlining Arg" @@ -150,20 +150,20 @@ ; V139 tmp122 [V139,T08] ( 13, 45 ) int -> r12 "field V03._length (fldOffset=0x8)" P-INDEP ;* V140 tmp123 [V140 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP ;* V141 tmp124 [V141 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
-; V142 tmp125 [V142,T39] ( 2, 8 ) ref -> rbx "field V08.key (fldOffset=0x0)" P-INDEP -; V143 tmp126 [V143,T40] ( 2, 8 ) ref -> rax "field V08.value (fldOffset=0x8)" P-INDEP
+; V142 tmp125 [V142,T40] ( 2, 8 ) ref -> rbx "field V08.key (fldOffset=0x0)" P-INDEP +; V143 tmp126 [V143,T41] ( 2, 8 ) ref -> rax "field V08.value (fldOffset=0x8)" P-INDEP
;* V144 tmp127 [V144 ] ( 0, 0 ) ubyte -> zero-ref "field V16._format (fldOffset=0x0)" P-INDEP ;* V145 tmp128 [V145 ] ( 0, 0 ) ubyte -> zero-ref "field V16._precision (fldOffset=0x1)" P-INDEP ; V146 tmp129 [V146,T70] ( 2, 2 ) byref -> r13 single-def "field V18._reference (fldOffset=0x0)" P-INDEP ;* V147 tmp130 [V147,T74] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP ; V148 tmp131 [V148,T57] ( 2, 6 ) byref -> r8 "field V22._reference (fldOffset=0x0)" P-INDEP ; V149 tmp132 [V149,T58] ( 2, 6 ) int -> r9 "field V22._length (fldOffset=0x8)" P-INDEP
-; V150 tmp133 [V150,T32] ( 3, 8 ) byref -> rbx "field V26._reference (fldOffset=0x0)" P-INDEP -; V151 tmp134 [V151,T34] ( 3, 8 ) int -> [rbp-0xC0] "field V26._length (fldOffset=0x8)" P-INDEP
+; V150 tmp133 [V150,T33] ( 3, 8 ) byref -> rbx "field V26._reference (fldOffset=0x0)" P-INDEP +; V151 tmp134 [V151,T35] ( 3, 8 ) int -> [rbp-0xC0] "field V26._length (fldOffset=0x8)" P-INDEP
;* V152 tmp135 [V152 ] ( 0, 0 ) byref -> zero-ref "field V27._reference (fldOffset=0x0)" P-INDEP ;* V153 tmp136 [V153 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
-; V154 tmp137 [V154,T33] ( 3, 8 ) byref -> [rbp-0xF8] "field V31._reference (fldOffset=0x0)" P-INDEP -; V155 tmp138 [V155,T35] ( 3, 8 ) int -> [rbp-0xC4] "field V31._length (fldOffset=0x8)" P-INDEP
+; V154 tmp137 [V154,T34] ( 3, 8 ) byref -> [rbp-0xF8] "field V31._reference (fldOffset=0x0)" P-INDEP +; V155 tmp138 [V155,T36] ( 3, 8 ) int -> [rbp-0xC4] "field V31._length (fldOffset=0x8)" P-INDEP
;* V156 tmp139 [V156 ] ( 0, 0 ) byref -> zero-ref "field V32._reference (fldOffset=0x0)" P-INDEP ;* V157 tmp140 [V157 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP ;* V158 tmp141 [V158 ] ( 0, 0 ) byref -> zero-ref "field V34._reference (fldOffset=0x0)" P-INDEP @@ -198,26 +198,26 @@ ; V187 tmp170 [V187,T67] ( 2, 4 ) int -> r8 "field V103._length (fldOffset=0x8)" P-INDEP ;* V188 tmp171 [V188 ] ( 0, 0 ) byref -> zero-ref "field V104._reference (fldOffset=0x0)" P-INDEP ;* V189 tmp172 [V189 ] ( 0, 0 ) int -> zero-ref "field V104._length (fldOffset=0x8)" P-INDEP
-; V190 tmp173 [V190,T41] ( 2, 8 ) byref -> r9 "field V110._reference (fldOffset=0x0)" P-INDEP -; V191 tmp174 [V191,T47] ( 2, 8 ) int -> r10 "field V110._length (fldOffset=0x8)" P-INDEP
+; V190 tmp173 [V190,T42] ( 2, 8 ) byref -> r9 "field V110._reference (fldOffset=0x0)" P-INDEP +; V191 tmp174 [V191,T48] ( 2, 8 ) int -> r10 "field V110._length (fldOffset=0x8)" P-INDEP
; V192 tmp175 [V192,T64] ( 2, 4 ) byref -> rcx "field V115._reference (fldOffset=0x0)" P-INDEP ; V193 tmp176 [V193,T68] ( 2, 4 ) int -> rdx "field V115._length (fldOffset=0x8)" P-INDEP ;* V194 tmp177 [V194 ] ( 0, 0 ) byref -> zero-ref "field V116._reference (fldOffset=0x0)" P-INDEP ;* V195 tmp178 [V195 ] ( 0, 0 ) int -> zero-ref "field V116._length (fldOffset=0x8)" P-INDEP
-; V196 tmp179 [V196,T42] ( 2, 8 ) byref -> r8 "field V122._reference (fldOffset=0x0)" P-INDEP -; V197 tmp180 [V197,T48] ( 2, 8 ) int -> r9 "field V122._length (fldOffset=0x8)" P-INDEP
+; V196 tmp179 [V196,T43] ( 2, 8 ) byref -> r8 "field V122._reference (fldOffset=0x0)" P-INDEP +; V197 tmp180 [V197,T49] ( 2, 8 ) int -> r9 "field V122._length (fldOffset=0x8)" P-INDEP
;* V198 tmp181 [V198 ] ( 0, 0 ) byref -> zero-ref "field V128._reference (fldOffset=0x0)" P-INDEP ;* V199 tmp182 [V199 ] ( 0, 0 ) int -> zero-ref "field V128._length (fldOffset=0x8)" P-INDEP ;* V200 tmp183 [V200 ] ( 0, 0 ) byref -> zero-ref "field V132._reference (fldOffset=0x0)" P-INDEP ;* V201 tmp184 [V201 ] ( 0, 0 ) int -> zero-ref "field V132._length (fldOffset=0x8)" P-INDEP
-; V202 tmp185 [V202,T43] ( 2, 8 ) byref -> rsi "field V133._reference (fldOffset=0x0)" P-INDEP -; V203 tmp186 [V203,T49] ( 2, 8 ) int -> rdx "field V133._length (fldOffset=0x8)" P-INDEP
+; V202 tmp185 [V202,T44] ( 2, 8 ) byref -> rsi "field V133._reference (fldOffset=0x0)" P-INDEP +; V203 tmp186 [V203,T50] ( 2, 8 ) int -> rdx "field V133._length (fldOffset=0x8)" P-INDEP
;* V204 tmp187 [V204 ] ( 0, 0 ) ref -> zero-ref single-def "V38.[000..008)" ; V205 tmp188 [V205,T73] ( 2, 1 ) int -> rdi "V38.[008..012)" ;* V206 tmp189 [V206 ] ( 0, 0 ) int -> zero-ref "V38.[012..016)" ;* V207 tmp190 [V207 ] ( 0, 0 ) int -> zero-ref "V38.[016..020)" ;* V208 tmp191 [V208 ] ( 0, 0 ) struct ( 8) zero-ref do-not-enreg[SF] "by-value struct argument" <System.Buffers.StandardFormat>
-; V209 tmp192 [V209,T50] ( 2, 8 ) long -> rcx "Cast away GC"
+; V209 tmp192 [V209,T51] ( 2, 8 ) long -> rcx "Cast away GC"
; V210 GsCookie [V210 ] ( 1, 1 ) long -> [rbp-0x118] do-not-enreg[X] addr-exposed "GSSecurityCookie" ; V211 cse0 [V211,T20] ( 4, 21 ) ref -> [rbp-0x100] hoist multi-def "CSE - moderate" ; V212 cse1 [V212,T21] ( 5, 20 ) ref -> [rbp-0x108] spill-single-def "CSE - moderate" @@ -734,7 +734,7 @@ G_M33777_IG37: ; bbWeight=4, gcVars=00000000000000000000000002000000 {V30 ; GC ptr vars +{V154} jge SHORT G_M33777_IG39 ;; size=50 bbWeight=4 PerfScore 30.00
-G_M33777_IG38: ; bbWeight=2, gcVars=0000000000000000000000020A000000 {V30 V124 V154}, gcrefRegs=C001 {rax r14 r15}, byrefRegs=2000 {r13}, gcvars, byref
+G_M33777_IG38: ; bbWeight=2, gcVars=0000000000000000000000040A000000 {V30 V124 V154}, gcrefRegs=C001 {rax r14 r15}, byrefRegs=2000 {r13}, gcvars, byref
; byrRegs -[rcx r8] mov dword ptr [rbp-0xC4], edx mov r11, 0xD1FFAB1E @@ -813,7 +813,8 @@ G_M33777_IG41: ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2000 {r1 mov edx, ebx mov rdi, r15 ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r15] + mov rax, qword ptr [rax+0x68]
call [rax+0x38]<unknown method> ; gcrRegs -[rdi] ; byrRegs -[rsi] @@ -824,17 +825,18 @@ G_M33777_IG41: ; bbWeight=4, gcrefRegs=C000 {r14 r15}, byrefRegs=2000 {r1 ; gcr arg pop 0 test eax, eax jne G_M33777_IG06
- ;; size=46 bbWeight=4 PerfScore 43.00
+ ;; size=46 bbWeight=4 PerfScore 51.00
G_M33777_IG42: ; bbWeight=0.50, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref ; byrRegs -[r13] mov rdi, r15 ; gcrRegs +[rdi] xor esi, esi
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r15] + mov rax, qword ptr [rax+0x50]
call [rax+0x18]<unknown method> ; gcrRegs -[rdi] ; gcr arg pop 0
- ;; size=15 bbWeight=0.50 PerfScore 2.75
+ ;; size=15 bbWeight=0.50 PerfScore 3.75
G_M33777_IG43: ; bbWeight=1, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref, isz test r14, r14 je SHORT G_M33777_IG45 @@ -886,7 +888,7 @@ G_M33777_IG49: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1629, prolog size 81, PerfScore 1264.25, instruction count 384, allocated bytes for code 1629 (MethodHash=d24f7c0e) for method System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
+; Total bytes of code 1629, prolog size 81, PerfScore 1273.25, instruction count 386, allocated bytes for code 1629 (MethodHash=d24f7c0e) for method System.Formats.Tar.TarHeader:GenerateExtendedAttributesDataStream(System.Collections.Generic.Dictionary`2[System.String,System.String]):System.IO.MemoryStream (Tier0-FullOpts)
; ============================================================ Unwind Info:

+0 (0.00%) : 35161.dasm - System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ParsePkcs12(System.ReadOnlySpan`1[ubyte]):this (Tier1)

@@ -40,7 +40,7 @@ ;* V29 tmp20 [V29 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ; V30 tmp21 [V30,T14] ( 2, 4 ) long -> rdx "Inlining Arg" ;* V31 tmp22 [V31 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
-; V32 tmp23 [V32,T00] ( 10, 15 ) ref -> r15 class-hnd exact single-def "Inlining Arg" <System.Buffers.PointerMemoryManager`1[ubyte]>
+; V32 tmp23 [V32,T00] ( 11, 16 ) ref -> r15 class-hnd exact single-def "Inlining Arg" <System.Buffers.PointerMemoryManager`1[ubyte]>
;* V33 tmp24 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]> ; V34 tmp25 [V34 ] ( 5, 10 ) struct (16) [rbp-0xE0] do-not-enreg[SFA] multireg-arg must-init ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]> ;* V35 tmp26 [V35 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]> @@ -261,7 +261,8 @@ G_M27305_IG10: ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 ; gcr arg pop 0 mov rdi, r15 ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r15] + mov rax, qword ptr [rax+0x48]
call [rax+0x28]<unknown method> ; gcrRegs -[rdi r15] ; byrRegs +[rax] @@ -269,7 +270,7 @@ G_M27305_IG10: ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 mov r13, rax ; byrRegs +[r13] mov r12d, edx
- ;; size=52 bbWeight=0.50 PerfScore 5.88
+ ;; size=52 bbWeight=0.50 PerfScore 6.88
G_M27305_IG11: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=2000 {r13}, byref ; byrRegs -[rax] cmp r14d, r12d @@ -445,7 +446,7 @@ RWD00 dq 002E0032002E0031h, 002E003000340038h, 0035003300310031h, 0031002E0039 RWD32 dq 002E003000340038h, 0035003300310031h, 0031002E00390034h, 0031002E0037002Eh
-; Total bytes of code 796, prolog size 85, PerfScore 131.58, instruction count 194, allocated bytes for code 796 (MethodHash=c9589556) for method System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ParsePkcs12(System.ReadOnlySpan`1[ubyte]):this (Tier1)
+; Total bytes of code 796, prolog size 85, PerfScore 132.58, instruction count 195, allocated bytes for code 796 (MethodHash=c9589556) for method System.Security.Cryptography.X509Certificates.UnixPkcs12Reader:ParsePkcs12(System.ReadOnlySpan`1[ubyte]):this (Tier1)
; ============================================================ Unwind Info:

+1 (+0.11%) : 49003.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)

@@ -8,11 +8,11 @@ ; 0 inlinees with PGO data; 21 single block inlinees; 14 inlinees without PGO data ; Final local variable assignments ;
-; V00 this [V00,T05] ( 10, 16 ) ref -> rbx this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.LocalBinderFactory>
+; V00 this [V00,T00] ( 11, 18 ) ref -> rbx this class-hnd single-def <Microsoft.CodeAnalysis.CSharp.LocalBinderFactory>
; V01 arg1 [V01,T12] ( 11, 8 ) ref -> r15 class-hnd single-def <Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax> ; V02 loc0 [V02 ] ( 7, 26 ) struct (32) [rbp-0x48] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SeparatedSyntaxList`1+Enumerator[Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax]> ; V03 loc1 [V03 ] ( 2, 2 ) struct (24) [rbp-0x60] do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.CodeAnalysis.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax]>
-; V04 loc2 [V04,T00] ( 10, 20 ) ref -> r15 class-hnd exact <Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax>
+; V04 loc2 [V04,T01] ( 10, 20 ) ref -> r15 class-hnd exact <Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclaratorSyntax>
;# V05 OutArgs [V05 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V06 tmp1 [V06 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclarationSyntax> ; V07 tmp2 [V07,T28] ( 5, 7 ) byref -> r14 single-def "Inlining Arg" @@ -36,28 +36,28 @@ ;* V25 tmp20 [V25 ] ( 0, 0 ) ref -> zero-ref ; V26 tmp21 [V26,T30] ( 3, 6 ) ref -> rsi ;* V27 tmp22 [V27 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax>
-; V28 tmp23 [V28,T01] ( 5, 20 ) byref -> r14 "Inlining Arg"
+; V28 tmp23 [V28,T02] ( 5, 20 ) byref -> r14 "Inlining Arg"
; V29 tmp24 [V29,T13] ( 4, 8 ) ref -> r13 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax> ; V30 tmp25 [V30,T14] ( 4, 8 ) ref -> r12 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode> ;* V31 tmp26 [V31 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax> ; V32 tmp27 [V32,T20] ( 2, 8 ) ref -> rsi class-hnd exact "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax> ;* V33 tmp28 [V33 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.BracketedArgumentListSyntax> ;* V34 tmp29 [V34 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
-; V35 tmp30 [V35,T02] ( 5, 20 ) byref -> r14 "Inlining Arg" -; V36 tmp31 [V36,T06] ( 8, 16 ) ref -> r13 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
+; V35 tmp30 [V35,T03] ( 5, 20 ) byref -> r14 "Inlining Arg" +; V36 tmp31 [V36,T06] ( 9, 18 ) ref -> r13 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax>
; V37 tmp32 [V37,T15] ( 4, 8 ) ref -> r12 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode> ;* V38 tmp33 [V38 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax> ; V39 tmp34 [V39,T21] ( 2, 8 ) ref -> rsi class-hnd exact "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax> ;* V40 tmp35 [V40 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.EqualsValueClauseSyntax> ;* V41 tmp36 [V41 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline return value spill temp" <Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax>
-; V42 tmp37 [V42,T03] ( 5, 20 ) byref -> r15 "Inlining Arg"
+; V42 tmp37 [V42,T04] ( 5, 20 ) byref -> r15 "Inlining Arg"
; V43 tmp38 [V43,T16] ( 4, 8 ) ref -> r14 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax> ; V44 tmp39 [V44,T17] ( 4, 8 ) ref -> r12 class-hnd "Inline stloc first use temp" <Microsoft.CodeAnalysis.GreenNode> ;* V45 tmp40 [V45 ] ( 0, 0 ) ref -> zero-ref ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax> ; V46 tmp41 [V46,T22] ( 2, 8 ) ref -> rsi class-hnd "impAppendStmt" <Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax> ;* V47 tmp42 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax> ;* V48 tmp43 [V48,T24] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-; V49 tmp44 [V49,T04] ( 3, 20 ) int -> rdi "Inline stloc first use temp"
+; V49 tmp44 [V49,T05] ( 3, 20 ) int -> rdi "Inline stloc first use temp"
;* V50 tmp45 [V50 ] ( 0, 0 ) int -> zero-ref "V20.[000..004)" ; V51 tmp46 [V51,T40] ( 3, 3 ) ref -> rdi single-def "argument with side effect" ; V52 tmp47 [V52,T48] ( 2, 2 ) int -> rdx "argument with side effect" @@ -436,8 +436,9 @@ G_M45453_IG22: ; bbWeight=2, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, mov rdi, r13 ; gcrRegs +[rdi] mov esi, 1
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r13]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x50]
call [rax]Microsoft.CodeAnalysis.SyntaxNode:GetChildPosition(int):int:this ; gcrRegs -[rdi r14] mov edx, eax @@ -467,7 +468,7 @@ G_M45453_IG22: ; bbWeight=2, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, ; byrRegs -[rdi] mov r14, gword ptr [r15] ; gcrRegs +[r14]
- ;; size=114 bbWeight=2 PerfScore 68.50
+ ;; size=115 bbWeight=2 PerfScore 72.50
G_M45453_IG23: ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref ; gcrRegs -[rax] ; byrRegs -[r15] @@ -478,11 +479,12 @@ G_M45453_IG24: ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, ; gcrRegs -[r14] mov rdi, rbx ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx] + mov rax, qword ptr [rax+0x48]
call [rax+0x20]<unknown method> ; gcrRegs -[rsi rdi] dec dword ptr [rbx+0x0C]
- ;; size=16 bbWeight=2 PerfScore 16.50
+ ;; size=16 bbWeight=2 PerfScore 20.50
G_M45453_IG25: ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz mov edi, dword ptr [rbp-0x48] inc edi @@ -540,7 +542,7 @@ G_M45453_IG32: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 925, prolog size 48, PerfScore 415.46, instruction count 256, allocated bytes for code 925 (MethodHash=66e04e72) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
+; Total bytes of code 926, prolog size 48, PerfScore 423.46, instruction count 258, allocated bytes for code 926 (MethodHash=66e04e72) for method Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
; ============================================================ Unwind Info:

+1 (+0.25%) : 51659.dasm - Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable1[System.Type],System.Collections.Generic.IEnumerable1[System.Type],Sigil.Impl.VerificationCallback):this (Tier1)

@@ -27,7 +27,7 @@ ; V16 tmp12 [V16,T17] ( 4, 3.50) ref -> r14 ; V17 tmp13 [V17,T04] ( 5, 5 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <<unknown class>> ; V18 tmp14 [V18,T05] ( 5, 5 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-; V19 tmp15 [V19,T00] ( 3, 6 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+; V19 tmp15 [V19,T00] ( 4, 8 ) ref -> r12 class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
; V20 tmp16 [V20,T19] ( 2, 2 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <<unknown class>> ;* V21 tmp17 [V21 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <Sigil.Impl.LinqRoot`1[System.__Canon]> ; V22 tmp18 [V22,T01] ( 3, 6 ) ref -> [rbp-0x30] class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>> @@ -105,7 +105,8 @@ G_M19944_IG03: ; bbWeight=0.50, gcrefRegs=7008 {rbx r12 r13 r14}, byrefRe G_M19944_IG04: ; bbWeight=1, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz mov rdi, r12 ; gcrRegs +[rdi]
- mov r12, qword ptr [(reloc)]
+ mov rax, qword ptr [r12] + mov r12, qword ptr [rax+0x48]
; gcrRegs -[r12] call [r12+0x20]<unknown method> ; gcrRegs -[rdi] +[rax] @@ -141,7 +142,7 @@ G_M19944_IG04: ; bbWeight=1, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefR ; gcrRegs +[r14] test r14, r14 jne SHORT G_M19944_IG06
- ;; size=102 bbWeight=1 PerfScore 24.00
+ ;; size=103 bbWeight=1 PerfScore 26.00
G_M19944_IG05: ; bbWeight=0.50, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref ; gcrRegs -[r14] mov rdi, 0xD1FFAB1E ; <unknown class> @@ -205,7 +206,7 @@ G_M19944_IG07: ; bbWeight=1, epilog, nogc, extend tail.jmp [Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable`1[Sigil.Impl.TypeOnStack],System.Collections.Generic.IEnumerable`1[Sigil.Impl.TypeOnStack],Sigil.Impl.VerificationCallback):this] ;; size=20 bbWeight=1 PerfScore 5.25
-; Total bytes of code 399, prolog size 16, PerfScore 68.50, instruction count 90, allocated bytes for code 399 (MethodHash=50d1b217) for method Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable`1[System.Type],System.Collections.Generic.IEnumerable`1[System.Type],Sigil.Impl.VerificationCallback):this (Tier1)
+; Total bytes of code 400, prolog size 16, PerfScore 70.50, instruction count 91, allocated bytes for code 400 (MethodHash=50d1b217) for method Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable`1[System.Type],System.Collections.Generic.IEnumerable`1[System.Type],Sigil.Impl.VerificationCallback):this (Tier1)
; ============================================================ Unwind Info:

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

@@ -161,7 +161,11 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcrRegs -[rax] mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0xC0]
call [rax+0x30]<unknown method> ; gcrRegs -[rdi] +[rax] ; gcr arg pop 0 @@ -181,7 +185,7 @@ G_M22068_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcr arg pop 0 test eax, eax je SHORT G_M22068_IG12
- ;; size=59 bbWeight=1 PerfScore 13.75
+ ;; size=72 bbWeight=1 PerfScore 16.00
G_M22068_IG07: ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz mov rdi, rbx ; gcrRegs +[rdi] @@ -748,7 +752,7 @@ G_M22068_IG44: ; bbWeight=0, gcVars=0000000000000001 {V91}, gcrefRegs=000 int3 ;; size=42 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1252, prolog size 47, PerfScore 744.88, instruction count 326, allocated bytes for code 1252 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
+; Total bytes of code 1265, prolog size 47, PerfScore 747.12, instruction count 328, allocated bytes for code 1265 (MethodHash=a21fa9cb) for method Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
; ============================================================ Unwind Info:

coreclr_tests.run.linux.x64.checked.mch

-27 (-23.28%) : 246612.dasm - bug1:TestEntryPoint() (FullOpts)

@@ -9,7 +9,7 @@ ; ;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V01 cse0 [V01,T01] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
-; V02 cse1 [V02,T00] ( 2, 2 ) long -> rax "CSE - aggressive"
+; V02 cse1 [V02,T00] ( 5, 5 ) long -> rax "CSE - aggressive"
; ; Lcl frame size = 8 @@ -23,17 +23,14 @@ G_M5006_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, G_M5006_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field> mov dword ptr [rax], 3
- mov rax, 0xD1FFAB1E ; global ptr - mov dword ptr [rax], 2 - mov rax, 0xD1FFAB1E - mov rcx, 0xD1FFAB1E ; global ptr - mov qword ptr [rcx], rax - mov rax, 0xD1FFAB1E ; global ptr - mov qword ptr [rax], 1
+ mov dword ptr [rax+0x04], 2 + mov rcx, 0xD1FFAB1E + mov qword ptr [rax+0x08], rcx + mov qword ptr [rax+0x10], 1
call [bug1:f():int] ; gcr arg pop 0 nop
- ;; size=79 bbWeight=1 PerfScore 8.50
+ ;; size=52 bbWeight=1 PerfScore 7.75
G_M5006_IG04: ; bbWeight=1, epilog, nogc, extend add rsp, 8 ret @@ -46,7 +43,7 @@ G_M5006_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {} jmp SHORT G_M5006_IG03 ;; size=22 bbWeight=0 PerfScore 0.00
-; Total bytes of code 116, prolog size 1, PerfScore 14.75, instruction count 20, allocated bytes for code 116 (MethodHash=c14fec71) for method bug1:TestEntryPoint() (FullOpts)
+; Total bytes of code 89, prolog size 1, PerfScore 14.00, instruction count 17, allocated bytes for code 89 (MethodHash=c14fec71) for method bug1:TestEntryPoint() (FullOpts)
; ============================================================ Unwind Info:

-9 (-20.45%) : 193518.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)

@@ -12,8 +12,8 @@ ;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]> ;* V02 tmp2 [V02,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP ;* V03 tmp3 [V03,T03] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> rax "CSE - aggressive" -; V05 cse1 [V05,T01] ( 2, 1 ) long -> rax "CSE - moderate"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> rax "CSE - aggressive" +; V05 cse1 [V05,T01] ( 2, 1 ) long -> rcx "CSE - moderate"
; ; Lcl frame size = 0 @@ -25,20 +25,19 @@ G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, cmp byte ptr [rax], 0 jne SHORT G_M5950_IG04 ;; size=15 bbWeight=1 PerfScore 4.25
-G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - ; byrRegs -[rax] - mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field> - mov word ptr [rax], 257
+G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref + mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field> + mov word ptr [rcx], 257
;; size=15 bbWeight=0.50 PerfScore 0.62
-G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - mov rax, 0xD1FFAB1E ; global ptr - movzx rax, byte ptr [rax] - ;; size=13 bbWeight=1 PerfScore 2.25
+G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref + movzx rax, byte ptr [rax+0x01] + ; byrRegs -[rax] + ;; size=4 bbWeight=1 PerfScore 2.00
G_M5950_IG05: ; bbWeight=1, epilog, nogc, extend ret ;; size=1 bbWeight=1 PerfScore 1.00
-; Total bytes of code 44, prolog size 0, PerfScore 8.12, instruction count 8, allocated bytes for code 44 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
+; Total bytes of code 35, prolog size 0, PerfScore 7.88, instruction count 7, allocated bytes for code 35 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
; ============================================================ Unwind Info:

-18 (-16.98%) : 174995.dasm - StaticValueField:TestEntryPoint():int (FullOpts)

@@ -9,7 +9,7 @@ ; ;# V00 OutArgs [V00 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V01 cse0 [V01,T01] ( 0, 0 ) long -> zero-ref "CSE - aggressive"
-; V02 cse1 [V02,T00] ( 2, 2 ) long -> rax "CSE - aggressive"
+; V02 cse1 [V02,T00] ( 4, 3 ) long -> rax "CSE - aggressive"
; ; Lcl frame size = 0 @@ -28,14 +28,12 @@ G_M39159_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, jne SHORT G_M39159_IG06 ;; size=15 bbWeight=1 PerfScore 4.25 G_M39159_IG04: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rax, 0xD1FFAB1E ; global ptr - cmp word ptr [rax], 200
+ cmp word ptr [rax+0x04], 200
jne SHORT G_M39159_IG06
- mov rax, 0xD1FFAB1E ; global ptr - cmp qword ptr [rax], 300
+ cmp qword ptr [rax+0x08], 300
jne SHORT G_M39159_IG06 mov eax, 100
- ;; size=41 bbWeight=0.50 PerfScore 4.38
+ ;; size=23 bbWeight=0.50 PerfScore 4.12
G_M39159_IG05: ; bbWeight=0.50, epilog, nogc, extend pop rbp ret @@ -54,7 +52,7 @@ G_M39159_IG08: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { jmp SHORT G_M39159_IG03 ;; size=22 bbWeight=0 PerfScore 0.00
-; Total bytes of code 106, prolog size 4, PerfScore 18.50, instruction count 24, allocated bytes for code 106 (MethodHash=a53a6708) for method StaticValueField:TestEntryPoint():int (FullOpts)
+; Total bytes of code 88, prolog size 4, PerfScore 18.25, instruction count 22, allocated bytes for code 88 (MethodHash=a53a6708) for method StaticValueField:TestEntryPoint():int (FullOpts)
; ============================================================ Unwind Info:

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

@@ -37,7 +37,11 @@ G_M39253_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr xor ebx, ebx mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0x48]
call [rax+0x08]<unknown method> ; gcrRegs -[rdi] +[rax] mov rsi, rax @@ -50,7 +54,7 @@ G_M39253_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr ; gcrRegs +[rdi] call [<unknown method>] ; gcrRegs -[rax rdi]
- ;; size=50 bbWeight=0.50 PerfScore 6.12
+ ;; size=60 bbWeight=0.50 PerfScore 7.25
G_M39253_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov eax, ebx ;; size=2 bbWeight=1 PerfScore 0.25 @@ -61,7 +65,7 @@ G_M39253_IG05: ; bbWeight=1, epilog, nogc, extend ret ;; size=7 bbWeight=1 PerfScore 2.25
-; Total bytes of code 77, prolog size 8, PerfScore 13.62, instruction count 21, allocated bytes for code 77 (MethodHash=124366aa) for method Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
+; Total bytes of code 87, prolog size 8, PerfScore 14.75, instruction count 23, allocated bytes for code 87 (MethodHash=124366aa) for method Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
; ============================================================ Unwind Info:

+10 (+15.38%) : 242281.dasm - Runtime_95347:Test():int (FullOpts)

@@ -25,12 +25,16 @@ G_M13057_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 { G_M13057_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0x48]
call [rax+0x08]<unknown method> ; gcrRegs -[rdi] +[rax] test rax, rax je SHORT G_M13057_IG07
- ;; size=25 bbWeight=1 PerfScore 6.50
+ ;; size=35 bbWeight=1 PerfScore 8.75
G_M13057_IG03: ; bbWeight=0.25, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz cmp dword ptr [rax+0x08], 4 jne SHORT G_M13057_IG07 @@ -56,7 +60,7 @@ G_M13057_IG08: ; bbWeight=0.50, epilog, nogc, extend ret ;; size=2 bbWeight=0.50 PerfScore 0.75
-; Total bytes of code 65, prolog size 4, PerfScore 11.03, instruction count 18, allocated bytes for code 65 (MethodHash=260fccfe) for method Runtime_95347:Test():int (FullOpts)
+; Total bytes of code 75, prolog size 4, PerfScore 13.28, instruction count 20, allocated bytes for code 75 (MethodHash=260fccfe) for method Runtime_95347:Test():int (FullOpts)
; ============================================================ Unwind Info:

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

@@ -22,7 +22,11 @@ G_M26176_IG01: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr G_M26176_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0x58]
call [rax+0x28]<unknown method> ; gcrRegs -[rdi] +[rax] mov rdi, rax @@ -31,13 +35,13 @@ G_M26176_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr ; gcrRegs -[rdi] mov rdi, rax ; gcrRegs +[rdi]
- ;; size=32 bbWeight=1.00 PerfScore 8.75
+ ;; size=42 bbWeight=1.00 PerfScore 11.00
G_M26176_IG03: ; bbWeight=1.00, epilog, nogc, extend pop rbp tail.jmp [System.IO.Path:GetFullPath(System.String):System.String] ;; size=7 bbWeight=1.00 PerfScore 2.50
-; Total bytes of code 43, prolog size 4, PerfScore 12.50, instruction count 10, allocated bytes for code 43 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
+; Total bytes of code 53, prolog size 4, PerfScore 14.75, instruction count 12, allocated bytes for code 53 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
; ============================================================ Unwind Info:

libraries.pmi.linux.x64.checked.mch

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

@@ -45,16 +45,16 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0280 {rdi r9}, byrefRegs=0000 {}, mov rsi, gword ptr [rbp-0x10] ; gcrRegs +[rsi] mov rdx, qword ptr [rbp-0x08]
- cmp dword ptr [rdi], edi - mov rax, qword ptr [(reloc)] - ;; size=28 bbWeight=1 PerfScore 8.50
+ mov rax, qword ptr [rdi] + mov rax, qword ptr [rax+0x58] + ;; size=26 bbWeight=1 PerfScore 7.50
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 16 pop rbp tail.jmp [rax]<unknown method> ;; size=8 bbWeight=1 PerfScore 2.75
-; Total bytes of code 54, prolog size 18, PerfScore 15.00, instruction count 15, allocated bytes for code 54 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
+; Total bytes of code 52, prolog size 18, PerfScore 14.00, instruction count 15, allocated bytes for code 52 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
; ============================================================ Unwind Info:

-33 (-3.31%) : 97913.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlnsAttribute(Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute:this (FullOpts)

@@ -12,23 +12,23 @@ ; V01 arg1 [V01,T01] ( 11, 7 ) ref -> rbx class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax> ; V02 arg2 [V02,T02] ( 7, 5 ) ref -> r15 class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.BoundExpression> ; V03 arg3 [V03,T03] ( 7, 5 ) ref -> r14 class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.BoundExpression>
-; V04 arg4 [V04,T07] ( 3, 3 ) ubyte -> r8 single-def -; V05 arg5 [V05,T08] ( 3, 3 ) ubyte -> r12 single-def
+; V04 arg4 [V04,T08] ( 3, 3 ) ubyte -> r8 single-def +; V05 arg5 [V05,T09] ( 3, 3 ) ubyte -> [rbp-0x2C] single-def
; V06 arg6 [V06,T47] ( 1, 1 ) ubyte -> [rbp+0x10] single-def ; V07 arg7 [V07,T48] ( 1, 1 ) ubyte -> [rbp+0x18] single-def
-; V08 arg8 [V08,T09] ( 9, 4.50) ref -> [rbp+0x20] class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag> -; V09 loc0 [V09,T13] ( 5, 3.50) ref -> r13 class-hnd <Microsoft.CodeAnalysis.VisualBasic.BoundExpression>
+; V08 arg8 [V08,T05] ( 10, 5 ) ref -> r12 class-hnd single-def <Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag> +; V09 loc0 [V09,T13] ( 5, 3.50) ref -> r12 class-hnd <Microsoft.CodeAnalysis.VisualBasic.BoundExpression>
;* V10 loc1 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def <Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute> ;* V11 loc2 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd <Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol>
-; V12 loc3 [V12,T34] ( 2, 1 ) ref -> [rbp-0x48] class-hnd spill-single-def <Microsoft.CodeAnalysis.VisualBasic.BoundMethodOrPropertyGroup>
+; V12 loc3 [V12,T34] ( 2, 1 ) ref -> [rbp-0x50] class-hnd spill-single-def <Microsoft.CodeAnalysis.VisualBasic.BoundMethodOrPropertyGroup>
; V13 OutArgs [V13 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ;* V14 tmp1 [V14 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Collections.Immutable.ImmutableArray`1[System.__Canon]>
-; V15 tmp2 [V15,T00] ( 12, 21 ) ref -> [rbp-0x50] class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute>
+; V15 tmp2 [V15,T00] ( 12, 21 ) ref -> r13 class-hnd exact single-def "NewObj constructor temp" <Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute>
;* V16 tmp3 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "impAppendStmt" <Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol> ;* V17 tmp4 [V17 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Collections.Immutable.ImmutableArray`1[System.__Canon]> ;* V18 tmp5 [V18 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilation> ; V19 tmp6 [V19,T10] ( 4, 4 ) ref -> [rbp-0x58] class-hnd spill-single-def "dup spill" <Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol>
-; V20 tmp7 [V20 ] ( 4, 2 ) struct (24) [rbp-0x40] do-not-enreg[XS] must-init addr-exposed "Inline stloc first use temp" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol]>
+; V20 tmp7 [V20 ] ( 4, 2 ) struct (24) [rbp-0x48] do-not-enreg[XS] must-init addr-exposed "Inline stloc first use temp" <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol]>
;* V21 tmp8 [V21 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "spilled call-like call argument" <Microsoft.CodeAnalysis.SyntaxNodeOrToken> ;* V22 tmp9 [V22 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] "Inline return value spill temp" <Microsoft.CodeAnalysis.SyntaxNodeOrToken> ;* V23 tmp10 [V23 ] ( 0, 0 ) struct (24) zero-ref ld-addr-op "NewObj constructor temp" <Microsoft.CodeAnalysis.SyntaxNodeOrToken> @@ -61,7 +61,7 @@ ;* V50 tmp37 [V50 ] ( 0, 0 ) ref -> zero-ref single-def ;* V51 tmp38 [V51 ] ( 0, 0 ) struct (24) zero-ref <Microsoft.CodeAnalysis.UseSiteInfo`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.AssemblySymbol]> ; V52 tmp39 [V52,T15] ( 5, 2.50) ref -> rax
-; V53 tmp40 [V53,T05] ( 5, 5 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
+; V53 tmp40 [V53,T06] ( 5, 5 ) ref -> [rbp-0x68] class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
; V54 tmp41 [V54,T14] ( 3, 3 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <<unknown class>> ;* V55 tmp42 [V55 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ; V56 tmp43 [V56,T30] ( 2, 1 ) ubyte -> rax "Inline return value spill temp" @@ -77,11 +77,11 @@ ; V66 tmp53 [V66,T12] ( 4, 4 ) ref -> [rbp-0x78] class-hnd exact spill-single-def "dup spill" <<unknown class>> ;* V67 tmp54 [V67 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inline stloc first use temp" <<unknown class>> ;* V68 tmp55 [V68 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.BoundExpression]>
-; V69 tmp56 [V69,T06] ( 3, 5 ) ref -> rcx class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
+; V69 tmp56 [V69,T07] ( 3, 5 ) ref -> rax class-hnd single-def "Inlining Arg" <Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol>
;* V70 tmp57 [V70,T46] ( 0, 0 ) ref -> zero-ref single-def ;* V71 tmp58 [V71,T49] ( 0, 0 ) int -> zero-ref single-def ; V72 tmp59 [V72,T32] ( 2, 1.50) ref -> rsi single-def
-; V73 tmp60 [V73,T33] ( 2, 1.50) ref -> rdx single-def
+; V73 tmp60 [V73,T33] ( 2, 1.50) ref -> rcx single-def
;* V74 tmp61 [V74,T36] ( 0, 0 ) ref -> zero-ref ;* V75 tmp62 [V75,T43] ( 0, 0 ) int -> zero-ref ; V76 tmp63 [V76,T18] ( 3, 2 ) ref -> rsi @@ -97,9 +97,9 @@ ;* V86 tmp73 [V86 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V87 tmp74 [V87 ] ( 0, 0 ) ref -> zero-ref "field V14.array (fldOffset=0x0)" P-INDEP ;* V88 tmp75 [V88 ] ( 0, 0 ) ref -> zero-ref single-def "field V17.array (fldOffset=0x0)" P-INDEP
-; V89 tmp76 [V89 ] ( 2, 1 ) ref -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V20.DiagnosticInfo (fldOffset=0x0)" P-DEP -; V90 tmp77 [V90 ] ( 2, 1 ) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V20.PrimaryDependency (fldOffset=0x8)" P-DEP -; V91 tmp78 [V91 ] ( 2, 1 ) ref -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V20.SecondaryDependencies (fldOffset=0x10)" P-DEP
+; V89 tmp76 [V89 ] ( 2, 1 ) ref -> [rbp-0x48] do-not-enreg[X] addr-exposed "field V20.DiagnosticInfo (fldOffset=0x0)" P-DEP +; V90 tmp77 [V90 ] ( 2, 1 ) ref -> [rbp-0x40] do-not-enreg[X] addr-exposed "field V20.PrimaryDependency (fldOffset=0x8)" P-DEP +; V91 tmp78 [V91 ] ( 2, 1 ) ref -> [rbp-0x38] do-not-enreg[X] addr-exposed "field V20.SecondaryDependencies (fldOffset=0x10)" P-DEP
;* V92 tmp79 [V92 ] ( 0, 0 ) ref -> zero-ref single-def "field V23._nodeOrParent (fldOffset=0x0)" P-INDEP ;* V93 tmp80 [V93 ] ( 0, 0 ) ref -> zero-ref single-def "field V23._token (fldOffset=0x8)" P-INDEP ;* V94 tmp81 [V94 ] ( 0, 0 ) int -> zero-ref single-def "field V23._position (fldOffset=0x10)" P-INDEP @@ -154,7 +154,7 @@ ; V143 tmp130 [V143,T23] ( 2, 2 ) ref -> rcx single-def "argument with side effect" ; V144 tmp131 [V144,T24] ( 2, 2 ) ref -> [rbp-0xA0] spill-single-def "argument with side effect" ;* V145 cse0 [V145,T57] ( 0, 0 ) long -> zero-ref "CSE - conservative"
-; V146 cse1 [V146,T28] ( 3, 1.50) ref -> r9 "CSE - conservative"
+; V146 cse1 [V146,T28] ( 3, 1.50) ref -> r8 "CSE - conservative"
; V147 cse2 [V147,T29] ( 3, 1.50) ref -> rdi "CSE - conservative" ; ; Lcl frame size = 152 @@ -169,9 +169,10 @@ G_M32486_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, sub rsp, 152 lea rbp, [rsp+0xC0] vxorps xmm8, xmm8, xmm8
- vmovdqa xmmword ptr [rbp-0x40], xmm8
+ vmovdqu xmmword ptr [rbp-0x48], xmm8
xor eax, eax
- mov qword ptr [rbp-0x30], rax
+ mov qword ptr [rbp-0x38], rax + mov dword ptr [rbp-0x2C], r9d
mov r13, rdi ; gcrRegs +[r13] mov rbx, rsi @@ -180,13 +181,14 @@ G_M32486_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcrRegs +[r15] mov r14, rcx ; gcrRegs +[r14]
- mov r12d, r9d - ;; size=56 bbWeight=1 PerfScore 11.58 -G_M32486_IG02: ; bbWeight=1, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+ mov r12, gword ptr [rbp+0x20] + ; gcrRegs +[r12] + ;; size=61 bbWeight=1 PerfScore 13.33 +G_M32486_IG02: ; bbWeight=1, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref
test r8b, r8b je G_M32486_IG18 ;; size=9 bbWeight=1 PerfScore 1.25
-G_M32486_IG03: ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M32486_IG03: ; bbWeight=0.50, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
mov rdi, gword ptr [r13+0x18] ; gcrRegs +[rdi] mov esi, 225 @@ -195,7 +197,7 @@ G_M32486_IG03: ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRe ; gcrRegs -[rdi] +[rax] mov gword ptr [rbp-0x58], rax ; GC ptr vars +{V19}
- lea rsi, [rbp-0x40]
+ lea rsi, [rbp-0x48]
mov rdi, rax ; gcrRegs +[rdi] mov rcx, qword ptr [rax] @@ -209,19 +211,19 @@ G_M32486_IG03: ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRe xor eax, eax jmp SHORT G_M32486_IG05 ;; size=48 bbWeight=0.50 PerfScore 10.38
-G_M32486_IG04: ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+G_M32486_IG04: ; bbWeight=0.50, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi] mov rdi, rbx ; gcrRegs +[rdi] mov eax, -1 ;; size=8 bbWeight=0.50 PerfScore 0.25
-G_M32486_IG05: ; bbWeight=0.50, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M32486_IG05: ; bbWeight=0.50, gcrefRegs=F088 {rbx rdi r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
test eax, eax jl SHORT G_M32486_IG07 test byte ptr [(reloc)], 1 ; global ptr je G_M32486_IG30 ;; size=17 bbWeight=0.50 PerfScore 2.62
-G_M32486_IG06: ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M32486_IG06: ; bbWeight=0.50, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rdi] mov rdi, 0xD1FFAB1E ; data for <unknown class>:<unknown field> mov rax, gword ptr [rdi] @@ -230,7 +232,7 @@ G_M32486_IG06: ; bbWeight=0.50, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRe ; GC ptr vars +{V26} jmp SHORT G_M32486_IG09 ;; size=19 bbWeight=0.50 PerfScore 2.62
-G_M32486_IG07: ; bbWeight=0.50, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M32486_IG07: ; bbWeight=0.50, gcrefRegs=F088 {rbx rdi r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rax] +[rdi] ; GC ptr vars -{V26} test rdi, rdi @@ -241,7 +243,7 @@ G_M32486_IG07: ; bbWeight=0.50, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byr ; GC ptr vars +{V26} jmp SHORT G_M32486_IG09 ;; size=13 bbWeight=0.50 PerfScore 2.25
-G_M32486_IG08: ; bbWeight=0.50, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byrefRegs=0000 {}, byref
+G_M32486_IG08: ; bbWeight=0.50, gcrefRegs=F088 {rbx rdi r12 r13 r14 r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rax] ; GC ptr vars -{V26} call [Microsoft.CodeAnalysis.SyntaxNode:GetLocation():Microsoft.CodeAnalysis.Location:this] @@ -249,27 +251,24 @@ G_M32486_IG08: ; bbWeight=0.50, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byr mov gword ptr [rbp-0x60], rax ; GC ptr vars +{V26} ;; size=10 bbWeight=0.50 PerfScore 2.00
-G_M32486_IG09: ; bbWeight=0.50, gcVars=0000000000010400 {V19 V26}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M32486_IG09: ; bbWeight=0.50, gcVars=0000000000010400 {V19 V26}, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[rax]
- mov rcx, gword ptr [rbp+0x20] - ; gcrRegs +[rcx] - cmp byte ptr [rcx], cl
+ cmp byte ptr [r12], r12b
mov rdi, 0xD1FFAB1E mov esi, 24 call CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
- ; gcrRegs -[rcx]
mov rdi, 0xD1FFAB1E ; data for <unknown class>:<unknown field> mov rax, gword ptr [rdi] ; gcrRegs +[rax]
- mov rcx, gword ptr [rbp-0x40]
+ mov rcx, gword ptr [rbp-0x48]
; gcrRegs +[rcx] mov gword ptr [rbp-0x88], rcx ; GC ptr vars +{V116}
- mov rdx, gword ptr [rbp-0x38]
+ mov rdx, gword ptr [rbp-0x40]
; gcrRegs +[rdx] mov gword ptr [rbp-0x90], rdx ; GC ptr vars +{V117}
- mov rsi, gword ptr [rbp-0x30]
+ mov rsi, gword ptr [rbp-0x38]
; gcrRegs +[rsi] mov gword ptr [rbp-0x98], rsi ; GC ptr vars +{V118} @@ -301,18 +300,16 @@ G_M32486_IG09: ; bbWeight=0.50, gcVars=0000000000010400 {V19 V26}, gcrefR ; gcrRegs -[rax rsi] mov rax, gword ptr [rbp-0x68] ; gcrRegs +[rax]
- ;; size=167 bbWeight=0.50 PerfScore 13.50 -G_M32486_IG10: ; bbWeight=0.50, gcVars=0000008004030400 {V19 V26 V116 V117 V118}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+ ;; size=165 bbWeight=0.50 PerfScore 13.00 +G_M32486_IG10: ; bbWeight=0.50, gcVars=0000008004030400 {V19 V26 V116 V117 V118}, gcrefRegs=F009 {rax rbx r12 r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V53} cmp gword ptr [rbp-0x88], 0 je SHORT G_M32486_IG13
- mov r8, gword ptr [rbp+0x20]
+ mov r8, gword ptr [r12+0x08]
; gcrRegs +[r8]
- mov r9, gword ptr [r8+0x08] - ; gcrRegs +[r9] - test r9, r9
+ test r8, r8
je SHORT G_M32486_IG11
- mov gword ptr [rbp-0xA0], r9
+ mov gword ptr [rbp-0xA0], r8
; GC ptr vars +{V144} mov rsi, gword ptr [rbp-0x60] ; gcrRegs +[rsi] @@ -320,23 +317,24 @@ G_M32486_IG10: ; bbWeight=0.50, gcVars=0000008004030400 {V19 V26 V116 V11 ; gcrRegs +[rdi] ; GC ptr vars -{V26} call [rax+0x18]<unknown method>
- ; gcrRegs -[rsi rdi r8-r9]
+ ; gcrRegs -[rsi rdi r8]
mov rcx, rax ; gcrRegs +[rcx] mov rdx, gword ptr [rbp-0xA0] ; gcrRegs +[rdx] mov rsi, gword ptr [rbp-0x88] ; gcrRegs +[rsi]
- mov rdi, gword ptr [rbp+0x20]
+ mov rdi, r12
; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r12]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x48]
; GC ptr vars -{V116 V144} call [rax+0x28]<unknown method> ; gcrRegs -[rcx rdx rsi rdi] jmp SHORT G_M32486_IG12
- ;; size=74 bbWeight=0.50 PerfScore 12.25 -G_M32486_IG11: ; bbWeight=0.50, gcVars=0000008004020400 {V19 V116 V117 V118}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+ ;; size=71 bbWeight=0.50 PerfScore 12.38 +G_M32486_IG11: ; bbWeight=0.50, gcVars=0000008004020400 {V19 V116 V117 V118}, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars +{V116} mov rcx, gword ptr [rbp-0x88] ; gcrRegs +[rcx] @@ -344,45 +342,38 @@ G_M32486_IG11: ; bbWeight=0.50, gcVars=0000008004020400 {V19 V116 V117 V1 jne SHORT G_M32486_IG13 jmp SHORT G_M32486_IG15 ;; size=15 bbWeight=0.50 PerfScore 3.50
-G_M32486_IG12: ; bbWeight=0.50, gcVars=0000008004000400 {V19 V117 V118}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
...

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

@@ -52,8 +52,8 @@ G_M37260_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000 mov rdi, rcx ; gcrRegs +[rdi] ; byrRegs -[rdi]
- cmp dword ptr [rcx], ecx - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rcx] + mov rax, qword ptr [rax+0x48]
call [rax+0x08]<unknown method> ; gcrRegs -[rcx rdi] +[rax] ; gcr arg pop 0 @@ -63,7 +63,7 @@ G_M37260_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000 ; gcrRegs +[rdi] mov rsi, 0xD1FFAB1E ; gcrRegs +[rsi]
- ;; size=34 bbWeight=0.50 PerfScore 5.50
+ ;; size=32 bbWeight=0.50 PerfScore 5.00
G_M37260_IG06: ; bbWeight=0.50, epilog, nogc, extend add rsp, 8 pop rbx @@ -72,7 +72,7 @@ G_M37260_IG06: ; bbWeight=0.50, epilog, nogc, extend ; gcr arg pop 0 ;; size=12 bbWeight=0.50 PerfScore 1.62
-; Total bytes of code 73, prolog size 8, PerfScore 16.00, instruction count 24, allocated bytes for code 73 (MethodHash=da936e73) for method System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
+; Total bytes of code 71, prolog size 8, PerfScore 15.50, instruction count 24, allocated bytes for code 71 (MethodHash=da936e73) for method System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
; ============================================================ Unwind Info:

+13 (+23.64%) : 257767.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)

@@ -24,7 +24,11 @@ G_M7230_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre ; gcrRegs +[rdi] mov rsi, 0xD1FFAB1E ; gcrRegs +[rsi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0xC0]
call [rax+0x10]<unknown method> ; gcrRegs -[rsi rdi] +[rax] mov rdi, 0xD1FFAB1E ; data for <unknown class>:<unknown field> @@ -33,13 +37,13 @@ G_M7230_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] nop
- ;; size=49 bbWeight=1.00 PerfScore 7.25
+ ;; size=62 bbWeight=1.00 PerfScore 9.50
G_M7230_IG03: ; bbWeight=1.00, epilog, nogc, extend pop rbp ret ;; size=2 bbWeight=1.00 PerfScore 1.50
-; Total bytes of code 55, prolog size 4, PerfScore 10.00, instruction count 12, allocated bytes for code 55 (MethodHash=7446e3c1) for method System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 68, prolog size 4, PerfScore 12.25, instruction count 14, allocated bytes for code 68 (MethodHash=7446e3c1) for method System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================ Unwind Info:

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

@@ -24,7 +24,11 @@ G_M51153_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr ; gcrRegs +[rdi] mov rsi, 0xD1FFAB1E ; gcrRegs +[rsi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0xC0]
call [rax+0x10]<unknown method> ; gcrRegs -[rsi rdi] +[rax] mov rdi, 0xD1FFAB1E ; data for <unknown class>:<unknown field> @@ -33,13 +37,13 @@ G_M51153_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] nop
- ;; size=49 bbWeight=1.00 PerfScore 7.25
+ ;; size=62 bbWeight=1.00 PerfScore 9.50
G_M51153_IG03: ; bbWeight=1.00, epilog, nogc, extend pop rbp ret ;; size=2 bbWeight=1.00 PerfScore 1.50
-; Total bytes of code 55, prolog size 4, PerfScore 10.00, instruction count 12, allocated bytes for code 55 (MethodHash=fed8382e) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 68, prolog size 4, PerfScore 12.25, instruction count 14, allocated bytes for code 68 (MethodHash=fed8382e) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================ Unwind Info:

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

@@ -24,7 +24,11 @@ G_M2750_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre ; gcrRegs +[rdi] mov rsi, 0xD1FFAB1E ; gcrRegs +[rsi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0xC0]
call [rax+0x10]<unknown method> ; gcrRegs -[rsi rdi] +[rax] mov rdi, 0xD1FFAB1E ; data for <unknown class>:<unknown field> @@ -33,13 +37,13 @@ G_M2750_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] nop
- ;; size=49 bbWeight=1.00 PerfScore 7.25
+ ;; size=62 bbWeight=1.00 PerfScore 9.50
G_M2750_IG03: ; bbWeight=1.00, epilog, nogc, extend pop rbp ret ;; size=2 bbWeight=1.00 PerfScore 1.50
-; Total bytes of code 55, prolog size 4, PerfScore 10.00, instruction count 12, allocated bytes for code 55 (MethodHash=43b3f541) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
+; Total bytes of code 68, prolog size 4, PerfScore 12.25, instruction count 14, allocated bytes for code 68 (MethodHash=43b3f541) for method System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
; ============================================================ Unwind Info:

libraries_tests.run.linux.x64.Release.mch

-9 (-15.79%) : 656845.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)

@@ -13,27 +13,25 @@ ;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]> ;* V02 tmp2 [V02,T01] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP ;* V03 tmp3 [V03,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> rax "CSE - aggressive"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> rcx "CSE - aggressive"
; ; Lcl frame size = 0 G_M5950_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG ;; size=0 bbWeight=1 PerfScore 0.00 G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- mov rax, 0xD1FFAB1E ; static handle - ; byrRegs +[rax] - cmp byte ptr [rax], 0
+ mov rcx, 0xD1FFAB1E ; static handle + ; byrRegs +[rcx] + cmp byte ptr [rcx], 0
je SHORT G_M5950_IG05 ;; size=15 bbWeight=1 PerfScore 4.25
-G_M5950_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - ; byrRegs -[rax] - mov rax, 0xD1FFAB1E ; global ptr - movzx rax, byte ptr [rax] - ;; size=13 bbWeight=1 PerfScore 2.25
+G_M5950_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref + movzx rax, byte ptr [rcx+0x01] + ;; size=4 bbWeight=1 PerfScore 2.00
G_M5950_IG04: ; bbWeight=1, epilog, nogc, extend ret ;; size=1 bbWeight=1 PerfScore 1.00
-G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, gcvars, byref, isz
mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field> mov byte ptr [rax], 1 mov rax, 0xD1FFAB1E @@ -41,7 +39,7 @@ G_M5950_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {} jmp SHORT G_M5950_IG03 ;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 57, prolog size 0, PerfScore 7.50, instruction count 11, allocated bytes for code 57 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
+; Total bytes of code 48, prolog size 0, PerfScore 7.25, instruction count 10, allocated bytes for code 48 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
; ============================================================ Unwind Info:

-17 (-9.83%) : 48006.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)

@@ -18,7 +18,7 @@ ;* V06 tmp5 [V06 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V07 tmp6 [V07,T04] ( 0, 0 ) ubyte -> zero-ref single-def "field V04.hasValue (fldOffset=0x0)" P-INDEP ; V08 tmp7 [V08,T03] ( 2, 0 ) ubyte -> rax single-def "field V04.value (fldOffset=0x1)" P-INDEP
-; V09 cse0 [V09,T00] ( 4, 3 ) byref -> rbx "CSE - aggressive"
+; V09 cse0 [V09,T00] ( 5, 4 ) byref -> rbx "CSE - aggressive"
; ; Lcl frame size = 0 @@ -34,13 +34,11 @@ G_M26216_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, cmp byte ptr [rbx], 0 je SHORT G_M26216_IG05 cmp byte ptr [rbx], 0
- je G_M26216_IG08 - ;; size=24 bbWeight=1 PerfScore 8.25 -G_M26216_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - ; byrRegs -[rbx] - mov rax, 0xD1FFAB1E ; global ptr - movzx rax, byte ptr [rax] - ;; size=13 bbWeight=1 PerfScore 2.25
+ je SHORT G_M26216_IG08 + ;; size=20 bbWeight=1 PerfScore 8.25 +G_M26216_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref + movzx rax, byte ptr [rbx+0x01] + ;; size=4 bbWeight=1 PerfScore 2.00
G_M26216_IG04: ; bbWeight=1, epilog, nogc, extend pop rbx pop r15 @@ -48,7 +46,6 @@ G_M26216_IG04: ; bbWeight=1, epilog, nogc, extend ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M26216_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref, isz
- ; byrRegs +[rbx]
mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi] call [System.Environment:GetEnvironmentVariable(System.String):System.String] @@ -76,22 +73,22 @@ G_M26216_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { G_M26216_IG06: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref mov eax, 1 ;; size=5 bbWeight=0 PerfScore 0.00
-G_M26216_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
+G_M26216_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
movzx rax, al mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field> mov byte ptr [rcx], 1 mov rcx, 0xD1FFAB1E mov byte ptr [rcx], al cmp byte ptr [rbx], 0
- jne G_M26216_IG03 - ;; size=37 bbWeight=0 PerfScore 0.00
+ jne SHORT G_M26216_IG03 + ;; size=33 bbWeight=0 PerfScore 0.00
G_M26216_IG08: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; byrRegs -[rbx] call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_NoValue()] int3 ;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 173, prolog size 9, PerfScore 16.50, instruction count 39, allocated bytes for code 173 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
+; Total bytes of code 156, prolog size 9, PerfScore 16.25, instruction count 38, allocated bytes for code 156 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
; ============================================================ Unwind Info:

-17 (-9.83%) : 92892.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)

@@ -18,7 +18,7 @@ ;* V06 tmp5 [V06 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V07 tmp6 [V07,T04] ( 0, 0 ) ubyte -> zero-ref single-def "field V04.hasValue (fldOffset=0x0)" P-INDEP ; V08 tmp7 [V08,T03] ( 2, 0 ) ubyte -> rax single-def "field V04.value (fldOffset=0x1)" P-INDEP
-; V09 cse0 [V09,T00] ( 4, 3 ) byref -> rbx "CSE - aggressive"
+; V09 cse0 [V09,T00] ( 5, 4 ) byref -> rbx "CSE - aggressive"
; ; Lcl frame size = 0 @@ -34,13 +34,11 @@ G_M26216_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, cmp byte ptr [rbx], 0 je SHORT G_M26216_IG05 cmp byte ptr [rbx], 0
- je G_M26216_IG08 - ;; size=24 bbWeight=1 PerfScore 8.25 -G_M26216_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - ; byrRegs -[rbx] - mov rax, 0xD1FFAB1E ; global ptr - movzx rax, byte ptr [rax] - ;; size=13 bbWeight=1 PerfScore 2.25
+ je SHORT G_M26216_IG08 + ;; size=20 bbWeight=1 PerfScore 8.25 +G_M26216_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref + movzx rax, byte ptr [rbx+0x01] + ;; size=4 bbWeight=1 PerfScore 2.00
G_M26216_IG04: ; bbWeight=1, epilog, nogc, extend pop rbx pop r15 @@ -48,7 +46,6 @@ G_M26216_IG04: ; bbWeight=1, epilog, nogc, extend ret ;; size=5 bbWeight=1 PerfScore 2.50 G_M26216_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref, isz
- ; byrRegs +[rbx]
mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi] call [System.Environment:GetEnvironmentVariable(System.String):System.String] @@ -76,22 +73,22 @@ G_M26216_IG05: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { G_M26216_IG06: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref mov eax, 1 ;; size=5 bbWeight=0 PerfScore 0.00
-G_M26216_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
+G_M26216_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
movzx rax, al mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field> mov byte ptr [rcx], 1 mov rcx, 0xD1FFAB1E mov byte ptr [rcx], al cmp byte ptr [rbx], 0
- jne G_M26216_IG03 - ;; size=37 bbWeight=0 PerfScore 0.00
+ jne SHORT G_M26216_IG03 + ;; size=33 bbWeight=0 PerfScore 0.00
G_M26216_IG08: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; byrRegs -[rbx] call [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_NoValue()] int3 ;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 173, prolog size 9, PerfScore 16.50, instruction count 39, allocated bytes for code 173 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
+; Total bytes of code 156, prolog size 9, PerfScore 16.25, instruction count 38, allocated bytes for code 156 (MethodHash=48599997) for method Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
; ============================================================ Unwind Info:

+13 (+7.88%) : 70468.dasm - System.GC:AllocateUninitializedArrayubyte:ubyte

@@ -64,12 +64,16 @@ G_M39911_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcrRegs -[rdi] mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0xA0]
call [rax+0x08]<unknown method> ; gcrRegs -[rdi] +[rax] test rax, rax je SHORT G_M39911_IG10
- ;; size=65 bbWeight=1 PerfScore 9.25
+ ;; size=78 bbWeight=1 PerfScore 11.50
G_M39911_IG07: ; bbWeight=0.46, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref mov rdi, qword ptr [rax+0x18] ;; size=4 bbWeight=0.46 PerfScore 0.92 @@ -95,7 +99,7 @@ G_M39911_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=000 jmp SHORT G_M39911_IG08 ;; size=4 bbWeight=0.04 PerfScore 0.09
-; Total bytes of code 165, prolog size 12, PerfScore 25.38, instruction count 41, allocated bytes for code 165 (MethodHash=4acc6418) for method System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
+; Total bytes of code 178, prolog size 12, PerfScore 27.63, instruction count 43, allocated bytes for code 178 (MethodHash=4acc6418) for method System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
; ============================================================ Unwind Info:

+13 (+7.88%) : 211712.dasm - System.GC:AllocateUninitializedArrayint:int

@@ -64,12 +64,16 @@ G_M50407_IG06: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, ; gcrRegs -[rdi] mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0xA0]
call [rax+0x08]<unknown method> ; gcrRegs -[rdi] +[rax] test rax, rax je SHORT G_M50407_IG10
- ;; size=65 bbWeight=1 PerfScore 9.25
+ ;; size=78 bbWeight=1 PerfScore 11.50
G_M50407_IG07: ; bbWeight=0.46, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref mov rdi, qword ptr [rax+0x18] ;; size=4 bbWeight=0.46 PerfScore 0.92 @@ -95,7 +99,7 @@ G_M50407_IG10: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=000 jmp SHORT G_M50407_IG08 ;; size=4 bbWeight=0.04 PerfScore 0.09
-; Total bytes of code 165, prolog size 12, PerfScore 25.38, instruction count 41, allocated bytes for code 165 (MethodHash=a3303b18) for method System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
+; Total bytes of code 178, prolog size 12, PerfScore 27.63, instruction count 43, allocated bytes for code 178 (MethodHash=a3303b18) for method System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
; ============================================================ Unwind Info:

+28 (+9.79%) : 122803.dasm - System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)

@@ -43,13 +43,13 @@ G_M32019_IG01: ; bbWeight=7.07, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr mov r15, gword ptr [rbp+0x48] ; gcrRegs +[r15] ;; size=62 bbWeight=7.07 PerfScore 90.14
-G_M32019_IG02: ; bbWeight=7.07, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+G_M32019_IG02: ; bbWeight=7.07, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
mov r14d, dword ptr [r15+0x08] mov r13d, dword ptr [rbp+0x54] cmp r14d, r13d
- jbe SHORT G_M32019_IG09 - ;; size=13 bbWeight=7.07 PerfScore 30.05 -G_M32019_IG03: ; bbWeight=98.02, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+ jbe G_M32019_IG09 + ;; size=17 bbWeight=7.07 PerfScore 30.05 +G_M32019_IG03: ; bbWeight=98.02, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
cmp r13d, r14d jae G_M32019_IG13 mov edi, r13d @@ -65,8 +65,8 @@ G_M32019_IG03: ; bbWeight=98.02, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 jne G_M32019_IG15 mov rdi, 0xD1FFAB1E ; System.RuntimeType cmp qword ptr [r12], rdi
- jne SHORT G_M32019_IG14 - ;; size=68 bbWeight=98.02 PerfScore 1715.29
+ jne G_M32019_IG14 + ;; size=72 bbWeight=98.02 PerfScore 1715.29
G_M32019_IG04: ; bbWeight=392.07, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref ; gcrRegs -[rax] mov rdi, r12 @@ -84,20 +84,24 @@ G_M32019_IG06: ; bbWeight=98.02, gcrefRegs=9008 {rbx r12 r15}, byrefRegs= ; gcrRegs +[rdi] mov rsi, r12 ; gcrRegs +[rsi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0xC8]
call [rax+0x30]<unknown method> ; gcrRegs -[rsi rdi] ; gcr arg pop 0
- ;; size=23 bbWeight=98.02 PerfScore 539.09
+ ;; size=36 bbWeight=98.02 PerfScore 759.63
G_M32019_IG07: ; bbWeight=98.02, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref, isz test eax, eax jne SHORT G_M32019_IG11 ;; size=4 bbWeight=98.02 PerfScore 122.52
-G_M32019_IG08: ; bbWeight=100, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+G_M32019_IG08: ; bbWeight=100, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
; gcrRegs -[r12] cmp r14d, r13d
- ja SHORT G_M32019_IG03 - ;; size=5 bbWeight=100 PerfScore 125.00
+ ja G_M32019_IG03 + ;; size=9 bbWeight=100 PerfScore 125.00
G_M32019_IG09: ; bbWeight=1.98, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref ; gcrRegs -[r15] xor rax, rax @@ -141,7 +145,7 @@ G_M32019_IG13: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { call CORINFO_HELP_RNGCHKFAIL ; gcr arg pop 0 ;; size=5 bbWeight=0 PerfScore 0.00
-G_M32019_IG14: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref, isz
+G_M32019_IG14: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
; gcrRegs +[rbx r12 r15] mov rdi, r12 ; gcrRegs +[rdi] @@ -150,8 +154,8 @@ G_M32019_IG14: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 call [rax+0x18]<unknown method> ; gcrRegs -[rdi] ; gcr arg pop 0
- jmp SHORT G_M32019_IG05 - ;; size=16 bbWeight=0 PerfScore 0.00
+ jmp G_M32019_IG05 + ;; size=19 bbWeight=0 PerfScore 0.00
G_M32019_IG15: ; bbWeight=0, gcrefRegs=9009 {rax rbx r12 r15}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[rax] mov rsi, r12 @@ -164,7 +168,7 @@ G_M32019_IG15: ; bbWeight=0, gcrefRegs=9009 {rax rbx r12 r15}, byrefRegs= jmp SHORT G_M32019_IG07 ;; size=12 bbWeight=0 PerfScore 0.00
-; Total bytes of code 286, prolog size 62, PerfScore 3646.89, instruction count 74, allocated bytes for code 286 (MethodHash=645382ec) for method System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
+; Total bytes of code 314, prolog size 62, PerfScore 3867.43, instruction count 76, allocated bytes for code 314 (MethodHash=645382ec) for method System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
; ============================================================ Unwind Info:

librariestestsnotieredcompilation.run.linux.x64.Release.mch

-9 (-20.45%) : 21355.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)

@@ -12,8 +12,8 @@ ;* V01 tmp1 [V01 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]> ;* V02 tmp2 [V02,T02] ( 0, 0 ) ubyte -> zero-ref "field V01.hasValue (fldOffset=0x0)" P-INDEP ;* V03 tmp3 [V03,T03] ( 0, 0 ) ubyte -> zero-ref "field V01.value (fldOffset=0x1)" P-INDEP
-; V04 cse0 [V04,T00] ( 2, 2 ) byref -> rax "CSE - aggressive" -; V05 cse1 [V05,T01] ( 2, 1 ) long -> rax "CSE - moderate"
+; V04 cse0 [V04,T00] ( 3, 3 ) byref -> rax "CSE - aggressive" +; V05 cse1 [V05,T01] ( 2, 1 ) long -> rcx "CSE - moderate"
; ; Lcl frame size = 0 @@ -25,20 +25,19 @@ G_M5950_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, cmp byte ptr [rax], 0 jne SHORT G_M5950_IG04 ;; size=15 bbWeight=1 PerfScore 4.25
-G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - ; byrRegs -[rax] - mov rax, 0xD1FFAB1E ; data for <unknown class>:<unknown field> - mov word ptr [rax], 257
+G_M5950_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref + mov rcx, 0xD1FFAB1E ; data for <unknown class>:<unknown field> + mov word ptr [rcx], 257
;; size=15 bbWeight=0.50 PerfScore 0.62
-G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - mov rax, 0xD1FFAB1E ; global ptr - movzx rax, byte ptr [rax] - ;; size=13 bbWeight=1 PerfScore 2.25
+G_M5950_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, byref + movzx rax, byte ptr [rax+0x01] + ; byrRegs -[rax] + ;; size=4 bbWeight=1 PerfScore 2.00
G_M5950_IG05: ; bbWeight=1, epilog, nogc, extend ret ;; size=1 bbWeight=1 PerfScore 1.00
-; Total bytes of code 44, prolog size 0, PerfScore 8.12, instruction count 8, allocated bytes for code 44 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
+; Total bytes of code 35, prolog size 0, PerfScore 7.88, instruction count 7, allocated bytes for code 35 (MethodHash=c960e8c1) for method Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
; ============================================================ Unwind Info:

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

@@ -45,16 +45,16 @@ G_M31553_IG02: ; bbWeight=1, gcrefRegs=0280 {rdi r9}, byrefRegs=0000 {}, mov rsi, gword ptr [rbp-0x10] ; gcrRegs +[rsi] mov rdx, qword ptr [rbp-0x08]
- cmp dword ptr [rdi], edi - mov rax, qword ptr [(reloc)] - ;; size=28 bbWeight=1 PerfScore 8.50
+ mov rax, qword ptr [rdi] + mov rax, qword ptr [rax+0x58] + ;; size=26 bbWeight=1 PerfScore 7.50
G_M31553_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 16 pop rbp tail.jmp [rax]<unknown method> ;; size=8 bbWeight=1 PerfScore 2.75
-; Total bytes of code 54, prolog size 18, PerfScore 15.00, instruction count 15, allocated bytes for code 54 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
+; Total bytes of code 52, prolog size 18, PerfScore 14.00, instruction count 15, allocated bytes for code 52 (MethodHash=3bd084be) for method System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
; ============================================================ Unwind Info:

-2 (-2.60%) : 131187.dasm - System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)

@@ -35,15 +35,15 @@ G_M60981_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr ; gcrRegs +[rsi] cmovne rsi, rdi mov rdi, rbx
- cmp dword ptr [rbx], ebx - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [rbx]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0x60]
call [rax+0x10]<unknown method> ; gcrRegs -[rsi rdi] mov rax, 0xD1FFAB1E ; gcrRegs +[rax] mov gword ptr [rbx+0x30], rax
- ;; size=59 bbWeight=1 PerfScore 10.75
+ ;; size=57 bbWeight=1 PerfScore 9.75
G_M60981_IG03: ; bbWeight=1, epilog, nogc, extend add rsp, 8 pop rbx @@ -51,7 +51,7 @@ G_M60981_IG03: ; bbWeight=1, epilog, nogc, extend ret ;; size=7 bbWeight=1 PerfScore 2.25
-; Total bytes of code 77, prolog size 8, PerfScore 16.75, instruction count 20, allocated bytes for code 77 (MethodHash=a44a11ca) for method System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
+; Total bytes of code 75, prolog size 8, PerfScore 15.75, instruction count 20, allocated bytes for code 75 (MethodHash=a44a11ca) for method System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
; ============================================================ Unwind Info:

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

@@ -29,20 +29,22 @@ G_M24257_IG02: ; bbWeight=1.00, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, ; gcrRegs +[rsi] mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + mov rax, qword ptr [rax]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xC8]
call [rax+0x30]<unknown method> ; gcrRegs -[rsi rdi] test eax, eax sete al movzx rax, al
- ;; size=37 bbWeight=1.00 PerfScore 10.00
+ ;; size=50 bbWeight=1.00 PerfScore 12.25
G_M24257_IG03: ; bbWeight=1.00, epilog, nogc, extend pop rbp ret ;; size=2 bbWeight=1.00 PerfScore 1.50
-; Total bytes of code 43, prolog size 4, PerfScore 12.75, instruction count 12, allocated bytes for code 43 (MethodHash=df39a13e) for method LightInject.ServiceContainer:<EmitNewInstance>g__IsNotServiceFactory|175_0(System.Type):ubyte (FullOpts)
+; Total bytes of code 56, prolog size 4, PerfScore 15.00, instruction count 14, allocated bytes for code 56 (MethodHash=df39a13e) for method LightInject.ServiceContainer:<EmitNewInstance>g__IsNotServiceFactory|175_0(System.Type):ubyte (FullOpts)
; ============================================================ Unwind Info:

+13 (+30.95%) : 200310.dasm - System.Tests.Types.GenericTypeParameter2Of2Tests:CreateType():System.Type:this (FullOpts)

@@ -24,13 +24,17 @@ G_M65217_IG01: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr G_M65217_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0xB8]
call [rax+0x38]<unknown method> ; gcrRegs -[rdi] +[rax] cmp dword ptr [rax+0x08], 1 jbe SHORT G_M65217_IG04 mov rax, gword ptr [rax+0x18]
- ;; size=30 bbWeight=1.00 PerfScore 11.25
+ ;; size=43 bbWeight=1.00 PerfScore 13.50
G_M65217_IG03: ; bbWeight=1.00, epilog, nogc, extend pop rbp ret @@ -41,7 +45,7 @@ G_M65217_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { int3 ;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 42, prolog size 4, PerfScore 14.00, instruction count 12, allocated bytes for code 42 (MethodHash=5365013e) for method System.Tests.Types.GenericTypeParameter2Of2Tests:CreateType():System.Type:this (FullOpts)
+; Total bytes of code 55, prolog size 4, PerfScore 16.25, instruction count 14, allocated bytes for code 55 (MethodHash=5365013e) for method System.Tests.Types.GenericTypeParameter2Of2Tests:CreateType():System.Type:this (FullOpts)
; ============================================================ Unwind Info:

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

@@ -22,14 +22,18 @@ G_M34055_IG01: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr G_M34055_IG02: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)] - ;; size=17 bbWeight=1.00 PerfScore 2.25
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0x58] + ;; size=27 bbWeight=1.00 PerfScore 4.50
G_M34055_IG03: ; bbWeight=1.00, epilog, nogc, extend pop rbp tail.jmp [rax+0x28]<unknown method> ;; size=5 bbWeight=1.00 PerfScore 2.50
-; Total bytes of code 26, prolog size 4, PerfScore 6.00, instruction count 6, allocated bytes for code 26 (MethodHash=b4987af8) for method System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
+; Total bytes of code 36, prolog size 4, PerfScore 8.25, instruction count 8, allocated bytes for code 36 (MethodHash=b4987af8) for method System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
; ============================================================ Unwind Info:

realworld.run.linux.x64.checked.mch

-27 (-7.11%) : 3305.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)

@@ -13,7 +13,7 @@ ;* V02 loc2 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd <<unknown class>> ; V03 loc3 [V03,T05] ( 3, 1.50) ubyte -> r15 ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-; V05 tmp1 [V05,T00] ( 4, 3.50) ref -> r15 single-def "inline UNBOX clone1"
+; V05 tmp1 [V05,T01] ( 4, 3.50) ref -> r15 single-def "inline UNBOX clone1"
;* V06 tmp2 [V06 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[ubyte]> ;* V07 tmp3 [V07 ] ( 0, 0 ) ubyte -> zero-ref "Inlining Arg" ;* V08 tmp4 [V08,T10] ( 0, 0 ) ubyte -> zero-ref single-def "field V06.hasValue (fldOffset=0x0)" P-INDEP @@ -22,7 +22,7 @@ ; V11 tmp7 [V11,T02] ( 3, 3 ) ref -> rax single-def "argument with side effect" ; V12 tmp8 [V12,T03] ( 3, 3 ) ref -> rax single-def "argument with side effect" ; V13 PSPSym [V13,T09] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[V] "PSPSym"
-; V14 cse0 [V14,T01] ( 4, 3 ) byref -> rbx "CSE - aggressive"
+; V14 cse0 [V14,T00] ( 7, 4.50) byref -> rbx "CSE - aggressive"
; V15 cse1 [V15,T06] ( 3, 1.50) long -> rax "CSE - moderate" ; ; Lcl frame size = 32 @@ -43,11 +43,9 @@ G_M36239_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, cmp byte ptr [rbx], 0 je SHORT G_M36239_IG05 ;; size=15 bbWeight=1 PerfScore 4.25
-G_M36239_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - ; byrRegs -[rbx] - mov rax, 0xD1FFAB1E ; global ptr - movzx rax, byte ptr [rax] - ;; size=13 bbWeight=0.50 PerfScore 1.12
+G_M36239_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref + movzx rax, byte ptr [rbx+0x01] + ;; size=4 bbWeight=0.50 PerfScore 1.00
G_M36239_IG04: ; bbWeight=0.50, epilog, nogc, extend add rsp, 32 pop rbx @@ -56,7 +54,6 @@ G_M36239_IG04: ; bbWeight=0.50, epilog, nogc, extend ret ;; size=9 bbWeight=0.50 PerfScore 1.38 G_M36239_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref
- ; byrRegs +[rbx]
mov rsi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rsi] ; gcrRegs +[rdi] @@ -77,10 +74,9 @@ G_M36239_IG06: ; bbWeight=0.50, gcVars=0000000000000080 {V00}, gcrefRegs= ; gcr arg pop 0 cmp byte ptr [rbx], 0 je SHORT G_M36239_IG07
- mov rdi, 0xD1FFAB1E ; global ptr - movzx r15, byte ptr [rdi]
+ movzx r15, byte ptr [rbx+0x01]
jmp G_M36239_IG13
- ;; size=54 bbWeight=0.50 PerfScore 8.38
+ ;; size=45 bbWeight=0.50 PerfScore 8.25
G_M36239_IG07: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi] @@ -151,11 +147,12 @@ G_M36239_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcr arg pop 0 int3 ;; size=7 bbWeight=0 PerfScore 0.00
-G_M36239_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - mov rdi, 0xD1FFAB1E ; global ptr - movzx r15, byte ptr [rdi] - ;; size=14 bbWeight=0.50 PerfScore 1.12
+G_M36239_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref + ; byrRegs +[rbx] + movzx r15, byte ptr [rbx+0x01] + ;; size=5 bbWeight=0.50 PerfScore 1.00
G_M36239_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ; byrRegs -[rbx]
cmp byte ptr [rbp-0x18], 0 je SHORT G_M36239_IG14 mov rdi, gword ptr [rbp-0x20] @@ -206,7 +203,7 @@ G_M36239_IG19: ; bbWeight=0, funclet epilog, nogc, extend ret ;; size=9 bbWeight=0 PerfScore 0.00
-; Total bytes of code 380, prolog size 23, PerfScore 47.25, instruction count 97, allocated bytes for code 380 (MethodHash=70747270) for method Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
+; Total bytes of code 353, prolog size 23, PerfScore 46.88, instruction count 94, allocated bytes for code 353 (MethodHash=70747270) for method Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
; ============================================================ Unwind Info:

-9 (-3.63%) : 3273.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)

@@ -18,7 +18,7 @@ ;* V07 tmp5 [V07,T06] ( 0, 0 ) ubyte -> zero-ref single-def "field V04.hasValue (fldOffset=0x0)" P-INDEP ; V08 tmp6 [V08,T04] ( 2, 1 ) ubyte -> rdi single-def "field V04.value (fldOffset=0x1)" P-INDEP ; V09 PSPSym [V09,T05] ( 1, 1 ) long -> [rbp-0x20] do-not-enreg[V] "PSPSym"
-; V10 cse0 [V10,T00] ( 4, 3 ) byref -> rbx "CSE - aggressive"
+; V10 cse0 [V10,T00] ( 5, 4 ) byref -> rbx "CSE - aggressive"
; V11 cse1 [V11,T02] ( 3, 1.50) long -> rax "CSE - moderate" ; ; Lcl frame size = 24 @@ -38,11 +38,9 @@ G_M27573_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, cmp byte ptr [rbx], 0 je SHORT G_M27573_IG05 ;; size=15 bbWeight=1 PerfScore 4.25
-G_M27573_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref - ; byrRegs -[rbx] - mov rax, 0xD1FFAB1E ; global ptr - movzx rax, byte ptr [rax] - ;; size=13 bbWeight=1 PerfScore 2.25
+G_M27573_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref + movzx rax, byte ptr [rbx+0x01] + ;; size=4 bbWeight=1 PerfScore 2.00
G_M27573_IG04: ; bbWeight=1, epilog, nogc, extend add rsp, 24 pop rbx @@ -50,7 +48,6 @@ G_M27573_IG04: ; bbWeight=1, epilog, nogc, extend ret ;; size=7 bbWeight=1 PerfScore 2.25 G_M27573_IG05: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, gcvars, byref
- ; byrRegs +[rbx]
mov rsi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rsi] ; gcrRegs +[rdi] @@ -153,7 +150,7 @@ G_M27573_IG16: ; bbWeight=0, funclet epilog, nogc, extend ret ;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 248, prolog size 21, PerfScore 36.00, instruction count 69, allocated bytes for code 248 (MethodHash=7e7f944a) for method Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)
+; Total bytes of code 239, prolog size 21, PerfScore 35.75, instruction count 68, allocated bytes for code 239 (MethodHash=7e7f944a) for method Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)
; ============================================================ Unwind Info:

-3 (-1.09%) : 14917.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)

@@ -102,8 +102,8 @@ G_M60946_IG05: ; bbWeight=2, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rb G_M60946_IG06: ; bbWeight=2, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008 {rbx}, byref mov rdi, r15 ; gcrRegs +[rdi]
- cmp dword ptr [r15], r15d - mov rax, qword ptr [(reloc)]
+ mov rax, qword ptr [r15] + mov rax, qword ptr [rax+0x48]
call [rax+0x18]<unknown method> ; gcrRegs -[rdi] ; gcr arg pop 0 @@ -120,7 +120,7 @@ G_M60946_IG06: ; bbWeight=2, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008 call [<unknown method>] ; gcrRegs -[rdi r9 r13-r14] ; gcr arg pop 0
- ;; size=51 bbWeight=2 PerfScore 27.50
+ ;; size=48 bbWeight=2 PerfScore 25.50
G_M60946_IG07: ; bbWeight=4, gcrefRegs=8000 {r15}, byrefRegs=0008 {rbx}, byref, isz mov eax, dword ptr [rbx+0x08] mov rcx, gword ptr [rbx] @@ -176,7 +176,7 @@ G_M60946_IG13: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { int3 ;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 276, prolog size 23, PerfScore 348.75, instruction count 75, allocated bytes for code 276 (MethodHash=ebf011ed) for method System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
+; Total bytes of code 273, prolog size 23, PerfScore 346.75, instruction count 75, allocated bytes for code 273 (MethodHash=ebf011ed) for method System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
; ============================================================ Unwind Info:

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

@@ -43,13 +43,15 @@ G_M46437_IG02: ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, ; gcrRegs +[rsi] mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + mov rax, qword ptr [rax]
; gcrRegs -[rax]
+ mov rax, qword ptr [rax+0xC8]
call [rax+0x30]<unknown method> ; gcrRegs -[rsi rdi] test eax, eax jne SHORT G_M46437_IG04
- ;; size=46 bbWeight=1 PerfScore 15.00
+ ;; size=59 bbWeight=1 PerfScore 17.25
G_M46437_IG03: ; bbWeight=1, epilog, nogc, extend pop rbx pop r15 @@ -85,7 +87,7 @@ G_M46437_IG04: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { int3 ;; size=85 bbWeight=0 PerfScore 0.00
-; Total bytes of code 148, prolog size 9, PerfScore 21.25, instruction count 36, allocated bytes for code 148 (MethodHash=3cf14a9a) for method Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
+; Total bytes of code 161, prolog size 9, PerfScore 23.50, instruction count 38, allocated bytes for code 161 (MethodHash=3cf14a9a) for method Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
; ============================================================ Unwind Info:

+10 (+10.00%) : 3332.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)

@@ -32,7 +32,11 @@ G_M45653_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, G_M45653_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0x58]
call [rax+0x28]<unknown method> ; gcrRegs -[rdi] +[rax] mov rdi, rax @@ -53,7 +57,7 @@ G_M45653_IG03: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr ; gcrRegs -[rdi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi]
- ;; size=66 bbWeight=0.50 PerfScore 7.00
+ ;; size=76 bbWeight=0.50 PerfScore 8.12
G_M45653_IG04: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov rax, gword ptr [rbx] ; gcrRegs +[rax] @@ -65,7 +69,7 @@ G_M45653_IG05: ; bbWeight=1, epilog, nogc, extend ret ;; size=7 bbWeight=1 PerfScore 2.25
-; Total bytes of code 100, prolog size 8, PerfScore 19.00, instruction count 25, allocated bytes for code 100 (MethodHash=2cf24daa) for method Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
+; Total bytes of code 110, prolog size 8, PerfScore 20.12, instruction count 27, allocated bytes for code 110 (MethodHash=2cf24daa) for method Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
; ============================================================ Unwind Info:

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

@@ -22,7 +22,11 @@ G_M26176_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov rdi, 0xD1FFAB1E ; gcrRegs +[rdi]
- mov rax, qword ptr [(reloc)]
+ mov rax, 0xD1FFAB1E + ; gcrRegs +[rax] + mov rax, qword ptr [rax] + ; gcrRegs -[rax] + mov rax, qword ptr [rax+0x58]
call [rax+0x28]<unknown method> ; gcrRegs -[rdi] +[rax] mov rdi, rax @@ -31,13 +35,13 @@ G_M26176_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[rdi] mov rdi, rax ; gcrRegs +[rdi]
- ;; size=32 bbWeight=1 PerfScore 8.75
+ ;; size=42 bbWeight=1 PerfScore 11.00
G_M26176_IG03: ; bbWeight=1, epilog, nogc, extend pop rbp tail.jmp [System.IO.Path:GetFullPath(System.String):System.String] ;; size=7 bbWeight=1 PerfScore 2.50
-; Total bytes of code 43, prolog size 4, PerfScore 12.50, instruction count 10, allocated bytes for code 43 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
+; Total bytes of code 53, prolog size 4, PerfScore 14.75, instruction count 12, allocated bytes for code 53 (MethodHash=6f0499bf) for method Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
; ============================================================ Unwind Info:

smoke_tests.nativeaot.linux.x64.checked.mch

+25 (+9.19%) : 2981.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)

@@ -11,7 +11,7 @@ ; V01 arg1 [V01,T03] ( 3, 18 ) long -> rbx single-def ; V02 arg2 [V02,T04] ( 3, 18 ) ushort -> r15 single-def ; V03 arg3 [V03,T05] ( 3, 18 ) long -> r14 single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r12
+; V04 loc0 [V04,T00] ( 12,126 ) long -> registers
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> [rbp-0x2C] ; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op ; V07 loc3 [V07,T13] ( 3, 1.50) long -> rax @@ -53,7 +53,7 @@ G_M48740_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ;; size=5 bbWeight=1 PerfScore 0.50 G_M48740_IG03: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz test r12, r12
- je SHORT G_M48740_IG09
+ je SHORT G_M48740_IG08
;; size=5 bbWeight=8 PerfScore 10.00 G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz movzx rdx, r15w @@ -66,16 +66,16 @@ G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref call System.Runtime.DispatchResolve:FindImplSlotForCurrentType(ulong,ulong,ushort,ubyte,ulong,ulong):ubyte ; gcr arg pop 0 test eax, eax
- jne SHORT G_M48740_IG10
+ jne SHORT G_M48740_IG12
mov edi, dword ptr [r12] shr edi, 26 and edi, 31 cmp edi, 23
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=46 bbWeight=16 PerfScore 144.00 G_M48740_IG05: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz cmp edi, 24
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=5 bbWeight=8 PerfScore 10.00 G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz mov rdi, r12 @@ -87,34 +87,46 @@ G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref jne SHORT G_M48740_IG04 ;; size=19 bbWeight=16 PerfScore 60.00 G_M48740_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- jmp SHORT G_M48740_IG09 - ;; size=2 bbWeight=1 PerfScore 2.00 -G_M48740_IG08: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov dword ptr [rbp-0x2C], eax + jmp SHORT G_M48740_IG10 + ;; size=5 bbWeight=1 PerfScore 3.00 +G_M48740_IG08: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz + mov dword ptr [rbp-0x2C], eax + jmp SHORT G_M48740_IG10 + ;; size=5 bbWeight=4 PerfScore 12.00 +G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lea r12, [(reloc)]
+ test r12, r12 + jne SHORT G_M48740_IG11 + ;; size=12 bbWeight=16 PerfScore 28.00 +G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz + cmp dword ptr [rbp-0x2C], 0 + jne SHORT G_M48740_IG15 + mov r12d, 1 + mov rax, r13 + mov rcx, rax + mov eax, r12d + mov r12, rcx + jmp SHORT G_M48740_IG03 + ;; size=26 bbWeight=4 PerfScore 25.00 +G_M48740_IG11: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov eax, dword ptr [rbp-0x2C] jmp SHORT G_M48740_IG04
- ;; size=12 bbWeight=16 PerfScore 56.00 -G_M48740_IG09: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz - test eax, eax - jne SHORT G_M48740_IG13 - mov eax, 1 - mov r12, r13 - jmp SHORT G_M48740_IG03 - ;; size=14 bbWeight=4 PerfScore 15.00 -G_M48740_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ;; size=5 bbWeight=8 PerfScore 24.00 +G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movzx rdi, word ptr [rbp-0x38] mov eax, edi movzx rcx, word ptr [r12+0x10] cmp eax, ecx
- jge SHORT G_M48740_IG11
+ jge SHORT G_M48740_IG13
mov rax, qword ptr [r13+8*rdi+0x18]
- jmp SHORT G_M48740_IG12
+ jmp SHORT G_M48740_IG14
;; size=23 bbWeight=0.50 PerfScore 4.25
-G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48740_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp edi, 0xFFFF
- je SHORT G_M48740_IG15
+ je SHORT G_M48740_IG17
cmp edi, 0xFFFE
- je SHORT G_M48740_IG16
+ je SHORT G_M48740_IG18
sub edi, ecx movzx rbx, di mov rdi, r12 @@ -127,7 +139,7 @@ G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr movsxd rdi, dword ptr [rax] add rax, rdi ;; size=41 bbWeight=0.50 PerfScore 4.62
-G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M48740_IG14: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
add rsp, 24 pop rbx pop r12 @@ -137,10 +149,10 @@ G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr pop rbp ret ;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG13: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG15: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend
+G_M48740_IG16: ; bbWeight=0.50, epilog, nogc, extend
add rsp, 24 pop rbx pop r12 @@ -150,7 +162,7 @@ G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend pop rbp ret ;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov edi, 11 call <unknown method> ; gcrRegs +[rax] @@ -161,7 +173,7 @@ G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { ; gcrRegs -[rax rdi] ; gcr arg pop 0 ;; size=18 bbWeight=0 PerfScore 0.00
-G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48740_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edi, 12 call <unknown method> ; gcrRegs +[rax] @@ -174,7 +186,7 @@ G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 31, PerfScore 318.50, instruction count 93, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 297, prolog size 31, PerfScore 337.50, instruction count 101, allocated bytes for code 297 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================ Cfi Info:

+25 (+9.19%) : 20329.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)

@@ -11,7 +11,7 @@ ; V01 arg1 [V01,T03] ( 3, 18 ) long -> rbx single-def ; V02 arg2 [V02,T04] ( 3, 18 ) ushort -> r15 single-def ; V03 arg3 [V03,T05] ( 3, 18 ) long -> r14 single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r12
+; V04 loc0 [V04,T00] ( 12,126 ) long -> registers
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> [rbp-0x2C] ; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op ; V07 loc3 [V07,T13] ( 3, 1.50) long -> rax @@ -53,7 +53,7 @@ G_M48740_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ;; size=5 bbWeight=1 PerfScore 0.50 G_M48740_IG03: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz test r12, r12
- je SHORT G_M48740_IG09
+ je SHORT G_M48740_IG08
;; size=5 bbWeight=8 PerfScore 10.00 G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz movzx rdx, r15w @@ -66,16 +66,16 @@ G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref call System.Runtime.DispatchResolve:FindImplSlotForCurrentType(ulong,ulong,ushort,ubyte,ulong,ulong):ubyte ; gcr arg pop 0 test eax, eax
- jne SHORT G_M48740_IG10
+ jne SHORT G_M48740_IG12
mov edi, dword ptr [r12] shr edi, 26 and edi, 31 cmp edi, 23
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=46 bbWeight=16 PerfScore 144.00 G_M48740_IG05: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz cmp edi, 24
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=5 bbWeight=8 PerfScore 10.00 G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz mov rdi, r12 @@ -87,34 +87,46 @@ G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref jne SHORT G_M48740_IG04 ;; size=19 bbWeight=16 PerfScore 60.00 G_M48740_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- jmp SHORT G_M48740_IG09 - ;; size=2 bbWeight=1 PerfScore 2.00 -G_M48740_IG08: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov dword ptr [rbp-0x2C], eax + jmp SHORT G_M48740_IG10 + ;; size=5 bbWeight=1 PerfScore 3.00 +G_M48740_IG08: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz + mov dword ptr [rbp-0x2C], eax + jmp SHORT G_M48740_IG10 + ;; size=5 bbWeight=4 PerfScore 12.00 +G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lea r12, [(reloc)]
+ test r12, r12 + jne SHORT G_M48740_IG11 + ;; size=12 bbWeight=16 PerfScore 28.00 +G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz + cmp dword ptr [rbp-0x2C], 0 + jne SHORT G_M48740_IG15 + mov r12d, 1 + mov rax, r13 + mov rcx, rax + mov eax, r12d + mov r12, rcx + jmp SHORT G_M48740_IG03 + ;; size=26 bbWeight=4 PerfScore 25.00 +G_M48740_IG11: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov eax, dword ptr [rbp-0x2C] jmp SHORT G_M48740_IG04
- ;; size=12 bbWeight=16 PerfScore 56.00 -G_M48740_IG09: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz - test eax, eax - jne SHORT G_M48740_IG13 - mov eax, 1 - mov r12, r13 - jmp SHORT G_M48740_IG03 - ;; size=14 bbWeight=4 PerfScore 15.00 -G_M48740_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ;; size=5 bbWeight=8 PerfScore 24.00 +G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movzx rdi, word ptr [rbp-0x38] mov eax, edi movzx rcx, word ptr [r12+0x10] cmp eax, ecx
- jge SHORT G_M48740_IG11
+ jge SHORT G_M48740_IG13
mov rax, qword ptr [r13+8*rdi+0x18]
- jmp SHORT G_M48740_IG12
+ jmp SHORT G_M48740_IG14
;; size=23 bbWeight=0.50 PerfScore 4.25
-G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48740_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp edi, 0xFFFF
- je SHORT G_M48740_IG15
+ je SHORT G_M48740_IG17
cmp edi, 0xFFFE
- je SHORT G_M48740_IG16
+ je SHORT G_M48740_IG18
sub edi, ecx movzx rbx, di mov rdi, r12 @@ -127,7 +139,7 @@ G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr movsxd rdi, dword ptr [rax] add rax, rdi ;; size=41 bbWeight=0.50 PerfScore 4.62
-G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M48740_IG14: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
add rsp, 24 pop rbx pop r12 @@ -137,10 +149,10 @@ G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr pop rbp ret ;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG13: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG15: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend
+G_M48740_IG16: ; bbWeight=0.50, epilog, nogc, extend
add rsp, 24 pop rbx pop r12 @@ -150,7 +162,7 @@ G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend pop rbp ret ;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov edi, 11 call <unknown method> ; gcrRegs +[rax] @@ -161,7 +173,7 @@ G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { ; gcrRegs -[rax rdi] ; gcr arg pop 0 ;; size=18 bbWeight=0 PerfScore 0.00
-G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48740_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edi, 12 call <unknown method> ; gcrRegs +[rax] @@ -174,7 +186,7 @@ G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 31, PerfScore 318.50, instruction count 93, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 297, prolog size 31, PerfScore 337.50, instruction count 101, allocated bytes for code 297 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================ Cfi Info:

+25 (+9.19%) : 23126.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)

@@ -11,7 +11,7 @@ ; V01 arg1 [V01,T03] ( 3, 18 ) long -> rbx single-def ; V02 arg2 [V02,T04] ( 3, 18 ) ushort -> r15 single-def ; V03 arg3 [V03,T05] ( 3, 18 ) long -> r14 single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r12
+; V04 loc0 [V04,T00] ( 12,126 ) long -> registers
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> [rbp-0x2C] ; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op ; V07 loc3 [V07,T13] ( 3, 1.50) long -> rax @@ -53,7 +53,7 @@ G_M48740_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ;; size=5 bbWeight=1 PerfScore 0.50 G_M48740_IG03: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz test r12, r12
- je SHORT G_M48740_IG09
+ je SHORT G_M48740_IG08
;; size=5 bbWeight=8 PerfScore 10.00 G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz movzx rdx, r15w @@ -66,16 +66,16 @@ G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref call System.Runtime.DispatchResolve:FindImplSlotForCurrentType(ulong,ulong,ushort,ubyte,ulong,ulong):ubyte ; gcr arg pop 0 test eax, eax
- jne SHORT G_M48740_IG10
+ jne SHORT G_M48740_IG12
mov edi, dword ptr [r12] shr edi, 26 and edi, 31 cmp edi, 23
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=46 bbWeight=16 PerfScore 144.00 G_M48740_IG05: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz cmp edi, 24
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=5 bbWeight=8 PerfScore 10.00 G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz mov rdi, r12 @@ -87,34 +87,46 @@ G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref jne SHORT G_M48740_IG04 ;; size=19 bbWeight=16 PerfScore 60.00 G_M48740_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- jmp SHORT G_M48740_IG09 - ;; size=2 bbWeight=1 PerfScore 2.00 -G_M48740_IG08: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov dword ptr [rbp-0x2C], eax + jmp SHORT G_M48740_IG10 + ;; size=5 bbWeight=1 PerfScore 3.00 +G_M48740_IG08: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz + mov dword ptr [rbp-0x2C], eax + jmp SHORT G_M48740_IG10 + ;; size=5 bbWeight=4 PerfScore 12.00 +G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lea r12, [(reloc)]
+ test r12, r12 + jne SHORT G_M48740_IG11 + ;; size=12 bbWeight=16 PerfScore 28.00 +G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz + cmp dword ptr [rbp-0x2C], 0 + jne SHORT G_M48740_IG15 + mov r12d, 1 + mov rax, r13 + mov rcx, rax + mov eax, r12d + mov r12, rcx + jmp SHORT G_M48740_IG03 + ;; size=26 bbWeight=4 PerfScore 25.00 +G_M48740_IG11: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov eax, dword ptr [rbp-0x2C] jmp SHORT G_M48740_IG04
- ;; size=12 bbWeight=16 PerfScore 56.00 -G_M48740_IG09: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz - test eax, eax - jne SHORT G_M48740_IG13 - mov eax, 1 - mov r12, r13 - jmp SHORT G_M48740_IG03 - ;; size=14 bbWeight=4 PerfScore 15.00 -G_M48740_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ;; size=5 bbWeight=8 PerfScore 24.00 +G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movzx rdi, word ptr [rbp-0x38] mov eax, edi movzx rcx, word ptr [r12+0x10] cmp eax, ecx
- jge SHORT G_M48740_IG11
+ jge SHORT G_M48740_IG13
mov rax, qword ptr [r13+8*rdi+0x18]
- jmp SHORT G_M48740_IG12
+ jmp SHORT G_M48740_IG14
;; size=23 bbWeight=0.50 PerfScore 4.25
-G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48740_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp edi, 0xFFFF
- je SHORT G_M48740_IG15
+ je SHORT G_M48740_IG17
cmp edi, 0xFFFE
- je SHORT G_M48740_IG16
+ je SHORT G_M48740_IG18
sub edi, ecx movzx rbx, di mov rdi, r12 @@ -127,7 +139,7 @@ G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr movsxd rdi, dword ptr [rax] add rax, rdi ;; size=41 bbWeight=0.50 PerfScore 4.62
-G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M48740_IG14: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
add rsp, 24 pop rbx pop r12 @@ -137,10 +149,10 @@ G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr pop rbp ret ;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG13: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG15: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend
+G_M48740_IG16: ; bbWeight=0.50, epilog, nogc, extend
add rsp, 24 pop rbx pop r12 @@ -150,7 +162,7 @@ G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend pop rbp ret ;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov edi, 11 call <unknown method> ; gcrRegs +[rax] @@ -161,7 +173,7 @@ G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { ; gcrRegs -[rax rdi] ; gcr arg pop 0 ;; size=18 bbWeight=0 PerfScore 0.00
-G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48740_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edi, 12 call <unknown method> ; gcrRegs +[rax] @@ -174,7 +186,7 @@ G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 31, PerfScore 318.50, instruction count 93, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 297, prolog size 31, PerfScore 337.50, instruction count 101, allocated bytes for code 297 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================ Cfi Info:

+25 (+9.19%) : 272.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)

@@ -11,7 +11,7 @@ ; V01 arg1 [V01,T03] ( 3, 18 ) long -> rbx single-def ; V02 arg2 [V02,T04] ( 3, 18 ) ushort -> r15 single-def ; V03 arg3 [V03,T05] ( 3, 18 ) long -> r14 single-def
-; V04 loc0 [V04,T00] ( 11,110 ) long -> r12
+; V04 loc0 [V04,T00] ( 12,126 ) long -> registers
; V05 loc1 [V05,T02] ( 4, 25 ) ubyte -> [rbp-0x2C] ; V06 loc2 [V06 ] ( 2, 16.50) ushort -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op ; V07 loc3 [V07,T13] ( 3, 1.50) long -> rax @@ -53,7 +53,7 @@ G_M48740_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ;; size=5 bbWeight=1 PerfScore 0.50 G_M48740_IG03: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz test r12, r12
- je SHORT G_M48740_IG09
+ je SHORT G_M48740_IG08
;; size=5 bbWeight=8 PerfScore 10.00 G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz movzx rdx, r15w @@ -66,16 +66,16 @@ G_M48740_IG04: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref call System.Runtime.DispatchResolve:FindImplSlotForCurrentType(ulong,ulong,ushort,ubyte,ulong,ulong):ubyte ; gcr arg pop 0 test eax, eax
- jne SHORT G_M48740_IG10
+ jne SHORT G_M48740_IG12
mov edi, dword ptr [r12] shr edi, 26 and edi, 31 cmp edi, 23
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=46 bbWeight=16 PerfScore 144.00 G_M48740_IG05: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz cmp edi, 24
- je SHORT G_M48740_IG08
+ je SHORT G_M48740_IG09
;; size=5 bbWeight=8 PerfScore 10.00 G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz mov rdi, r12 @@ -87,34 +87,46 @@ G_M48740_IG06: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref jne SHORT G_M48740_IG04 ;; size=19 bbWeight=16 PerfScore 60.00 G_M48740_IG07: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- jmp SHORT G_M48740_IG09 - ;; size=2 bbWeight=1 PerfScore 2.00 -G_M48740_IG08: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ mov dword ptr [rbp-0x2C], eax + jmp SHORT G_M48740_IG10 + ;; size=5 bbWeight=1 PerfScore 3.00 +G_M48740_IG08: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz + mov dword ptr [rbp-0x2C], eax + jmp SHORT G_M48740_IG10 + ;; size=5 bbWeight=4 PerfScore 12.00 +G_M48740_IG09: ; bbWeight=16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
lea r12, [(reloc)]
+ test r12, r12 + jne SHORT G_M48740_IG11 + ;; size=12 bbWeight=16 PerfScore 28.00 +G_M48740_IG10: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz + cmp dword ptr [rbp-0x2C], 0 + jne SHORT G_M48740_IG15 + mov r12d, 1 + mov rax, r13 + mov rcx, rax + mov eax, r12d + mov r12, rcx + jmp SHORT G_M48740_IG03 + ;; size=26 bbWeight=4 PerfScore 25.00 +G_M48740_IG11: ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov eax, dword ptr [rbp-0x2C] jmp SHORT G_M48740_IG04
- ;; size=12 bbWeight=16 PerfScore 56.00 -G_M48740_IG09: ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz - test eax, eax - jne SHORT G_M48740_IG13 - mov eax, 1 - mov r12, r13 - jmp SHORT G_M48740_IG03 - ;; size=14 bbWeight=4 PerfScore 15.00 -G_M48740_IG10: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ;; size=5 bbWeight=8 PerfScore 24.00 +G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
movzx rdi, word ptr [rbp-0x38] mov eax, edi movzx rcx, word ptr [r12+0x10] cmp eax, ecx
- jge SHORT G_M48740_IG11
+ jge SHORT G_M48740_IG13
mov rax, qword ptr [r13+8*rdi+0x18]
- jmp SHORT G_M48740_IG12
+ jmp SHORT G_M48740_IG14
;; size=23 bbWeight=0.50 PerfScore 4.25
-G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M48740_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp edi, 0xFFFF
- je SHORT G_M48740_IG15
+ je SHORT G_M48740_IG17
cmp edi, 0xFFFE
- je SHORT G_M48740_IG16
+ je SHORT G_M48740_IG18
sub edi, ecx movzx rbx, di mov rdi, r12 @@ -127,7 +139,7 @@ G_M48740_IG11: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr movsxd rdi, dword ptr [rax] add rax, rdi ;; size=41 bbWeight=0.50 PerfScore 4.62
-G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M48740_IG14: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
add rsp, 24 pop rbx pop r12 @@ -137,10 +149,10 @@ G_M48740_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr pop rbp ret ;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG13: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG15: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend
+G_M48740_IG16: ; bbWeight=0.50, epilog, nogc, extend
add rsp, 24 pop rbx pop r12 @@ -150,7 +162,7 @@ G_M48740_IG14: ; bbWeight=0.50, epilog, nogc, extend pop rbp ret ;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48740_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov edi, 11 call <unknown method> ; gcrRegs +[rax] @@ -161,7 +173,7 @@ G_M48740_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 { ; gcrRegs -[rax rdi] ; gcr arg pop 0 ;; size=18 bbWeight=0 PerfScore 0.00
-G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M48740_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov edi, 12 call <unknown method> ; gcrRegs +[rax] @@ -174,7 +186,7 @@ G_M48740_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref int3 ;; size=19 bbWeight=0 PerfScore 0.00
-; Total bytes of code 272, prolog size 31, PerfScore 318.50, instruction count 93, allocated bytes for code 272 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
+; Total bytes of code 297, prolog size 31, PerfScore 337.50, instruction count 101, allocated bytes for code 297 (MethodHash=d484419b) for method System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
; ============================================================ Cfi Info:

Details

Improvements/regressions per collection

Collection Contexts with diffs Improvements Regressions Same size Improvements (bytes) Regressions (bytes)
benchmarks.run.linux.x64.checked.mch 90 10 29 51 -51 +555
benchmarks.run_pgo.linux.x64.checked.mch 481 3 11 467 -7 +92
benchmarks.run_tiered.linux.x64.checked.mch 13 1 4 8 -2 +16
coreclr_tests.run.linux.x64.checked.mch 1,670 68 347 1,255 -1,658 +8,510
libraries.crossgen2.linux.x64.checked.mch 0 0 0 0 -0 +0
libraries.pmi.linux.x64.checked.mch 876 34 263 579 -133 +2,505
libraries_tests.run.linux.x64.Release.mch 3,675 148 2,779 748 -534 +20,404
librariestestsnotieredcompilation.run.linux.x64.Release.mch 2,678 387 1,592 699 -3,468 +22,397
realworld.run.linux.x64.checked.mch 298 13 104 181 -67 +462
smoke_tests.nativeaot.linux.x64.checked.mch 4 0 4 0 -0 +100
9,785 664 5,133 3,988 -5,920 +55,041

Context information

Collection Diffed contexts MinOpts FullOpts Missed, base Missed, diff
benchmarks.run.linux.x64.checked.mch 31,764 2,052 29,712 0 (0.00%) 0 (0.00%)
benchmarks.run_pgo.linux.x64.checked.mch 155,049 57,390 97,659 0 (0.00%) 0 (0.00%)
benchmarks.run_tiered.linux.x64.checked.mch 58,135 43,840 14,295 0 (0.00%) 0 (0.00%)
coreclr_tests.run.linux.x64.checked.mch 608,390 362,472 245,918 0 (0.00%) 0 (0.00%)
libraries.crossgen2.linux.x64.checked.mch 265,301 15 265,286 0 (0.00%) 0 (0.00%)
libraries.pmi.linux.x64.checked.mch 298,707 6 298,701 0 (0.00%) 0 (0.00%)
libraries_tests.run.linux.x64.Release.mch 751,536 496,905 254,631 0 (0.00%) 0 (0.00%)
librariestestsnotieredcompilation.run.linux.x64.Release.mch 305,831 21,933 283,898 0 (0.00%) 6 (0.00%)
realworld.run.linux.x64.checked.mch 33,245 45 33,200 0 (0.00%) 0 (0.00%)
smoke_tests.nativeaot.linux.x64.checked.mch 27,407 10 27,397 0 (0.00%) 0 (0.00%)
2,535,365 984,668 1,550,697 0 (0.00%) 6 (0.00%)

jit-analyze output

benchmarks.run.linux.x64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 12166543 (overridden on cmd)
Total bytes of diff: 12167047 (overridden on cmd)
Total bytes of delta: 504 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          93 : 5412.dasm (2.18 % of base)
          90 : 5523.dasm (3.58 % of base)
          60 : 7395.dasm (5.66 % of base)
          60 : 5473.dasm (2.26 % of base)
          50 : 10871.dasm (0.38 % of base)
          30 : 7385.dasm (9.23 % of base)
          14 : 10817.dasm (0.43 % of base)
          13 : 21674.dasm (0.66 % of base)
          13 : 5289.dasm (1.83 % of base)
          13 : 5498.dasm (1.18 % of base)
          13 : 5571.dasm (1.63 % of base)
          13 : 9223.dasm (0.53 % of base)
          13 : 27090.dasm (1.01 % of base)
          13 : 9310.dasm (0.65 % of base)
          10 : 6456.dasm (1.46 % of base)
          10 : 17923.dasm (0.63 % of base)
          10 : 18979.dasm (2.09 % of base)
          10 : 17944.dasm (2.89 % of base)
           9 : 9854.dasm (0.91 % of base)
           4 : 2884.dasm (0.46 % of base)

Top file improvements (bytes):
         -10 : 19025.dasm (-0.31 % of base)
          -9 : 3409.dasm (-1.57 % of base)
          -9 : 9684.dasm (-20.45 % of base)
          -8 : 4855.dasm (-0.38 % of base)
          -4 : 4859.dasm (-0.04 % of base)
          -3 : 4777.dasm (-1.09 % of base)
          -2 : 15282.dasm (-0.02 % of base)
          -2 : 9768.dasm (-0.33 % of base)
          -2 : 15189.dasm (-3.70 % of base)
          -2 : 19708.dasm (-0.05 % of base)

31 total files with Code Size differences (10 improved, 21 regressed), 25 unchanged.

Top method regressions (bytes):
          93 (2.18 % of base) : 5412.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
          90 (3.58 % of base) : 5523.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
          60 (5.66 % of base) : 7395.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          60 (2.26 % of base) : 5473.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
          50 (0.38 % of base) : 10871.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
          30 (9.23 % of base) : 7385.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
          14 (0.43 % of base) : 10817.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (FullOpts)
          13 (0.65 % of base) : 9310.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
          13 (0.53 % of base) : 9223.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
          13 (1.01 % of base) : 27090.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
          13 (0.66 % of base) : 21674.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
          13 (1.83 % of base) : 5289.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildFormatterToAssembly[System.__Canon](Utf8Json.Internal.Emit.DynamicAssembly,Utf8Json.IJsonFormatterResolver,System.Func`2[System.String,System.String],ubyte):System.Object (FullOpts)
          13 (1.63 % of base) : 5571.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitDeserializeValue(System.Reflection.Emit.ILGenerator,Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+DeserializeInfo,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
          13 (1.18 % of base) : 5498.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitSerializeValue(System.Reflection.TypeInfo,Utf8Json.Internal.Emit.MetaMember,System.Reflection.Emit.ILGenerator,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
          10 (0.63 % of base) : 17923.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
          10 (2.89 % of base) : 17944.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
          10 (1.46 % of base) : 6456.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
          10 (2.09 % of base) : 18979.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
           9 (0.91 % of base) : 9854.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[System.__Canon](System.Reflection.PropertyInfo):System.Action`2[System.__Canon,System.__Canon]:this (FullOpts)
           4 (0.46 % of base) : 2884.dasm - System.Net.CertificateValidationPal:GetRemoteCertificate(System.Net.Security.SafeDeleteContext,ubyte,byref,System.Security.Cryptography.X509Certificates.X509ChainPolicy):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts)

Top method improvements (bytes):
         -10 (-0.31 % of base) : 19025.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -9 (-20.45 % of base) : 9684.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -9 (-1.57 % of base) : 3409.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -8 (-0.38 % of base) : 4855.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
          -4 (-0.04 % of base) : 4859.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
          -3 (-1.09 % of base) : 4777.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -2 (-0.05 % of base) : 19708.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterConstraintClause]]:this (FullOpts)
          -2 (-0.33 % of base) : 9768.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateGet[System.__Canon](System.Reflection.PropertyInfo):System.Func`2[System.__Canon,System.__Canon]:this (FullOpts)
          -2 (-0.02 % of base) : 15282.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
          -2 (-3.70 % of base) : 15189.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)

Top method regressions (percentages):
          30 (9.23 % of base) : 7385.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
          60 (5.66 % of base) : 7395.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          90 (3.58 % of base) : 5523.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonReader:.cctor() (FullOpts)
          10 (2.89 % of base) : 17944.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
          60 (2.26 % of base) : 5473.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo+JsonWriter:.cctor() (FullOpts)
          93 (2.18 % of base) : 5412.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+EmitInfo:.cctor() (FullOpts)
          10 (2.09 % of base) : 18979.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
          13 (1.83 % of base) : 5289.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:BuildFormatterToAssembly[System.__Canon](Utf8Json.Internal.Emit.DynamicAssembly,Utf8Json.IJsonFormatterResolver,System.Func`2[System.String,System.String],ubyte):System.Object (FullOpts)
          13 (1.63 % of base) : 5571.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitDeserializeValue(System.Reflection.Emit.ILGenerator,Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder+DeserializeInfo,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
          10 (1.46 % of base) : 6456.dasm - ProtoBuf.Meta.RuntimeTypeModel:Add(System.Type,ubyte,int):ProtoBuf.Meta.MetaType:this (FullOpts)
          13 (1.18 % of base) : 5498.dasm - Utf8Json.Resolvers.Internal.DynamicObjectTypeBuilder:EmitSerializeValue(System.Reflection.TypeInfo,Utf8Json.Internal.Emit.MetaMember,System.Reflection.Emit.ILGenerator,int,System.Func`3[int,Utf8Json.Internal.Emit.MetaMember,ubyte],Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField,Utf8Json.Internal.Emit.ArgumentField) (FullOpts)
          13 (1.01 % of base) : 27090.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (FullOpts)
           9 (0.91 % of base) : 9854.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[System.__Canon](System.Reflection.PropertyInfo):System.Action`2[System.__Canon,System.__Canon]:this (FullOpts)
          13 (0.66 % of base) : 21674.dasm - System.Xml.Serialization.ReflectionAwareILGen:ILGenForCreateInstance(System.Xml.Serialization.CodeGenerator,System.Type,System.Type) (FullOpts)
          13 (0.65 % of base) : 9310.dasm - MessagePack.Internal.DynamicObjectTypeBuilder:.cctor() (FullOpts)
          10 (0.63 % of base) : 17923.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
          13 (0.53 % of base) : 9223.dasm - MessagePack.Resolvers.DynamicUnionResolver:.cctor() (FullOpts)
           4 (0.46 % of base) : 2884.dasm - System.Net.CertificateValidationPal:GetRemoteCertificate(System.Net.Security.SafeDeleteContext,ubyte,byref,System.Security.Cryptography.X509Certificates.X509ChainPolicy):System.Security.Cryptography.X509Certificates.X509Certificate2 (FullOpts)
          14 (0.43 % of base) : 10817.dasm - System.Xml.Serialization.TypeScope:ImportTypeDesc(System.Type,System.Reflection.MemberInfo,ubyte):System.Xml.Serialization.TypeDesc:this (FullOpts)
          50 (0.38 % of base) : 10871.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)

Top method improvements (percentages):
          -9 (-20.45 % of base) : 9684.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -2 (-3.70 % of base) : 15189.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
          -9 (-1.57 % of base) : 3409.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -3 (-1.09 % of base) : 4777.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -8 (-0.38 % of base) : 4855.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
          -2 (-0.33 % of base) : 9768.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateGet[System.__Canon](System.Reflection.PropertyInfo):System.Func`2[System.__Canon,System.__Canon]:this (FullOpts)
         -10 (-0.31 % of base) : 19025.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -2 (-0.05 % of base) : 19708.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterConstraintClause]]:this (FullOpts)
          -4 (-0.04 % of base) : 4859.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
          -2 (-0.02 % of base) : 15282.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)


benchmarks.run_pgo.linux.x64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 67166891 (overridden on cmd)
Total bytes of diff: 67166976 (overridden on cmd)
Total bytes of delta: 85 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          13 : 119986.dasm (1.02 % of base)
          11 : 41674.dasm (0.26 % of base)
          11 : 52366.dasm (0.26 % of base)
          11 : 64250.dasm (0.26 % of base)
          11 : 154105.dasm (0.26 % of base)
          11 : 57571.dasm (0.26 % of base)
           7 : 74961.dasm (0.18 % of base)
           7 : 80641.dasm (0.28 % of base)
           7 : 47528.dasm (0.20 % of base)
           2 : 142099.dasm (0.05 % of base)
           1 : 102149.dasm (0.14 % of base)

Top file improvements (bytes):
          -3 : 96264.dasm (-0.07 % of base)
          -2 : 69831.dasm (-0.02 % of base)
          -2 : 102153.dasm (-0.10 % of base)

14 total files with Code Size differences (3 improved, 11 regressed), 46 unchanged.

Top method regressions (bytes):
          13 (1.02 % of base) : 119986.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
          11 (0.26 % of base) : 41674.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
          11 (0.26 % of base) : 52366.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
          11 (0.26 % of base) : 64250.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
          11 (0.26 % of base) : 154105.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
          11 (0.26 % of base) : 57571.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           7 (0.18 % of base) : 74961.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           7 (0.28 % of base) : 80641.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           7 (0.20 % of base) : 47528.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           2 (0.05 % of base) : 142099.dasm - System.Net.Sockets.Tests.SocketSendReceivePerfTest+<SendAsyncThenReceiveAsync_Task>d__9:MoveNext():this (Tier1-OSR)
           1 (0.14 % of base) : 102149.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)

Top method improvements (bytes):
          -3 (-0.07 % of base) : 96264.dasm - Microsoft.Cci.MetadataVisitor:Visit(System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]):this (Tier1)
          -2 (-0.10 % of base) : 102153.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
          -2 (-0.02 % of base) : 69831.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)

Top method regressions (percentages):
          13 (1.02 % of base) : 119986.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
           7 (0.28 % of base) : 80641.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
          11 (0.26 % of base) : 52366.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
          11 (0.26 % of base) : 154105.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
          11 (0.26 % of base) : 41674.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
          11 (0.26 % of base) : 64250.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
          11 (0.26 % of base) : 57571.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           7 (0.20 % of base) : 47528.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           7 (0.18 % of base) : 74961.dasm - System.RuntimeType+RuntimeTypeCache+MemberInfoCache`1[System.__Canon]:PopulateProperties(System.RuntimeType+RuntimeTypeCache+Filter,System.RuntimeType,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.Reflection.RuntimePropertyInfo]],System.Span`1[ubyte],ubyte,byref):this (Tier1)
           1 (0.14 % of base) : 102149.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:Visit(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.CSharp.Binder):this (Tier1)
           2 (0.05 % of base) : 142099.dasm - System.Net.Sockets.Tests.SocketSendReceivePerfTest+<SendAsyncThenReceiveAsync_Task>d__9:MoveNext():this (Tier1-OSR)

Top method improvements (percentages):
          -2 (-0.10 % of base) : 102153.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
          -3 (-0.07 % of base) : 96264.dasm - Microsoft.Cci.MetadataVisitor:Visit(System.Collections.Generic.IEnumerable`1[Microsoft.Cci.IMethodDefinition]):this (Tier1)
          -2 (-0.02 % of base) : 69831.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)


benchmarks.run_tiered.linux.x64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 16810899 (overridden on cmd)
Total bytes of diff: 16810913 (overridden on cmd)
Total bytes of delta: 14 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          13 : 52308.dasm (1.04 % of base)
           1 : 47449.dasm (0.05 % of base)
           1 : 49003.dasm (0.11 % of base)
           1 : 51659.dasm (0.25 % of base)

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

5 total files with Code Size differences (1 improved, 4 regressed), 8 unchanged.

Top method regressions (bytes):
          13 (1.04 % of base) : 52308.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
           1 (0.11 % of base) : 49003.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
           1 (0.05 % of base) : 47449.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (Tier1)
           1 (0.25 % of base) : 51659.dasm - Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable`1[System.Type],System.Collections.Generic.IEnumerable`1[System.Type],Sigil.Impl.VerificationCallback):this (Tier1)

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

Top method regressions (percentages):
          13 (1.04 % of base) : 52308.dasm - Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSimpleStructWithProperties:Read2_SimpleStructWithProperties(ubyte):MicroBenchmarks.Serializers.SimpleStructWithProperties:this (Tier0-FullOpts)
           1 (0.25 % of base) : 51659.dasm - Sigil.Impl.StackTransition:.ctor(System.Collections.Generic.IEnumerable`1[System.Type],System.Collections.Generic.IEnumerable`1[System.Type],Sigil.Impl.VerificationCallback):this (Tier1)
           1 (0.11 % of base) : 49003.dasm - Microsoft.CodeAnalysis.CSharp.LocalBinderFactory:VisitLocalDeclarationStatement(Microsoft.CodeAnalysis.CSharp.Syntax.LocalDeclarationStatementSyntax):this (Tier1)
           1 (0.05 % of base) : 47449.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol:AddSynthesizedReturnTypeAttributes(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,byref):this (Tier1)

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

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


coreclr_tests.run.linux.x64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 418408742 (overridden on cmd)
Total bytes of diff: 418415594 (overridden on cmd)
Total bytes of delta: 6852 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
         370 : 175223.dasm (5.71 % of base)
         370 : 217729.dasm (5.71 % of base)
         370 : 175475.dasm (5.71 % of base)
         370 : 176079.dasm (7.23 % of base)
         370 : 216847.dasm (5.71 % of base)
         370 : 217098.dasm (5.71 % of base)
         370 : 217368.dasm (7.23 % of base)
         370 : 217545.dasm (5.71 % of base)
         370 : 217652.dasm (7.23 % of base)
         120 : 177066.dasm (4.34 % of base)
         120 : 304344.dasm (2.72 % of base)
          60 : 217667.dasm (5.14 % of base)
          60 : 217768.dasm (5.19 % of base)
          60 : 175568.dasm (5.60 % of base)
          60 : 176096.dasm (5.06 % of base)
          60 : 176107.dasm (5.32 % of base)
          60 : 176111.dasm (5.32 % of base)
          60 : 217527.dasm (5.06 % of base)
          60 : 217560.dasm (5.60 % of base)
          60 : 217591.dasm (5.14 % of base)

Top file improvements (bytes):
        -142 : 232182.dasm (-2.05 % of base)
        -127 : 220975.dasm (-1.80 % of base)
         -74 : 219439.dasm (-1.13 % of base)
         -74 : 220783.dasm (-1.13 % of base)
         -72 : 229769.dasm (-16.11 % of base)
         -70 : 246832.dasm (-19.77 % of base)
         -63 : 232187.dasm (-0.89 % of base)
         -63 : 231801.dasm (-0.94 % of base)
         -55 : 232144.dasm (-0.79 % of base)
         -55 : 221081.dasm (-1.28 % of base)
         -55 : 219891.dasm (-0.94 % of base)
         -54 : 231754.dasm (-0.77 % of base)
         -54 : 231812.dasm (-0.76 % of base)
         -54 : 232196.dasm (-0.76 % of base)
         -45 : 219756.dasm (-0.64 % of base)
         -45 : 221003.dasm (-0.61 % of base)
         -40 : 231760.dasm (-0.65 % of base)
         -40 : 232150.dasm (-0.65 % of base)
         -40 : 246820.dasm (-11.76 % of base)
         -39 : 232153.dasm (-0.64 % of base)

80 total files with Code Size differences (37 improved, 43 regressed), 20 unchanged.

Top method regressions (bytes):
         370 (5.71 % of base) : 217729.dasm - Test_AbstractBase02:TestEntryPoint():int (FullOpts)
         370 (5.71 % of base) : 175223.dasm - Test_BaseClass02:TestEntryPoint():int (FullOpts)
         370 (5.71 % of base) : 175475.dasm - Test_class01:TestEntryPoint():int (FullOpts)
         370 (5.71 % of base) : 217545.dasm - Test_NestedBaseClass05:TestEntryPoint():int (FullOpts)
         370 (5.71 % of base) : 217098.dasm - Test_NestedClass01:TestEntryPoint():int (FullOpts)
         370 (5.71 % of base) : 216847.dasm - Test_NestedClass03:TestEntryPoint():int (FullOpts)
         370 (7.23 % of base) : 217368.dasm - Test_NestedStruct01:TestEntryPoint():int (FullOpts)
         370 (7.23 % of base) : 217652.dasm - Test_NestedStruct03:TestEntryPoint():int (FullOpts)
         370 (7.23 % of base) : 176079.dasm - Test_struct01:TestEntryPoint():int (FullOpts)
         120 (2.72 % of base) : 304344.dasm - Program:RuntimeMethodHandle():ubyte (FullOpts)
         120 (4.34 % of base) : 177066.dasm - VectorTest:TestEntryPoint():int (FullOpts)
          60 (5.60 % of base) : 217560.dasm - Test_AbstractBase06:TestEntryPoint():int (FullOpts)
          60 (5.19 % of base) : 217768.dasm - Test_AbstractBase07:TestEntryPoint():int (FullOpts)
          60 (5.60 % of base) : 175568.dasm - Test_Class05:TestEntryPoint():int (FullOpts)
          60 (5.14 % of base) : 217591.dasm - Test_NestedBaseClass01:TestEntryPoint():int (FullOpts)
          60 (5.14 % of base) : 217667.dasm - Test_NestedBaseClass03:TestEntryPoint():int (FullOpts)
          60 (5.06 % of base) : 217527.dasm - Test_NestedInterface08:TestEntryPoint():int (FullOpts)
          60 (5.06 % of base) : 176096.dasm - Test_Struct03:TestEntryPoint():int (FullOpts)
          60 (5.32 % of base) : 176107.dasm - Test_Struct04:TestEntryPoint():int (FullOpts)
          60 (5.32 % of base) : 176111.dasm - Test_Struct05:TestEntryPoint():int (FullOpts)

Top method improvements (bytes):
        -142 (-2.05 % of base) : 232182.dasm - TestApp:RunAllTests():int (FullOpts)
        -127 (-1.80 % of base) : 220975.dasm - TestApp:RunAllTests():int (FullOpts)
         -74 (-1.13 % of base) : 219439.dasm - TestApp:RunAllTests():int (FullOpts)
         -74 (-1.13 % of base) : 220783.dasm - TestApp:RunAllTests():int (FullOpts)
         -72 (-16.11 % of base) : 229769.dasm - Test_200w1d_02.testout1:TestEntryPoint():int (FullOpts)
         -70 (-19.77 % of base) : 246832.dasm - testout1:Func(testout1+CL,testout1+VT):long (FullOpts)
         -63 (-0.89 % of base) : 232187.dasm - TestApp:RunAllTests():int (FullOpts)
         -63 (-0.94 % of base) : 231801.dasm - TestApp:RunAllTests():int (FullOpts)
         -55 (-0.79 % of base) : 232144.dasm - TestApp:RunAllTests():int (FullOpts)
         -55 (-1.28 % of base) : 221081.dasm - TestApp:RunAllTests():int (FullOpts)
         -55 (-0.94 % of base) : 219891.dasm - TestApp:RunAllTests():int (FullOpts)
         -54 (-0.77 % of base) : 231754.dasm - TestApp:RunAllTests():int (FullOpts)
         -54 (-0.76 % of base) : 231812.dasm - TestApp:RunAllTests():int (FullOpts)
         -54 (-0.76 % of base) : 232196.dasm - TestApp:RunAllTests():int (FullOpts)
         -45 (-0.64 % of base) : 219756.dasm - TestApp:RunAllTests():int (FullOpts)
         -45 (-0.61 % of base) : 221003.dasm - TestApp:RunAllTests():int (FullOpts)
         -40 (-11.76 % of base) : 246820.dasm - bug1:TestEntryPoint() (FullOpts)
         -40 (-0.65 % of base) : 231760.dasm - TestApp:RunAllTests():int (FullOpts)
         -40 (-0.65 % of base) : 232150.dasm - TestApp:RunAllTests():int (FullOpts)
         -39 (-0.64 % of base) : 232153.dasm - TestApp:RunAllTests():int (FullOpts)

Top method regressions (percentages):
          10 (23.26 % of base) : 304873.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
          10 (15.38 % of base) : 242281.dasm - Runtime_95347:Test():int (FullOpts)
          10 (12.99 % of base) : 175681.dasm - Gen`1[System.Guid]:DefaultTest(ubyte):ubyte:this (FullOpts)
          10 (12.82 % of base) : 287207.dasm - ILVerify.Verifier+<>c:<.ctor>b__5_0():System.Resources.ResourceManager:this (FullOpts)
          20 (11.70 % of base) : 175546.dasm - Gen`2[double,System.Guid]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
          30 (11.67 % of base) : 175549.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          30 (11.67 % of base) : 175559.dasm - Gen`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          30 (11.67 % of base) : 175239.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          30 (11.67 % of base) : 217510.dasm - GenBase`3[int,double,System.Guid]:InstVerify(System.Type,System.Type,System.Type):ubyte:this (FullOpts)
          20 (11.36 % of base) : 175533.dasm - Gen`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
          20 (11.36 % of base) : 175235.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
          20 (11.36 % of base) : 175229.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
          20 (11.36 % of base) : 217045.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
          20 (11.36 % of base) : 217386.dasm - GenBase`2[int,int]:InstVerify(System.Type,System.Type):ubyte:this (FullOpts)
          10 (10.87 % of base) : 175510.dasm - Gen`1[ValX1`1[int]]:InstVerify(System.Type):ubyte:this (FullOpts)
          10 (10.87 % of base) : 175477.dasm - Gen`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
          10 (10.87 % of base) : 217731.dasm - GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
          10 (10.87 % of base) : 216848.dasm - GenOuter+GenInner`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
          10 (10.87 % of base) : 217702.dasm - Outer`1+GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]],ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)
          10 (10.87 % of base) : 217546.dasm - Outer+GenBase`1[ValX1`1[ValX1`1[ValX1`1[ValX1`1[System.Guid]]]]]:InstVerify(System.Type):ubyte:this (FullOpts)

Top method improvements (percentages):
         -27 (-23.28 % of base) : 246612.dasm - bug1:TestEntryPoint() (FullOpts)
          -9 (-20.45 % of base) : 193518.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
         -70 (-19.77 % of base) : 246832.dasm - testout1:Func(testout1+CL,testout1+VT):long (FullOpts)
         -18 (-16.98 % of base) : 174995.dasm - StaticValueField:TestEntryPoint():int (FullOpts)
         -72 (-16.11 % of base) : 229769.dasm - Test_200w1d_02.testout1:TestEntryPoint():int (FullOpts)
          -9 (-14.75 % of base) : 304948.dasm - Microsoft.Build.Framework.NativeMethods:get_IsOSX():ubyte (FullOpts)
          -9 (-14.75 % of base) : 304833.dasm - Microsoft.Build.Framework.NativeMethods:get_IsWindows():ubyte (FullOpts)
         -40 (-11.76 % of base) : 246820.dasm - bug1:TestEntryPoint() (FullOpts)
          -9 (-9.47 % of base) : 237470.dasm - testout1:Func_0():double (FullOpts)
          -9 (-9.28 % of base) : 243353.dasm - Test4:Run():uint (FullOpts)
          -6 (-8.45 % of base) : 237738.dasm - Test_b18049:main():int (FullOpts)
          -7 (-8.24 % of base) : 188562.dasm - ZeroOffsetFieldSeqs:ProblemWithStaticUnions():ubyte (FullOpts)
          -9 (-7.50 % of base) : 246801.dasm - testout1:Func_0_2(testout1+CL_0_2,ulong) (FullOpts)
          -6 (-7.32 % of base) : 243379.dasm - GitHub_18522:TestEntryPoint():int (FullOpts)
         -27 (-6.80 % of base) : 304882.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
         -16 (-6.67 % of base) : 239013.dasm - TestClass13:Method0():this (FullOpts)
         -18 (-5.20 % of base) : 246803.dasm - testout1:Func():long (FullOpts)
         -18 (-4.36 % of base) : 2748.dasm - testout1:TestEntryPoint():int (FullOpts)
         -18 (-4.36 % of base) : 2779.dasm - testout1:TestEntryPoint():int (FullOpts)
          -9 (-3.45 % of base) : 243375.dasm - GitHub_18497:TestEntryPoint():int (FullOpts)


libraries.pmi.linux.x64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 60685927 (overridden on cmd)
Total bytes of diff: 60688299 (overridden on cmd)
Total bytes of delta: 2372 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          72 : 257750.dasm (2.80 % of base)
          50 : 199819.dasm (0.38 % of base)
          50 : 283563.dasm (4.37 % of base)
          40 : 16242.dasm (2.04 % of base)
          40 : 16624.dasm (4.66 % of base)
          40 : 16625.dasm (4.64 % of base)
          40 : 16626.dasm (6.06 % of base)
          30 : 20313.dasm (10.79 % of base)
          30 : 295562.dasm (1.60 % of base)
          30 : 29682.dasm (3.18 % of base)
          30 : 214308.dasm (3.18 % of base)
          26 : 290749.dasm (1.24 % of base)
          24 : 15785.dasm (1.26 % of base)
          20 : 15780.dasm (0.66 % of base)
          20 : 137523.dasm (3.41 % of base)
          20 : 137524.dasm (3.84 % of base)
          20 : 137535.dasm (2.21 % of base)
          20 : 205395.dasm (1.02 % of base)
          20 : 283527.dasm (6.31 % of base)
          20 : 295532.dasm (3.21 % of base)

Top file improvements (bytes):
         -33 : 97913.dasm (-3.31 % of base)
         -10 : 65485.dasm (-0.24 % of base)
          -9 : 178100.dasm (-1.57 % of base)
          -8 : 133026.dasm (-0.32 % of base)
          -6 : 43442.dasm (-0.11 % of base)
          -6 : 119656.dasm (-0.21 % of base)
          -4 : 258850.dasm (-0.04 % of base)
          -3 : 102381.dasm (-0.26 % of base)
          -3 : 252728.dasm (-0.59 % of base)
          -3 : 252924.dasm (-0.64 % of base)
          -3 : 275501.dasm (-0.54 % of base)
          -3 : 68384.dasm (-0.15 % of base)
          -3 : 97929.dasm (-0.33 % of base)
          -3 : 97931.dasm (-0.36 % of base)
          -3 : 98127.dasm (-0.25 % of base)
          -3 : 121212.dasm (-0.06 % of base)
          -2 : 123554.dasm (-0.04 % of base)
          -2 : 111425.dasm (-0.74 % of base)
          -2 : 166813.dasm (-2.74 % of base)
          -2 : 97906.dasm (-0.08 % of base)

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

Top method regressions (bytes):
          72 (2.80 % of base) : 257750.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[ubyte]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],ubyte] (FullOpts)
          50 (4.37 % of base) : 283563.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:.cctor() (FullOpts)
          50 (0.38 % of base) : 199819.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
          40 (2.04 % of base) : 16242.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.Adapters:ConvImmutableTypeToMutableType(Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,System.Type):System.Type (FullOpts)
          40 (4.64 % of base) : 16625.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transBinOp(Microsoft.FSharp.Core.FSharpFunc`2[System.Type,ubyte],Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`3[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.RuntimeMethodHandle):System.Linq.Expressions.Expression (FullOpts)
          40 (6.06 % of base) : 16626.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transBoolOpNoWitness(Microsoft.FSharp.Core.FSharpFunc`2[System.Type,ubyte],Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`4[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,ubyte,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.Reflection.MethodInfo):System.Linq.Expressions.Expression (FullOpts)
          40 (4.66 % of base) : 16624.dasm - Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter:transShiftOp(Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter+ConvEnv,ubyte,Microsoft.FSharp.Quotations.FSharpExpr,Microsoft.FSharp.Quotations.FSharpExpr,ubyte,Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`3[System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo],System.Linq.Expressions.BinaryExpression],System.RuntimeMethodHandle):System.Linq.Expressions.Expression (FullOpts)
          30 (10.79 % of base) : 20313.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
          30 (1.60 % of base) : 295562.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:RewriteActivator(System.Reflection.TypeInfo,System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
          30 (3.18 % of base) : 29682.dasm - System.Configuration.ConfigurationLockCollection:Add(System.String):this (FullOpts)
          30 (3.18 % of base) : 214308.dasm - System.Configuration.ConfigurationLockCollection:Add(System.String):this (FullOpts)
          26 (1.24 % of base) : 290749.dasm - System.Reflection.Emit.IgnoreAccessChecksToAttributeBuilder:AddToModule(System.Reflection.Emit.ModuleBuilder):System.Reflection.ConstructorInfo (FullOpts)
          24 (1.26 % of base) : 15785.dasm - Microsoft.FSharp.Linq.QueryModule:TransFor@1295(int,ubyte,System.Type,Microsoft.FSharp.Quotations.FSharpVar,System.Type,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Quotations.FSharpExpr):System.Tuple`2[Microsoft.FSharp.Linq.QueryModule+TransInnerResult,Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription] (FullOpts)
          20 (1.02 % of base) : 205395.dasm - Microsoft.Build.BackEnd.TaskExecutionHost:FindTaskInRegistry(System.Collections.Generic.IDictionary`2[System.String,System.String]):Microsoft.Build.Execution.TaskFactoryWrapper:this (FullOpts)
          20 (6.31 % of base) : 283527.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (FullOpts)
          20 (0.66 % of base) : 15780.dasm - Microsoft.FSharp.Linq.QueryModule:ConvMutableToImmutable(Microsoft.FSharp.Linq.RuntimeHelpers.Adapters+ConversionDescription,Microsoft.FSharp.Quotations.FSharpExpr):Microsoft.FSharp.Quotations.FSharpExpr (FullOpts)
          20 (3.41 % of base) : 137523.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateMethodCall[System.__Canon](System.Reflection.MethodBase):Newtonsoft.Json.Utilities.MethodCall`2[System.__Canon,System.__Canon]:this (FullOpts)
          20 (3.84 % of base) : 137524.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateMethodCall[ubyte](System.Reflection.MethodBase):Newtonsoft.Json.Utilities.MethodCall`2[ubyte,System.Object]:this (FullOpts)
          20 (2.21 % of base) : 137535.dasm - Newtonsoft.Json.Utilities.ExpressionReflectionDelegateFactory:CreateSet[ubyte](System.Reflection.PropertyInfo):System.Action`2[ubyte,System.Object]:this (FullOpts)
          20 (3.21 % of base) : 295532.dasm - System.Composition.TypedParts.Discovery.DiscoveredPropertyExport:GetExportDescriptor(System.Composition.Hosting.Core.CompositeActivator):System.Composition.Hosting.Core.ExportDescriptor:this (FullOpts)

Top method improvements (bytes):
         -33 (-3.31 % of base) : 97913.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlnsAttribute(Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute:this (FullOpts)
         -10 (-0.24 % of base) : 65485.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -9 (-1.57 % of base) : 178100.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -8 (-0.32 % of base) : 133026.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
          -6 (-0.11 % of base) : 43442.dasm - Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions:ValidateOptions(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic]):this (FullOpts)
          -6 (-0.21 % of base) : 119656.dasm - Microsoft.CodeAnalysis.VisualBasic.LambdaRewriter:MakeFrameCtor(Microsoft.CodeAnalysis.VisualBasic.LambdaFrame,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundBlock:this (FullOpts)
          -4 (-0.04 % of base) : 258850.dasm - R2RTest.BuildFolderSet:WriteBuildStatistics(System.IO.StreamWriter):this (FullOpts)
          -3 (-0.15 % of base) : 68384.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceUserDefinedOperatorSymbolBase:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol]]:this (FullOpts)
          -3 (-0.33 % of base) : 97929.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlName(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          -3 (-0.36 % of base) : 97931.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlNamespace(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          -3 (-0.25 % of base) : 98127.dasm - Microsoft.CodeAnalysis.VisualBasic.DocumentationCommentCrefBinder:CollectSimpleNameSymbolsStrict(Microsoft.CodeAnalysis.VisualBasic.Syntax.SimpleNameSyntax,System.Collections.Generic.Dictionary`2[System.String,Microsoft.CodeAnalysis.VisualBasic.Symbols.CrefTypeParameterSymbol],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],ubyte,byref,ubyte):this (FullOpts)
          -3 (-0.26 % of base) : 102381.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedSubmissionConstructorSymbol:.ctor(Microsoft.CodeAnalysis.SyntaxReference,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,ubyte,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
          -3 (-0.06 % of base) : 121212.dasm - Microsoft.CodeAnalysis.VisualBasic.VisualBasicCompilationOptions:ValidateOptions(Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.Diagnostic]):this (FullOpts)
          -3 (-0.64 % of base) : 252924.dasm - System.Net.HttpListenerResponse:Close(ubyte[],ubyte):this (FullOpts)
          -3 (-0.59 % of base) : 252728.dasm - System.Net.HttpResponseStream:GetChunkSizeBytes(int,ubyte):ubyte[] (FullOpts)
          -3 (-0.54 % of base) : 275501.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ArraySegment`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts)
          -2 (-0.45 % of base) : 57356.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
          -2 (-0.08 % of base) : 97906.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlElementWithoutAddingNamespaces(Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax,Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax,byref,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax],Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax],Microsoft.CodeAnalysis.VisualBasic.Binder+XmlElementRootInfo,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          -2 (-0.04 % of base) : 123554.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder+TypeBinder:LookupTupleType(Microsoft.CodeAnalysis.VisualBasic.Syntax.TupleTypeSyntax,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag,ubyte,ubyte,ubyte):Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeSymbol (FullOpts)
          -2 (-0.53 % of base) : 98132.dasm - Microsoft.CodeAnalysis.VisualBasic.DocumentationCommentCrefBinder:CollectSimpleNameSymbolsStrict(System.String,int,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],ubyte,byref,ubyte):this (FullOpts)

Top method regressions (percentages):
          13 (23.64 % of base) : 257775.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryExportDescriptorProvider:.cctor() (FullOpts)
          13 (23.64 % of base) : 257779.dasm - System.Composition.Hosting.Providers.ExportFactory.ExportFactoryWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
          13 (23.64 % of base) : 257763.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
          13 (23.64 % of base) : 257767.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
          13 (23.64 % of base) : 257758.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:.cctor() (FullOpts)
          13 (23.64 % of base) : 295565.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)
          10 (23.26 % of base) : 206928.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
          10 (16.13 % of base) : 78245.dasm - Microsoft.Diagnostics.Tracing.Stacks.StackSourceWriterHelper:GetExporterInfo():System.String (FullOpts)
          13 (15.48 % of base) : 204340.dasm - Microsoft.Build.BackEnd.TaskParameterTypeVerifier:IsAssignableToITask(System.Type):ubyte (FullOpts)
          10 (12.82 % of base) : 173171.dasm - Internal.TypeSystem.TypeSystemException+<>c:<.cctor>b__20_0():System.Resources.ResourceManager:this (FullOpts)
          13 (11.50 % of base) : 295531.dasm - System.Composition.TypedParts.Discovery.DiscoveredPart:.cctor() (FullOpts)
          30 (10.79 % of base) : 20313.dasm - Microsoft.FSharp.Text.StructuredPrintfImpl.Display:isSetOrMapType(System.Type):ubyte (FullOpts)
          13 (9.63 % of base) : 257771.dasm - System.Composition.Hosting.Providers.ImportMany.ImportManyExportDescriptorProvider:.cctor() (FullOpts)
          13 (9.42 % of base) : 76134.dasm - Dia2Lib.DiaLoader:GetDiaSourceObject():Dia2Lib.IDiaDataSource3 (FullOpts)
          13 (8.78 % of base) : 295553.dasm - System.Composition.TypedParts.ActivationFeatures.DisposalFeature:RewriteActivator(System.Reflection.TypeInfo,System.Composition.Hosting.Core.CompositeActivator,System.Collections.Generic.IDictionary`2[System.String,System.Object],System.Collections.Generic.IEnumerable`1[System.Composition.Hosting.Core.CompositionDependency]):System.Composition.Hosting.Core.CompositeActivator:this (FullOpts)
          14 (8.54 % of base) : 43799.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          14 (8.54 % of base) : 106102.dasm - Microsoft.CodeAnalysis.VisualBasic.ErrorFactory:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          13 (8.33 % of base) : 245300.dasm - Xunit.Serialization.XunitSerializationInfo:GetValue[int](System.String):int:this (FullOpts)
          13 (8.33 % of base) : 220392.dasm - Xunit.Serialization.XunitSerializationInfo:GetValue[int](System.String):int:this (FullOpts)
          13 (8.28 % of base) : 245303.dasm - Xunit.Serialization.XunitSerializationInfo:GetValue[long](System.String):long:this (FullOpts)

Top method improvements (percentages):
          -2 (-3.70 % of base) : 275502.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
         -33 (-3.31 % of base) : 97913.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlnsAttribute(Microsoft.CodeAnalysis.VisualBasic.Syntax.XmlNodeSyntax,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,ubyte,ubyte,ubyte,ubyte,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundXmlAttribute:this (FullOpts)
          -2 (-2.74 % of base) : 166813.dasm - System.Linq.Expressions.Interpreter.InterpretedFrameInfo:ToString():System.String:this (FullOpts)
          -9 (-1.57 % of base) : 178100.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[ubyte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (FullOpts)
          -2 (-0.74 % of base) : 111425.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ForBlockContext:EndBlock(Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.StatementSyntax):Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.BlockContext:this (FullOpts)
          -2 (-0.69 % of base) : 252579.dasm - System.IO.Ports.SerialStream:Write(ubyte[],int,int,int):this (FullOpts)
          -3 (-0.64 % of base) : 252924.dasm - System.Net.HttpListenerResponse:Close(ubyte[],ubyte):this (FullOpts)
          -2 (-0.59 % of base) : 252571.dasm - System.IO.Ports.SerialStream:Read(ubyte[],int,int,int):int:this (FullOpts)
          -3 (-0.59 % of base) : 252728.dasm - System.Net.HttpResponseStream:GetChunkSizeBytes(int,ubyte):ubyte[] (FullOpts)
          -3 (-0.54 % of base) : 275501.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ArraySegment`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.Task:this (FullOpts)
          -2 (-0.53 % of base) : 98132.dasm - Microsoft.CodeAnalysis.VisualBasic.DocumentationCommentCrefBinder:CollectSimpleNameSymbolsStrict(System.String,int,Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],ubyte,byref,ubyte):this (FullOpts)
          -2 (-0.45 % of base) : 57356.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
          -3 (-0.36 % of base) : 97931.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlNamespace(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          -3 (-0.33 % of base) : 97929.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:BindXmlName(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BoundExpression,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundExpression:this (FullOpts)
          -8 (-0.32 % of base) : 133026.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
          -3 (-0.26 % of base) : 102381.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SynthesizedSubmissionConstructorSymbol:.ctor(Microsoft.CodeAnalysis.SyntaxReference,Microsoft.CodeAnalysis.VisualBasic.Symbols.NamedTypeSymbol,ubyte,Microsoft.CodeAnalysis.VisualBasic.Binder,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):this (FullOpts)
          -3 (-0.25 % of base) : 98127.dasm - Microsoft.CodeAnalysis.VisualBasic.DocumentationCommentCrefBinder:CollectSimpleNameSymbolsStrict(Microsoft.CodeAnalysis.VisualBasic.Syntax.SimpleNameSyntax,System.Collections.Generic.Dictionary`2[System.String,Microsoft.CodeAnalysis.VisualBasic.Symbols.CrefTypeParameterSymbol],Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbol],ubyte,byref,ubyte):this (FullOpts)
         -10 (-0.24 % of base) : 65485.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -6 (-0.21 % of base) : 119656.dasm - Microsoft.CodeAnalysis.VisualBasic.LambdaRewriter:MakeFrameCtor(Microsoft.CodeAnalysis.VisualBasic.LambdaFrame,Microsoft.CodeAnalysis.VisualBasic.BindingDiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.BoundBlock:this (FullOpts)
          -3 (-0.15 % of base) : 68384.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceUserDefinedOperatorSymbolBase:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol]]:this (FullOpts)


libraries_tests.run.linux.x64.Release.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 331729851 (overridden on cmd)
Total bytes of diff: 331749721 (overridden on cmd)
Total bytes of delta: 19870 (0.01 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          40 : 597470.dasm (0.33 % of base)
          29 : 106647.dasm (0.69 % of base)
          28 : 122803.dasm (9.79 % of base)
          26 : 70701.dasm (2.32 % of base)
          20 : 127523.dasm (0.96 % of base)
          20 : 127569.dasm (0.87 % of base)
          20 : 209142.dasm (0.15 % of base)
          20 : 452053.dasm (0.79 % of base)
          20 : 596694.dasm (0.54 % of base)
          20 : 127524.dasm (4.02 % of base)
          20 : 135839.dasm (0.69 % of base)
          20 : 306630.dasm (2.93 % of base)
          20 : 524644.dasm (0.16 % of base)
          20 : 597487.dasm (0.35 % of base)
          20 : 135908.dasm (0.89 % of base)
          14 : 127802.dasm (0.36 % of base)
          14 : 127447.dasm (0.17 % of base)
          13 : 336844.dasm (2.38 % of base)
          13 : 593087.dasm (2.38 % of base)
          13 : 597844.dasm (2.38 % of base)

Top file improvements (bytes):
         -17 : 48006.dasm (-9.83 % of base)
         -17 : 721972.dasm (-9.83 % of base)
         -17 : 92892.dasm (-9.83 % of base)
          -9 : 656845.dasm (-15.79 % of base)
          -6 : 620557.dasm (-1.13 % of base)
          -6 : 621350.dasm (-1.13 % of base)
          -6 : 621762.dasm (-1.13 % of base)
          -6 : 622209.dasm (-1.13 % of base)
          -6 : 634997.dasm (-1.13 % of base)
          -6 : 639326.dasm (-1.13 % of base)
          -6 : 640093.dasm (-1.13 % of base)
          -6 : 647117.dasm (-1.13 % of base)
          -6 : 649282.dasm (-1.13 % of base)
          -6 : 649293.dasm (-1.13 % of base)
          -6 : 651101.dasm (-1.13 % of base)
          -6 : 651241.dasm (-1.13 % of base)
          -6 : 651258.dasm (-1.13 % of base)
          -6 : 651857.dasm (-1.13 % of base)
          -6 : 652057.dasm (-1.13 % of base)
          -6 : 652650.dasm (-1.13 % of base)

63 total files with Code Size differences (23 improved, 40 regressed), 20 unchanged.

Top method regressions (bytes):
          40 (0.33 % of base) : 597470.dasm - System.Text.Tests.TranscodingStreamTests+<RunReadTestAsync>d__29:MoveNext():this (Tier1)
          29 (0.69 % of base) : 106647.dasm - System.Runtime.CompilerServices.CallSiteBinder:BindCore[System.__Canon](System.Runtime.CompilerServices.CallSite`1[System.__Canon],System.Object[]):System.__Canon:this (Tier1)
          28 (9.79 % of base) : 122803.dasm - System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
          26 (2.32 % of base) : 70701.dasm - System.Reflection.FieldAccessor:Initialize():this (Instrumented Tier1)
          20 (0.96 % of base) : 127523.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactory(System.Type,System.Type[]):Microsoft.Extensions.DependencyInjection.ObjectFactory (Tier1)
          20 (4.02 % of base) : 127524.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (Tier1)
          20 (0.87 % of base) : 127569.dasm - Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests:CreateInstanceFromFactory(System.IServiceProvider,System.Type,System.Object[]):System.Object (Tier1)
          20 (0.69 % of base) : 135839.dasm - Microsoft.Extensions.Hosting.HostBuilder:Build():Microsoft.Extensions.Hosting.IHost:this (Tier1)
          20 (0.89 % of base) : 135908.dasm - Microsoft.Extensions.Hosting.HostBuilder:ResolveHost(System.IServiceProvider,System.Diagnostics.DiagnosticListener):Microsoft.Extensions.Hosting.IHost (Tier1)
          20 (2.93 % of base) : 306630.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (Tier0-FullOpts)
          20 (0.54 % of base) : 596694.dasm - Moq.ExpressionExtensions:IsMatch(System.Linq.Expressions.Expression,byref):ubyte (Tier1)
          20 (0.35 % of base) : 597487.dasm - Moq.It:IsAny[System.Memory`1[ubyte]]():System.Memory`1[ubyte] (Tier1)
          20 (0.15 % of base) : 209142.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
          20 (0.16 % of base) : 524644.dasm - System.DefaultBinder:BindToMethod(int,System.Reflection.MethodBase[],byref,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],byref):System.Reflection.MethodBase:this (Tier1)
          20 (0.79 % of base) : 452053.dasm - System.Xml.Serialization.XmlSerializationILGen:.ctor(System.Xml.Serialization.TypeScope[],System.String,System.String):this (Tier1)
          14 (0.17 % of base) : 127447.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateInstance(System.IServiceProvider,System.Type,System.Object[]):System.Object (Tier1)
          14 (0.36 % of base) : 127802.dasm - Microsoft.Extensions.DependencyInjection.Tests.ServiceProviderContainerTests:MultipleServicesAreOrdered(int):this (Tier1)
          13 (1.74 % of base) : 747256.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
          13 (1.74 % of base) : 750536.dasm - System.Collections.Generic.ComparerHelpers:CreateDefaultEqualityComparer(System.Type):System.Object (Instrumented Tier1)
          13 (7.88 % of base) : 211712.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)

Top method improvements (bytes):
         -17 (-9.83 % of base) : 48006.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
         -17 (-9.83 % of base) : 721972.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
         -17 (-9.83 % of base) : 92892.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
          -9 (-15.79 % of base) : 656845.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
          -6 (-1.13 % of base) : 622209.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 634997.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 649293.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 621762.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 620557.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 647117.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 651241.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 651101.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.DateTime]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 651857.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.DateTimeOffset]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 651258.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Guid]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 652057.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[System.DateTimeOffset]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 652650.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.JsonElement]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 621350.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.ReferenceHandlerTests_IgnoreCycles+EmptyStruct]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 639326.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.ReferenceHandlerTests+JobStruct]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 649282.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.SimpleStruct]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 640093.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.TimeSpan]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)

Top method regressions (percentages):
          28 (9.79 % of base) : 122803.dasm - System.Linq.Enumerable+WhereArrayIterator`1[System.__Canon]:MoveNext():ubyte:this (Tier1-OSR)
          13 (7.88 % of base) : 211712.dasm - System.GC:AllocateUninitializedArray[int](int,ubyte):int[] (Instrumented Tier1)
          13 (7.88 % of base) : 70468.dasm - System.GC:AllocateUninitializedArray[ubyte](int,ubyte):ubyte[] (Instrumented Tier1)
          13 (7.88 % of base) : 89710.dasm - System.GC:AllocateUninitializedArray[ushort](int,ubyte):ushort[] (Instrumented Tier1)
          20 (4.02 % of base) : 127524.dasm - Microsoft.Extensions.DependencyInjection.ActivatorUtilities:CreateFactoryInternal(System.Type,System.Type[],byref,byref,byref) (Tier1)
          10 (3.91 % of base) : 315785.dasm - System.Globalization.CompareInfo:GetCompareInfo(int,System.Reflection.Assembly):System.Globalization.CompareInfo (Instrumented Tier1)
          10 (3.39 % of base) : 315786.dasm - System.Globalization.CompareInfo:GetCompareInfo(System.String,System.Reflection.Assembly):System.Globalization.CompareInfo (Instrumented Tier1)
          20 (2.93 % of base) : 306630.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (Tier0-FullOpts)
          10 (2.78 % of base) : 540733.dasm - System.Text.StringBuilder:AppendSpanFormattable[ulong](ulong):System.Text.StringBuilder:this (Instrumented Tier1)
          10 (2.60 % of base) : 540751.dasm - System.Text.StringBuilder:AppendSpanFormattable[System.Decimal](System.Decimal):System.Text.StringBuilder:this (Instrumented Tier1)
          10 (2.44 % of base) : 643053.dasm - System.Text.StringBuilder:AppendSpanFormattable[double](double):System.Text.StringBuilder:this (Instrumented Tier1)
          13 (2.38 % of base) : 336844.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
          13 (2.38 % of base) : 593087.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
          13 (2.38 % of base) : 597844.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
          13 (2.38 % of base) : 744015.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
          13 (2.38 % of base) : 747108.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
          13 (2.38 % of base) : 135192.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
          13 (2.38 % of base) : 255596.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
          13 (2.38 % of base) : 742104.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)
          13 (2.38 % of base) : 95812.dasm - System.Reflection.RuntimeConstructorInfo:ComputeAndUpdateInvocationFlags():uint:this (Instrumented Tier1)

Top method improvements (percentages):
          -9 (-15.79 % of base) : 656845.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (Tier1)
         -17 (-9.83 % of base) : 48006.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
         -17 (-9.83 % of base) : 721972.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
         -17 (-9.83 % of base) : 92892.dasm - Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider:get_IsEnabled():ubyte (Tier1)
          -3 (-1.27 % of base) : 408936.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (Tier1)
          -3 (-1.27 % of base) : 418026.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (Tier1)
          -3 (-1.27 % of base) : 571916.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (Tier1)
          -6 (-1.13 % of base) : 622209.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 634997.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[byte]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 649293.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[double]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 621762.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[float]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 620557.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[int]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 651241.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[long]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 651101.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.DateTime]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 651857.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.DateTimeOffset]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 651258.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Guid]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 652057.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Nullable`1[System.DateTimeOffset]]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 652650.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.JsonElement]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 621350.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.ReferenceHandlerTests_IgnoreCycles+EmptyStruct]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)
          -6 (-1.13 % of base) : 639326.dasm - System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1[System.Text.Json.Serialization.Tests.ReferenceHandlerTests+JobStruct]:ConfigureIgnoreCondition(System.Nullable`1[int]):this (Tier1)


librariestestsnotieredcompilation.run.linux.x64.Release.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 132523929 (overridden on cmd)
Total bytes of diff: 132542858 (overridden on cmd)
Total bytes of delta: 18929 (0.01 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
         202 : 262830.dasm (13.65 % of base)
         150 : 88653.dasm (1.73 % of base)
         150 : 88758.dasm (1.73 % of base)
         150 : 88762.dasm (1.73 % of base)
         150 : 88636.dasm (1.73 % of base)
          90 : 84222.dasm (1.74 % of base)
          90 : 84282.dasm (1.76 % of base)
          80 : 88767.dasm (1.54 % of base)
          80 : 88641.dasm (1.53 % of base)
          80 : 88751.dasm (1.54 % of base)
          80 : 84186.dasm (2.01 % of base)
          80 : 88622.dasm (1.53 % of base)
          72 : 89464.dasm (3.33 % of base)
          70 : 88759.dasm (1.59 % of base)
          70 : 88679.dasm (1.60 % of base)
          70 : 88760.dasm (1.60 % of base)
          70 : 88761.dasm (1.59 % of base)
          70 : 231617.dasm (1.43 % of base)
          70 : 87480.dasm (1.49 % of base)
          60 : 136592.dasm (2.14 % of base)

Top file improvements (bytes):
        -150 : 144814.dasm (-2.38 % of base)
         -10 : 45797.dasm (-0.35 % of base)
         -10 : 52432.dasm (-0.35 % of base)
         -10 : 5484.dasm (-0.30 % of base)
          -9 : 104205.dasm (-1.97 % of base)
          -9 : 104965.dasm (-1.96 % of base)
          -9 : 104029.dasm (-1.97 % of base)
          -9 : 105009.dasm (-1.97 % of base)
          -9 : 103309.dasm (-1.97 % of base)
          -9 : 105033.dasm (-1.97 % of base)
          -9 : 104913.dasm (-1.96 % of base)
          -9 : 104945.dasm (-1.97 % of base)
          -9 : 105057.dasm (-1.97 % of base)
          -9 : 105081.dasm (-1.96 % of base)
          -9 : 105101.dasm (-1.97 % of base)
          -9 : 105109.dasm (-1.97 % of base)
          -9 : 105153.dasm (-1.96 % of base)
          -9 : 105169.dasm (-1.97 % of base)
          -9 : 106109.dasm (-1.97 % of base)
          -9 : 106133.dasm (-1.97 % of base)

73 total files with Code Size differences (30 improved, 43 regressed), 20 unchanged.

Top method regressions (bytes):
         202 (13.65 % of base) : 262830.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:GetNumbersExpectedString(System.Text.Json.JsonWriterOptions,System.String,int[],uint[],long[],ulong[],float[],double[],System.Decimal[],ubyte):System.String (FullOpts)
         150 (1.73 % of base) : 88762.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeObject_RemovesProvider():this (FullOpts)
         150 (1.73 % of base) : 88636.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProvider_InvokeType_RemovesProvider():this (FullOpts)
         150 (1.73 % of base) : 88758.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeObject_RemovesProvider():this (FullOpts)
         150 (1.73 % of base) : 88653.dasm - System.ComponentModel.Tests.TypeDescriptorTests:RemoveProviderTransparent_InvokeType_RemovesProvider():this (FullOpts)
          90 (1.76 % of base) : 84282.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
          90 (1.74 % of base) : 84222.dasm - System.ComponentModel.Composition.ConstraintServicesTests:TryParseConstraint_ContractNameReverseOperatorEqualsAsConstraintArgument_CanParse():this (FullOpts)
          80 (2.01 % of base) : 84186.dasm - System.ComponentModel.Composition.DirectoryCatalogTests:GetExports():this (FullOpts)
          80 (1.53 % of base) : 88641.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
          80 (1.54 % of base) : 88751.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
          80 (1.53 % of base) : 88622.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObjectMultipleTimes_Refreshes():this (FullOpts)
          80 (1.54 % of base) : 88767.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeTypeMultipleTimes_Refreshes():this (FullOpts)
          72 (3.33 % of base) : 89464.dasm - System.Composition.Hosting.Providers.Metadata.MetadataViewProvider:GetMetadataViewProvider[int]():System.Func`2[System.Collections.Generic.IDictionary`2[System.String,System.Object],int] (FullOpts)
          70 (1.49 % of base) : 87480.dasm - System.ComponentModel.Tests.TypeDescriptionProviderTests:GetFullComponentName_InvokeWithCustomTypeDescriptor_ReturnsExpected(System.Object,System.String):this (FullOpts)
          70 (1.59 % of base) : 88759.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
          70 (1.60 % of base) : 88760.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProvider_InvokeType_GetProviderReturnsExpected():this (FullOpts)
          70 (1.59 % of base) : 88761.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeObject_GetProviderReturnsExpected():this (FullOpts)
          70 (1.60 % of base) : 88679.dasm - System.ComponentModel.Tests.TypeDescriptorTests:AddProviderTransparent_InvokeType_GetProviderReturnsExpected():this (FullOpts)
          70 (1.43 % of base) : 231617.dasm - System.Text.Tests.TranscodingStreamTests:Flush_FlushesInnerStreamButNotDecodedState():this (FullOpts)
          60 (2.14 % of base) : 136592.dasm - System.Linq.Tests.GroupJoinTests:OuterEmptyInnerNonEmpty():this (FullOpts)

Top method improvements (bytes):
        -150 (-2.38 % of base) : 144814.dasm - System.Buffers.Binary.Tests.BinaryReaderUnitTests:SpanWriteAndReadBigEndianHeterogeneousStruct():this (FullOpts)
         -10 (-0.35 % of base) : 45797.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -10 (-0.35 % of base) : 52432.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
         -10 (-0.30 % of base) : 5484.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -9 (-1.97 % of base) : 104205.dasm - Dynamic.Operator.Tests.AndEqualTypeTests+<>c__DisplayClass2_0:<Char>b__1():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 104029.dasm - Dynamic.Operator.Tests.AndEqualTypeTests+<>c__DisplayClass6_0:<Int>b__1():System.Object:this (FullOpts)
          -9 (-2.09 % of base) : 107461.dasm - Dynamic.Operator.Tests.DivideEqualLiftTests+<>c__DisplayClass10_0:<Short>b__3():System.Object:this (FullOpts)
          -9 (-2.09 % of base) : 107480.dasm - Dynamic.Operator.Tests.DivideEqualLiftTests+<>c__DisplayClass13_0:<ULong>b__2():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 106109.dasm - Dynamic.Operator.Tests.MinusEqualsTypeTests+<>c__DisplayClass8_0:<Object>b__3():System.Object:this (FullOpts)
          -9 (-2.09 % of base) : 115289.dasm - Dynamic.Operator.Tests.ShiftLeftEqualLiftTests+<>c__DisplayClass10_0:<Short>b__4():System.Object:this (FullOpts)
          -9 (-2.09 % of base) : 115199.dasm - Dynamic.Operator.Tests.ShiftLeftEqualLiftTests+<>c__DisplayClass9_0:<SByte>b__4():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 106133.dasm - Dynamic.Operator.Tests.ShiftLeftEqualTypeTests+<>c__DisplayClass10_0:<Short>b__1():System.Object:this (FullOpts)
          -9 (-2.09 % of base) : 114362.dasm - Dynamic.Operator.Tests.ShiftRightEqualLiftTests+<>c__DisplayClass10_0:<Short>b__4():System.Object:this (FullOpts)
          -9 (-2.09 % of base) : 114276.dasm - Dynamic.Operator.Tests.ShiftRightEqualLiftTests+<>c__DisplayClass9_0:<SByte>b__4():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 103309.dasm - Dynamic.Operator.Tests.TimesEqualTypeTests+<>c__DisplayClass11_0:<String>b__3():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 105109.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass13_0:<ULong>b__5():System.Object:this (FullOpts)
          -9 (-1.96 % of base) : 104913.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass14_0:<UShort>b__2():System.Object:this (FullOpts)
          -9 (-1.96 % of base) : 105081.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass2_0:<Char>b__2():System.Object:this (FullOpts)
          -9 (-1.96 % of base) : 104965.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass5_0:<Float>b__4():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 105169.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass8_0:<Object>b__13():System.Object:this (FullOpts)

Top method regressions (percentages):
          10 (38.46 % of base) : 177994.dasm - System.Reflection.Tests.AssemblyTests:GetExecutingAssembly():System.Reflection.Assembly (FullOpts)
          13 (30.95 % of base) : 200310.dasm - System.Tests.Types.GenericTypeParameter2Of2Tests:CreateType():System.Type:this (FullOpts)
          13 (30.23 % of base) : 35517.dasm - LightInject.ServiceContainer:<EmitNewInstance>g__IsNotServiceFactory|175_0(System.Type):ubyte (FullOpts)
          13 (25.00 % of base) : 185033.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumNames_TypeNotEnum_ThrowsArgumentException>b__16_0():System.Object:this (FullOpts)
          13 (25.00 % of base) : 184811.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumUnderlyingType_TypeNotEnum_ThrowsArgumentException>b__18_0():System.Object:this (FullOpts)
          13 (24.53 % of base) : 184955.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredEvent_NullName_ThrowsArgumentNullException>b__67_0():System.Object:this (FullOpts)
          13 (24.07 % of base) : 184966.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredField_NullName_ThrowsArgumentNullException>b__68_0():System.Object:this (FullOpts)
          13 (24.07 % of base) : 185012.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredMethod_NullName_ThrowsArgumentNullException>b__69_0():System.Object:this (FullOpts)
          13 (24.07 % of base) : 184778.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetDeclaredNestedType_NullName_ThrowsArgumentNullException>b__71_0():System.Object:this (FullOpts)
          13 (24.07 % of base) : 184986.dasm - System.Reflection.Tests.TypeInfoTests+<>c:<GetEnumName_Invalid>b__13_1():System.Object:this (FullOpts)
          13 (23.64 % of base) : 35518.dasm - LightInject.ServiceContainer:.cctor() (FullOpts)
          13 (23.64 % of base) : 35514.dasm - LightInject.ServiceFactoryLoader:.cctor() (FullOpts)
          13 (23.64 % of base) : 89827.dasm - Microsoft.Composition.Demos.ExtendedCollectionImports.Dictionaries.DictionaryExportDescriptorProvider:.cctor() (FullOpts)
          13 (23.64 % of base) : 29595.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
          13 (23.64 % of base) : 42124.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
          13 (23.64 % of base) : 89431.dasm - System.Composition.Hosting.Providers.Lazy.LazyExportDescriptorProvider:.cctor() (FullOpts)
          13 (23.64 % of base) : 29559.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
          13 (23.64 % of base) : 41951.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
          13 (23.64 % of base) : 89368.dasm - System.Composition.Hosting.Providers.Lazy.LazyWithMetadataExportDescriptorProvider:.cctor() (FullOpts)
          13 (23.64 % of base) : 89055.dasm - System.Composition.TypedParts.ActivationFeatures.PropertyInjectionFeature:.cctor() (FullOpts)

Top method improvements (percentages):
          -9 (-20.45 % of base) : 21355.dasm - Newtonsoft.Json.Serialization.JsonTypeReflector:get_DynamicCodeGeneration():ubyte (FullOpts)
          -2 (-3.70 % of base) : 158872.dasm - System.Net.WebSockets.ManagedWebSocket:SendAsync(System.ReadOnlyMemory`1[ubyte],int,ubyte,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask:this (FullOpts)
          -2 (-2.60 % of base) : 131187.dasm - System.CodeDom.Tests.IndentedTextWriterTests+IndicatingTextWriter:Write(ubyte):this (FullOpts)
        -150 (-2.38 % of base) : 144814.dasm - System.Buffers.Binary.Tests.BinaryReaderUnitTests:SpanWriteAndReadBigEndianHeterogeneousStruct():this (FullOpts)
          -2 (-2.20 % of base) : 35503.dasm - Autofac.Core.Resolving.Pipeline.DefaultResolveRequestContext:ChangeScope(Autofac.Core.ISharingLifetimeScope):this (FullOpts)
          -9 (-2.09 % of base) : 107461.dasm - Dynamic.Operator.Tests.DivideEqualLiftTests+<>c__DisplayClass10_0:<Short>b__3():System.Object:this (FullOpts)
          -9 (-2.09 % of base) : 107480.dasm - Dynamic.Operator.Tests.DivideEqualLiftTests+<>c__DisplayClass13_0:<ULong>b__2():System.Object:this (FullOpts)
          -9 (-2.09 % of base) : 115289.dasm - Dynamic.Operator.Tests.ShiftLeftEqualLiftTests+<>c__DisplayClass10_0:<Short>b__4():System.Object:this (FullOpts)
          -9 (-2.09 % of base) : 115199.dasm - Dynamic.Operator.Tests.ShiftLeftEqualLiftTests+<>c__DisplayClass9_0:<SByte>b__4():System.Object:this (FullOpts)
          -9 (-2.09 % of base) : 114362.dasm - Dynamic.Operator.Tests.ShiftRightEqualLiftTests+<>c__DisplayClass10_0:<Short>b__4():System.Object:this (FullOpts)
          -9 (-2.09 % of base) : 114276.dasm - Dynamic.Operator.Tests.ShiftRightEqualLiftTests+<>c__DisplayClass9_0:<SByte>b__4():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 104205.dasm - Dynamic.Operator.Tests.AndEqualTypeTests+<>c__DisplayClass2_0:<Char>b__1():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 104029.dasm - Dynamic.Operator.Tests.AndEqualTypeTests+<>c__DisplayClass6_0:<Int>b__1():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 106109.dasm - Dynamic.Operator.Tests.MinusEqualsTypeTests+<>c__DisplayClass8_0:<Object>b__3():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 106133.dasm - Dynamic.Operator.Tests.ShiftLeftEqualTypeTests+<>c__DisplayClass10_0:<Short>b__1():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 103309.dasm - Dynamic.Operator.Tests.TimesEqualTypeTests+<>c__DisplayClass11_0:<String>b__3():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 105109.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass13_0:<ULong>b__5():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 105169.dasm - Dynamic.Operator.Tests.XorEqualLiftTests+<>c__DisplayClass8_0:<Object>b__13():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 105057.dasm - Dynamic.Operator.Tests.XorEqualTypeTests+<>c__DisplayClass12_0:<UInt>b__1():System.Object:this (FullOpts)
          -9 (-1.97 % of base) : 105101.dasm - Dynamic.Operator.Tests.XorEqualTypeTests+<>c__DisplayClass14_0:<UShort>b__1():System.Object:this (FullOpts)


realworld.run.linux.x64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 13233730 (overridden on cmd)
Total bytes of diff: 13234125 (overridden on cmd)
Total bytes of delta: 395 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          60 : 32789.dasm (2.76 % of base)
          20 : 30209.dasm (0.58 % of base)
          20 : 32312.dasm (2.86 % of base)
          20 : 2204.dasm (2.93 % of base)
          20 : 31458.dasm (0.77 % of base)
          20 : 32189.dasm (2.62 % of base)
          20 : 32313.dasm (4.65 % of base)
          20 : 33232.dasm (3.00 % of base)
          13 : 12641.dasm (8.78 % of base)
          10 : 11547.dasm (7.69 % of base)
          10 : 2867.dasm (1.54 % of base)
          10 : 11219.dasm (0.63 % of base)
          10 : 3332.dasm (10.00 % of base)
          10 : 11240.dasm (2.89 % of base)
          10 : 17994.dasm (2.09 % of base)
          10 : 26452.dasm (7.69 % of base)
          10 : 32082.dasm (0.89 % of base)
          10 : 3295.dasm (23.26 % of base)
          10 : 32680.dasm (2.02 % of base)
           8 : 32920.dasm (0.30 % of base)

Top file improvements (bytes):
         -27 : 3305.dasm (-7.11 % of base)
         -10 : 19815.dasm (-0.32 % of base)
          -9 : 3273.dasm (-3.63 % of base)
          -4 : 15478.dasm (-0.04 % of base)
          -3 : 14917.dasm (-1.09 % of base)
          -3 : 21936.dasm (-0.15 % of base)
          -2 : 10422.dasm (-0.03 % of base)
          -2 : 17438.dasm (-0.44 % of base)
          -2 : 20542.dasm (-0.05 % of base)
          -2 : 15474.dasm (-0.10 % of base)
          -1 : 10427.dasm (-0.05 % of base)
          -1 : 3200.dasm (-0.02 % of base)
          -1 : 24182.dasm (-0.04 % of base)

38 total files with Code Size differences (13 improved, 25 regressed), 26 unchanged.

Top method regressions (bytes):
          60 (2.76 % of base) : 32789.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
          20 (2.93 % of base) : 2204.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (FullOpts)
          20 (3.00 % of base) : 33232.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
          20 (4.65 % of base) : 32313.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
          20 (2.86 % of base) : 32312.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
          20 (0.58 % of base) : 30209.dasm - System.Management.Automation.Language.Compiler:.cctor() (FullOpts)
          20 (0.77 % of base) : 31458.dasm - System.Management.Automation.LocationGlobber:ResolveDriveQualifiedPath(System.String,System.Management.Automation.CmdletProviderContext,ubyte,byref):System.Collections.ObjectModel.Collection`1[System.Management.Automation.PathInfo]:this (FullOpts)
          20 (2.62 % of base) : 32189.dasm - System.Runtime.CompilerServices.CallSiteBinder:Stitch[System.__Canon](System.Linq.Expressions.Expression,System.Runtime.CompilerServices.CallSiteBinder+LambdaSignature`1[System.__Canon]):System.Linq.Expressions.Expression`1[System.__Canon] (FullOpts)
          13 (8.78 % of base) : 12641.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
          10 (0.63 % of base) : 11219.dasm - BenchmarkDotNet.Portability.RuntimeInformation:GetNetCoreVersion():System.String (FullOpts)
          10 (2.89 % of base) : 11240.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
          10 (1.54 % of base) : 2867.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
          10 (2.02 % of base) : 32680.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
          10 (23.26 % of base) : 3295.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
          10 (10.00 % of base) : 3332.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
          10 (7.69 % of base) : 26452.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          10 (0.89 % of base) : 32082.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
          10 (2.09 % of base) : 17994.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
          10 (7.69 % of base) : 11547.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
           8 (0.30 % of base) : 32920.dasm - System.Management.Automation.MergedCommandParameterMetadata:GetMatchingParameter(System.String,ubyte,ubyte,System.Management.Automation.InvocationInfo):System.Management.Automation.MergedCompiledCommandParameter:this (FullOpts)

Top method improvements (bytes):
         -27 (-7.11 % of base) : 3305.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
         -10 (-0.32 % of base) : 19815.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -9 (-3.63 % of base) : 3273.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)
          -4 (-0.04 % of base) : 15478.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
          -3 (-0.15 % of base) : 21936.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceUserDefinedOperatorSymbolBase:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol]]:this (FullOpts)
          -3 (-1.09 % of base) : 14917.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -2 (-0.03 % of base) : 10422.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2269(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,FSharp.Compiler.TypedTree+TType,Microsoft.FSharp.Core.Unit) (FullOpts)
          -2 (-0.05 % of base) : 20542.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterConstraintClause]]:this (FullOpts)
          -2 (-0.44 % of base) : 17438.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
          -2 (-0.10 % of base) : 15474.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
          -1 (-0.02 % of base) : 3200.dasm - FSharp.Compiler.CompilerImports:TcConfig.TryResolveLibsUsingMSBuildRules.Static(FSharp.Compiler.CompilerConfig+TcConfig,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+AssemblyReference],FSharp.Compiler.Text.Range,FSharp.Compiler.CompilerImports+ResolveAssemblyReferenceMode):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerImports+AssemblyResolution],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+UnresolvedAssemblyReference]] (FullOpts)
          -1 (-0.05 % of base) : 10427.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2424-1(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Infos+MethInfo],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Infos+MethInfo],Microsoft.FSharp.Core.Unit) (FullOpts)
          -1 (-0.04 % of base) : 24182.dasm - Microsoft.CodeAnalysis.CSharp.Symbol:BindAttributes(Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax]],Microsoft.CodeAnalysis.CSharp.Binder):System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.CSharp.BoundAttribute]]:this (FullOpts)

Top method regressions (percentages):
          10 (23.26 % of base) : 3295.dasm - Microsoft.Build.Shared.FileUtilities:get_ExecutingAssemblyPath():System.String (FullOpts)
          10 (10.00 % of base) : 3332.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_FrameworkCurrentPath():System.String (FullOpts)
          13 (8.78 % of base) : 12641.dasm - Microsoft.ML.Data.PrimitiveDataViewType:.ctor(System.Type):this (FullOpts)
          10 (7.69 % of base) : 26452.dasm - Microsoft.CodeAnalysis.CSharp.ErrorFacts:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
          10 (7.69 % of base) : 11547.dasm - SixLabors.ImageSharp.Tests.TestEnvironment:.cctor() (FullOpts)
          20 (4.65 % of base) : 32313.dasm - System.Linq.Expressions.TypeBinaryExpression:ByValParameterTypeEqual(System.Linq.Expressions.ParameterExpression):System.Linq.Expressions.Expression:this (FullOpts)
          20 (3.00 % of base) : 33232.dasm - System.Dynamic.BindingRestrictions+InstanceRestriction:GetExpression():System.Linq.Expressions.Expression:this (FullOpts)
          20 (2.93 % of base) : 2204.dasm - Microsoft.FSharp.Reflection.FSharpValue:MakeFunction(System.Type,Microsoft.FSharp.Core.FSharpFunc`2[System.Object,System.Object]):System.Object (FullOpts)
          10 (2.89 % of base) : 11240.dasm - BenchmarkDotNet.Properties.BenchmarkDotNetInfo+<>c:<.cctor>b__28_0():BenchmarkDotNet.Properties.BenchmarkDotNetInfo:this (FullOpts)
          20 (2.86 % of base) : 32312.dasm - System.Linq.Expressions.TypeBinaryExpression:ReduceTypeEqual():System.Linq.Expressions.Expression:this (FullOpts)
          60 (2.76 % of base) : 32789.dasm - System.Management.Automation.CommandProcessor:.cctor() (FullOpts)
          20 (2.62 % of base) : 32189.dasm - System.Runtime.CompilerServices.CallSiteBinder:Stitch[System.__Canon](System.Linq.Expressions.Expression,System.Runtime.CompilerServices.CallSiteBinder+LambdaSignature`1[System.__Canon]):System.Linq.Expressions.Expression`1[System.__Canon] (FullOpts)
          10 (2.09 % of base) : 17994.dasm - Roslyn.Utilities.UICultureUtilities:TryGetCurrentUICultureSetter(byref):ubyte (FullOpts)
          10 (2.02 % of base) : 32680.dasm - Microsoft.ApplicationInsights.Metrics.MetricSeriesConfigurationForMeasurement:.cctor() (FullOpts)
           3 (1.81 % of base) : 23048.dasm - Microsoft.CodeAnalysis.CSharp.LocalDataFlowPass`2[Microsoft.CodeAnalysis.CSharp.NullableWalker+LocalState,System.__Canon]:HasInitializer(Microsoft.CodeAnalysis.CSharp.Symbol):ubyte (FullOpts)
           3 (1.78 % of base) : 20984.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourcePropertySymbolBase:GetAttributesBag():Microsoft.CodeAnalysis.CustomAttributesBag`1[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData]:this (FullOpts)
          10 (1.54 % of base) : 2867.dasm - Internal.Utilities.FSharpEnvironment:getDotnetHostPath():Microsoft.FSharp.Core.FSharpOption`1[System.String] (FullOpts)
           3 (1.00 % of base) : 23886.dasm - Microsoft.CodeAnalysis.CSharp.NullableWalker:Join(byref):this (FullOpts)
          10 (0.89 % of base) : 32082.dasm - Microsoft.PowerShell.ToStringCodeMethods:Type(System.Type,ubyte,System.String):System.String (FullOpts)
          20 (0.77 % of base) : 31458.dasm - System.Management.Automation.LocationGlobber:ResolveDriveQualifiedPath(System.String,System.Management.Automation.CmdletProviderContext,ubyte,byref):System.Collections.ObjectModel.Collection`1[System.Management.Automation.PathInfo]:this (FullOpts)

Top method improvements (percentages):
         -27 (-7.11 % of base) : 3305.dasm - Microsoft.Build.Shared.BuildEnvironmentHelper:CheckIfRunningTests():ubyte (FullOpts)
          -9 (-3.63 % of base) : 3273.dasm - Microsoft.Build.Shared.NativeMethodsShared:get_IsMono():ubyte (FullOpts)
          -3 (-1.09 % of base) : 14917.dasm - System.Net.Http.HttpConnectionPool+RequestQueue`1[System.__Canon]:PruneCompletedRequestsFromHeadOfQueue(System.Net.Http.HttpConnectionPool):this (FullOpts)
          -2 (-0.44 % of base) : 17438.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser:ParseInterpolatedStringToken():Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.ExpressionSyntax:this (FullOpts)
         -10 (-0.32 % of base) : 19815.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DetectAttributeAndOptionConflicts(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):this (FullOpts)
          -3 (-0.15 % of base) : 21936.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceUserDefinedOperatorSymbolBase:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol]]:this (FullOpts)
          -2 (-0.10 % of base) : 15474.dasm - System.Net.Http.HttpConnectionPool:ReturnHttp11Connection(System.Net.Http.HttpConnection,ubyte,System.Net.Http.HttpConnectionPool+HttpConnectionWaiter`1[System.Net.Http.HttpConnection]):this (FullOpts)
          -1 (-0.05 % of base) : 10427.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2424-1(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Infos+MethInfo],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Infos+MethInfo],Microsoft.FSharp.Core.Unit) (FullOpts)
          -2 (-0.05 % of base) : 20542.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceOrdinaryMethodSymbol:MakeParametersAndBindReturnType(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):System.ValueTuple`3[Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.ParameterSymbol],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.CSharp.Symbols.TypeParameterConstraintClause]]:this (FullOpts)
          -1 (-0.04 % of base) : 24182.dasm - Microsoft.CodeAnalysis.CSharp.Symbol:BindAttributes(Roslyn.Utilities.OneOrMany`1[Microsoft.CodeAnalysis.SyntaxList`1[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax]],Microsoft.CodeAnalysis.CSharp.Binder):System.Collections.Immutable.ImmutableArray`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData,Microsoft.CodeAnalysis.CSharp.BoundAttribute]]:this (FullOpts)
          -4 (-0.04 % of base) : 15478.dasm - System.Net.Http.HttpConnection+<SendAsync>d__57:MoveNext():this (FullOpts)
          -2 (-0.03 % of base) : 10422.dasm - FSharp.Compiler.PostTypeCheckSemanticChecks:CheckEntityDefn$cont@2269(FSharp.Compiler.PostTypeCheckSemanticChecks+cenv,FSharp.Compiler.TypedTree+Entity,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.Text.Range,FSharp.Compiler.TypedTree+TType,Microsoft.FSharp.Core.Unit) (FullOpts)
          -1 (-0.02 % of base) : 3200.dasm - FSharp.Compiler.CompilerImports:TcConfig.TryResolveLibsUsingMSBuildRules.Static(FSharp.Compiler.CompilerConfig+TcConfig,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+AssemblyReference],FSharp.Compiler.Text.Range,FSharp.Compiler.CompilerImports+ResolveAssemblyReferenceMode):System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerImports+AssemblyResolution],Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.CompilerConfig+UnresolvedAssemblyReference]] (FullOpts)


smoke_tests.nativeaot.linux.x64.checked.mch

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


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 4251108 (overridden on cmd)
Total bytes of diff: 4251208 (overridden on cmd)
Total bytes of delta: 100 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.

Detail diffs



Top file regressions (bytes):
          25 : 20329.dasm (9.19 % of base)
          25 : 272.dasm (9.19 % of base)
          25 : 2981.dasm (9.19 % of base)
          25 : 23126.dasm (9.19 % of base)

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

Top method regressions (bytes):
          25 (9.19 % of base) : 20329.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
          25 (9.19 % of base) : 272.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
          25 (9.19 % of base) : 2981.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
          25 (9.19 % of base) : 23126.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)

Top method regressions (percentages):
          25 (9.19 % of base) : 20329.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
          25 (9.19 % of base) : 272.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
          25 (9.19 % of base) : 2981.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)
          25 (9.19 % of base) : 23126.dasm - System.Runtime.DispatchResolve:FindInterfaceMethodImplementationTarget(ulong,ulong,ushort,ulong):long (FullOpts)

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