Assembly Diffs
linux arm64
Diffs are based on 2,507,317 contexts (1,007,092 MinOpts, 1,500,225 FullOpts).
MISSED contexts: 1 (0.00%)
Overall (-656 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
benchmarks.run_pgo.linux.arm64.checked.mch |
80,093,044 |
-8 |
coreclr_tests.run.linux.arm64.checked.mch |
508,749,628 |
+0 |
libraries_tests.run.linux.arm64.Release.mch |
395,710,340 |
-648 |
FullOpts (-656 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
benchmarks.run_pgo.linux.arm64.checked.mch |
54,158,260 |
-8 |
coreclr_tests.run.linux.arm64.checked.mch |
160,601,476 |
+0 |
libraries_tests.run.linux.arm64.Release.mch |
180,578,388 |
-648 |
Example diffs
benchmarks.run_pgo.linux.arm64.checked.mch
-4 (-1.08%) : 92308.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
@@ -54,7 +54,7 @@ G_M4144_IG02: ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, by
add w7, w6, w7
sub w7, w7, #1
ldr w9, [x1, #0x10]
- b G_M4144_IG10
+ b G_M4144_IG08
;; size=24 bbWeight=1 PerfScore 11.00
G_M4144_IG03: ; bbWeight=0.82, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
ldr w4, [x1, #0x1C]
@@ -64,51 +64,43 @@ G_M4144_IG03: ; bbWeight=0.82, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {},
G_M4144_IG04: ; bbWeight=1.00, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
add w5, w5, #1
cmp w4, w5
- bge G_M4144_IG07
+ blt G_M4144_IG14
;; size=12 bbWeight=1.00 PerfScore 2.00
-G_M4144_IG05: ; bbWeight=0.05, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
- b G_M4144_IG15
- ;; size=4 bbWeight=0.05 PerfScore 0.05
-G_M4144_IG06: ; bbWeight=0.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
- ldr w5, [x1, #0x1C]
- cmp w4, w5
- blt G_M4144_IG15
- ;; size=12 bbWeight=0.10 PerfScore 0.45
-G_M4144_IG07: ; bbWeight=0.91, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG05: ; bbWeight=0.91, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
ldr w10, [x1, #0x20]
cmp w3, w10
blt G_M4144_IG04
;; size=12 bbWeight=0.91 PerfScore 4.10
-G_M4144_IG08: ; bbWeight=0.46, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG06: ; bbWeight=0.46, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
mov w4, w10
;; size=4 bbWeight=0.46 PerfScore 0.23
-G_M4144_IG09: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG07: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
sxtw w3, w6
;; size=4 bbWeight=9.10 PerfScore 4.55
-G_M4144_IG10: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG08: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
cmp w7, w3
- blt G_M4144_IG13
+ blt G_M4144_IG11
;; size=8 bbWeight=9.10 PerfScore 13.65
-G_M4144_IG11: ; bbWeight=8.27, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG09: ; bbWeight=8.27, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
ldr w10, [x2, #0x1C]
sub w10, w5, w10
ldr w11, [x2, #0x10]
;; size=12 bbWeight=8.27 PerfScore 53.76
-G_M4144_IG12: ; bbWeight=90.90, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG10: ; bbWeight=90.90, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
sxtw w13, w10
cmp w13, w11
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
ldr w14, [x2, #0x14]
ldr w12, [x2, #0x20]
sub w12, w4, w12
cmp w12, w14
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
madd w13, w13, w14, w12
ldr w14, [x2, #0x18]
ldr w12, [x2, #0x24]
sub w12, w3, w12
cmp w12, w14
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
madd w13, w13, w14, w12
ubfiz x13, x13, #2, #32
add x13, x13, #40
@@ -116,17 +108,17 @@ G_M4144_IG12: ; bbWeight=90.90, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}
sub w14, w5, w14
ldp w12, w15, [x1, #0x10]
cmp w14, w12
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
ldr w12, [x1, #0x20]
sub w12, w4, w12
cmp w12, w15
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
madd w14, w14, w15, w12
ldr w12, [x1, #0x18]
ldr w15, [x1, #0x24]
sub w15, w3, w15
cmp w15, w12
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
madd w14, w14, w12, w15
ubfiz x14, x14, #2, #32
add x14, x14, #40
@@ -134,24 +126,29 @@ G_M4144_IG12: ; bbWeight=90.90, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}
str w14, [x2, x13]
add w3, w3, #1
cmp w7, w3
- bge G_M4144_IG12
+ bge G_M4144_IG10
;; size=160 bbWeight=90.90 PerfScore 5090.46
-G_M4144_IG13: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG11: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
add w4, w4, #1
ldr w3, [x1, #0x20]
add w3, w3, w8
sub w3, w3, #1
cmp w3, w4
- bge G_M4144_IG09
+ bge G_M4144_IG07
;; size=24 bbWeight=9.10 PerfScore 54.59
-G_M4144_IG14: ; bbWeight=0.82, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG12: ; bbWeight=0.82, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
b G_M4144_IG03
;; size=4 bbWeight=0.82 PerfScore 0.82
-G_M4144_IG15: ; bbWeight=0.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG13: ; bbWeight=0.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+ ldr w5, [x1, #0x1C]
+ cmp w4, w5
+ bge G_M4144_IG05
+ ;; size=12 bbWeight=0.10 PerfScore 0.45
+G_M4144_IG14: ; bbWeight=0.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
sub w0, w0, #1
- cbnz w0, G_M4144_IG06
+ cbnz w0, G_M4144_IG13
;; size=8 bbWeight=0.10 PerfScore 0.15
-G_M4144_IG16: ; bbWeight=0, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG15: ; bbWeight=0, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
mov x0, x1
; gcrRegs +[x0]
mov x1, x2
@@ -164,18 +161,18 @@ G_M4144_IG16: ; bbWeight=0, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, by
; gcrRegs -[x0-x1]
; gcr arg pop 0
;; size=28 bbWeight=0 PerfScore 0.00
-G_M4144_IG17: ; bbWeight=0, epilog, nogc, extend
+G_M4144_IG16: ; bbWeight=0, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
add sp, sp, #80
ret lr
;; size=12 bbWeight=0 PerfScore 0.00
-G_M4144_IG18: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M4144_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 372, prolog size 24, PerfScore 5249.58, instruction count 93, allocated bytes for code 372 (MethodHash=aa90efcf) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
+; Total bytes of code 368, prolog size 24, PerfScore 5249.53, instruction count 92, allocated bytes for code 368 (MethodHash=aa90efcf) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
; ============================================================
Unwind Info:
@@ -186,7 +183,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 93 (0x0005d) Actual length = 372 (0x000174)
+ Function Length : 92 (0x0005c) Actual length = 368 (0x000170)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-16 (-0.28%) : 84970.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
@@ -139,7 +139,7 @@
; V127 tmp121 [V127,T121] ( 2, 0 ) ref -> x1 class-hnd single-def "spilling QMark2" <Microsoft.CodeAnalysis.CSharp.Syntax.QualifiedNameSyntax>
;* V128 tmp122 [V128 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V129 tmp123 [V129 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
-; V130 tmp124 [V130,T09] ( 41, 1.33) ref -> x0 "Single return block return value"
+; V130 tmp124 [V130,T09] ( 42, 1.33) ref -> x0 "Single return block return value"
; V131 tmp125 [V131,T122] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V132 tmp126 [V132,T123] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V133 tmp127 [V133,T124] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
@@ -282,7 +282,7 @@ G_M29879_IG09: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
; gcrRegs -[x0] +[x19-x21]
mov w1, #0xD1FFAB1E
cmp w24, w1
- bne G_M29879_IG158
+ bne G_M29879_IG157
b G_M29879_IG137
;; size=16 bbWeight=0 PerfScore 0.00
G_M29879_IG10: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
@@ -291,8 +291,8 @@ G_M29879_IG10: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
beq G_M29879_IG79
mov w1, #0xD1FFAB1E
cmp w24, w1
- bne G_M29879_IG158
- b G_M29879_IG149
+ bne G_M29879_IG157
+ b G_M29879_IG148
;; size=28 bbWeight=0 PerfScore 0.00
G_M29879_IG11: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
mov w1, #0xD1FFAB1E
@@ -312,16 +312,16 @@ G_M29879_IG11: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
G_M29879_IG12: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
mov w1, #0xD1FFAB1E
cmp w24, w1
- bne G_M29879_IG158
- b G_M29879_IG155
+ bne G_M29879_IG157
+ b G_M29879_IG154
;; size=16 bbWeight=0 PerfScore 0.00
G_M29879_IG13: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
mov w1, #0xD1FFAB1E
cmp w24, w1
- beq G_M29879_IG145
+ beq G_M29879_IG144
mov w1, #0xD1FFAB1E
cmp w24, w1
- bne G_M29879_IG158
+ bne G_M29879_IG157
b G_M29879_IG130
;; size=28 bbWeight=0 PerfScore 0.00
G_M29879_IG14: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
@@ -2291,24 +2291,19 @@ G_M29879_IG138: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
- ;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG139: ; bbWeight=0, epilog, nogc, extend
- ldr x25, [sp, #0x78]
- ldp x23, x24, [sp, #0x68]
- ldp x21, x22, [sp, #0x58]
- ldp x19, x20, [sp, #0x48]
- ldp fp, lr, [sp], #0x80
- br x3
+ blr x3
+ ; gcrRegs -[x1-x2 x19-x21]
; gcr arg pop 0
- ;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG140: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
- ; gcrRegs -[x0-x2]
+ b G_M29879_IG07
+ ;; size=36 bbWeight=0 PerfScore 0.00
+G_M29879_IG139: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs -[x0] +[x19-x21]
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
- beq G_M29879_IG141
+ beq G_M29879_IG140
mov x0, x1
mov x1, x19
; gcrRegs +[x1]
@@ -2317,7 +2312,7 @@ G_M29879_IG140: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
brk_unix #0
;; size=40 bbWeight=0 PerfScore 0.00
-G_M29879_IG141: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M29879_IG140: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x0] +[x19-x21]
mov x1, x19
; gcrRegs +[x1]
@@ -2330,7 +2325,7 @@ G_M29879_IG141: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG142: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG141: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2339,7 +2334,7 @@ G_M29879_IG142: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG143: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M29879_IG142: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[x0-x2]
mov x0, x20
; gcrRegs +[x0]
@@ -2352,7 +2347,7 @@ G_M29879_IG143: ; bbWeight=0, gcVars=000000000000000000000000000000000000
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG144: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG143: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2361,7 +2356,7 @@ G_M29879_IG144: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG145: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M29879_IG144: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[x0-x2]
mov x0, x20
; gcrRegs +[x0]
@@ -2374,7 +2369,7 @@ G_M29879_IG145: ; bbWeight=0, gcVars=000000000000000000000000000000000000
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG146: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG145: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2383,7 +2378,7 @@ G_M29879_IG146: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG147: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M29879_IG146: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[x0-x2]
mov x0, x20
; gcrRegs +[x0]
@@ -2396,7 +2391,7 @@ G_M29879_IG147: ; bbWeight=0, gcVars=000000000000000000000000000000000000
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG148: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG147: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2405,14 +2400,14 @@ G_M29879_IG148: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG149: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M29879_IG148: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[x0-x2]
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
- beq G_M29879_IG150
+ beq G_M29879_IG149
mov x0, x1
mov x1, x19
; gcrRegs +[x1]
@@ -2421,7 +2416,7 @@ G_M29879_IG149: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
brk_unix #0
;; size=40 bbWeight=0 PerfScore 0.00
-G_M29879_IG150: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M29879_IG149: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x0] +[x19-x21]
mov x1, x19
; gcrRegs +[x1]
@@ -2434,7 +2429,7 @@ G_M29879_IG150: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG151: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG150: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2443,14 +2438,14 @@ G_M29879_IG151: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG152: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M29879_IG151: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[x0-x2]
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
- beq G_M29879_IG153
+ beq G_M29879_IG152
mov x0, x1
mov x1, x19
; gcrRegs +[x1]
@@ -2459,7 +2454,7 @@ G_M29879_IG152: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
brk_unix #0
;; size=40 bbWeight=0 PerfScore 0.00
-G_M29879_IG153: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M29879_IG152: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x0] +[x19-x21]
mov x1, x19
; gcrRegs +[x1]
@@ -2472,7 +2467,7 @@ G_M29879_IG153: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG154: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG153: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2481,14 +2476,14 @@ G_M29879_IG154: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG155: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M29879_IG154: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[x0-x2]
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
- beq G_M29879_IG156
+ beq G_M29879_IG155
mov x0, x1
mov x1, x19
; gcrRegs +[x1]
@@ -2497,7 +2492,7 @@ G_M29879_IG155: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
brk_unix #0
;; size=40 bbWeight=0 PerfScore 0.00
-G_M29879_IG156: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M29879_IG155: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x0] +[x19-x21]
mov x1, x19
; gcrRegs +[x1]
...
+0 (0.00%) : 80852.dasm - Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int (Tier1)
@@ -169,14 +169,14 @@ G_M6839_IG06: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldr w0, [x0, #0x08]
; gcrRegs -[x0]
cmp w0, #0
- ble G_M6839_IG21
+ ble G_M6839_IG20
;; size=96 bbWeight=0.00 PerfScore 0.08
G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
ldr x0, [x19, #0x10]
; gcrRegs +[x0]
ldr w1, [x0, #0x08]
cmp w21, w1
- bhs G_M6839_IG12
+ bhs G_M6839_IG11
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -188,40 +188,40 @@ G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldp x0, x1, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
sub x2, x0, x1
cmp w2, #3
- blt G_M6839_IG17
+ blt G_M6839_IG16
cmp x1, x0
- beq G_M6839_IG16
+ beq G_M6839_IG15
add x0, x1, #1
str x0, [fp, #0x48] // [V05 loc1+0x18]
ldrb w0, [x1]
ldr w23, [x22, #0x08]
cmp w23, #0
- bls G_M6839_IG12
+ bls G_M6839_IG11
ldrb w1, [x22, #0x10]
cmp w0, w1
- bne G_M6839_IG17
+ bne G_M6839_IG16
ldp x1, x0, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
cmp x0, x1
- beq G_M6839_IG16
+ beq G_M6839_IG15
add x1, x0, #1
str x1, [fp, #0x48] // [V05 loc1+0x18]
ldrb w0, [x0]
cmp w23, #1
- bls G_M6839_IG12
+ bls G_M6839_IG11
ldrb w1, [x22, #0x11]
cmp w0, w1
- bne G_M6839_IG17
+ bne G_M6839_IG16
ldp x1, x0, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
cmp x0, x1
- beq G_M6839_IG16
+ beq G_M6839_IG15
add x1, x0, #1
str x1, [fp, #0x48] // [V05 loc1+0x18]
ldrb w0, [x0]
cmp w23, #2
- bls G_M6839_IG12
+ bls G_M6839_IG11
ldrb w1, [x22, #0x12]
cmp w0, w1
- bne G_M6839_IG17
+ bne G_M6839_IG16
mov w24, #3
cmp w23, #3
ble G_M6839_IG10
@@ -246,7 +246,7 @@ G_M6839_IG08: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=8000
mov w1, #64
cmp w0, #29
ccmp w0, w1, 0, ne
- beq G_M6839_IG13
+ beq G_M6839_IG12
;; size=68 bbWeight=0.00 PerfScore 0.05
G_M6839_IG09: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
add w24, w24, #1
@@ -257,20 +257,18 @@ G_M6839_IG10: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
; gcrRegs -[x22]
ldp x0, x1, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
sub x0, x0, x1
- cbnz w0, G_M6839_IG17
+ cbnz w0, G_M6839_IG16
cmp w23, w24
- bne G_M6839_IG17
- ;; size=20 bbWeight=0.00 PerfScore 0.02
-G_M6839_IG11: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ bne G_M6839_IG16
+ b G_M6839_IG18
+ ;; size=24 bbWeight=0.00 PerfScore 0.02
+G_M6839_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20]
; byrRegs -[x19]
- b G_M6839_IG19
- ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG12: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG12: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
; gcrRegs +[x20 x22]
; byrRegs +[x19]
add x0, fp, #48 // [V05 loc1]
@@ -284,7 +282,7 @@ G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
lsr w1, w1, #24
uxtb w25, w1
cmp w25, #2
- bne G_M6839_IG14
+ bne G_M6839_IG13
movz x1, #0xD1FFAB1E // code for System.Reflection.Metadata.TypeDefinitionHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeDefinitionHandle
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
@@ -330,9 +328,9 @@ G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
blr x1
; gcr arg pop 0
sxtw w1, w0
- b G_M6839_IG15
+ b G_M6839_IG14
;; size=192 bbWeight=0 PerfScore 0.00
-G_M6839_IG14: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
cmp w25, #1
bne G_M6839_IG10
movz x1, #0xD1FFAB1E // code for System.Reflection.Metadata.TypeReferenceHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeReferenceHandle
@@ -381,7 +379,7 @@ G_M6839_IG14: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
; gcr arg pop 0
sxtw w1, w0
;; size=160 bbWeight=0 PerfScore 0.00
-G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG14: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
movz x0, #0xD1FFAB1E // box for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -390,7 +388,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
ldr x0, [x0, #0x08]
add w2, w24, #1
cmp w2, w23
- bhs G_M6839_IG12
+ bhs G_M6839_IG11
add x2, x22, #16
; byrRegs +[x2]
add w3, w24, #1
@@ -398,7 +396,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
; byrRegs -[x2]
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M6839_IG12
+ bhs G_M6839_IG11
mov w3, #24
mov x4, #16
umaddl x2, w2, w3, x4
@@ -436,7 +434,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
add w24, w24, #1
b G_M6839_IG09
;; size=156 bbWeight=0 PerfScore 0.00
-G_M6839_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20 x22]
; byrRegs -[x19]
movz x0, #0xD1FFAB1E // code for System.Reflection.Throw:OutOfBounds()
@@ -447,7 +445,7 @@ G_M6839_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG16: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
; gcrRegs +[x20]
; byrRegs +[x19]
add w21, w21, #1
@@ -456,17 +454,17 @@ G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldr w0, [x0, #0x08]
; gcrRegs -[x0]
cmp w0, w21
- ble G_M6839_IG21
+ ble G_M6839_IG20
;; size=20 bbWeight=0.00 PerfScore 0.02
-G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref
+G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref
b G_M6839_IG07
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20]
; byrRegs -[x19]
mov w0, w21
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG20: ; bbWeight=0.00, epilog, nogc, extend
+G_M6839_IG19: ; bbWeight=0.00, epilog, nogc, extend
ldp x25, x26, [sp, #0x90]
ldp x23, x24, [sp, #0x80]
ldp x21, x22, [sp, #0x70]
@@ -474,10 +472,10 @@ G_M6839_IG20: ; bbWeight=0.00, epilog, nogc, extend
ldp fp, lr, [sp], #0xA0
ret lr
;; size=24 bbWeight=0.00 PerfScore 0.02
-G_M6839_IG21: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M6839_IG20: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
movn w0, #0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG22: ; bbWeight=0, epilog, nogc, extend
+G_M6839_IG21: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x90]
ldp x23, x24, [sp, #0x80]
ldp x21, x22, [sp, #0x70]
@@ -485,7 +483,7 @@ G_M6839_IG22: ; bbWeight=0, epilog, nogc, extend
ldp fp, lr, [sp], #0xA0
ret lr
;; size=24 bbWeight=0 PerfScore 0.00
-G_M6839_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M6839_IG22: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
stp fp, lr, [sp, #-0x60]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
@@ -494,10 +492,10 @@ G_M6839_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x3, fp, #160
str x3, [sp, #0x18]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M6839_IG24: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
- adr x0, [G_M6839_IG21]
+G_M6839_IG23: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+ adr x0, [G_M6839_IG20]
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG25: ; bbWeight=0, funclet epilog, nogc, extend
+G_M6839_IG24: ; bbWeight=0, funclet epilog, nogc, extend
ldp x25, x26, [sp, #0x50]
ldp x23, x24, [sp, #0x40]
ldp x21, x22, [sp, #0x30]
@@ -560,4 +558,4 @@ Unwind Info:
*************** EH table for Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int
1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M6839_IG06..G_M6839_IG19) handled by [G_M6839_IG23..END) (class: 1000150)
+EH#0: try [G_M6839_IG06..G_M6839_IG18) handled by [G_M6839_IG22..END) (class: 1000150)
+0 (0.00%) : 97104.dasm - Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int (Tier1)
@@ -169,14 +169,14 @@ G_M6839_IG06: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldr w0, [x0, #0x08]
; gcrRegs -[x0]
cmp w0, #0
- ble G_M6839_IG21
+ ble G_M6839_IG20
;; size=96 bbWeight=0.00 PerfScore 0.04
G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
ldr x0, [x19, #0x10]
; gcrRegs +[x0]
ldr w1, [x0, #0x08]
cmp w21, w1
- bhs G_M6839_IG12
+ bhs G_M6839_IG11
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -188,40 +188,40 @@ G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldp x0, x1, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
sub x2, x0, x1
cmp w2, #3
- blt G_M6839_IG17
+ blt G_M6839_IG16
cmp x1, x0
- beq G_M6839_IG16
+ beq G_M6839_IG15
add x0, x1, #1
str x0, [fp, #0x48] // [V05 loc1+0x18]
ldrb w0, [x1]
ldr w23, [x22, #0x08]
cmp w23, #0
- bls G_M6839_IG12
+ bls G_M6839_IG11
ldrb w1, [x22, #0x10]
cmp w0, w1
- bne G_M6839_IG17
+ bne G_M6839_IG16
ldp x1, x0, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
cmp x0, x1
- beq G_M6839_IG16
+ beq G_M6839_IG15
add x1, x0, #1
str x1, [fp, #0x48] // [V05 loc1+0x18]
ldrb w0, [x0]
cmp w23, #1
- bls G_M6839_IG12
+ bls G_M6839_IG11
ldrb w1, [x22, #0x11]
cmp w0, w1
- bne G_M6839_IG17
+ bne G_M6839_IG16
ldp x1, x0, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
cmp x0, x1
- beq G_M6839_IG16
+ beq G_M6839_IG15
add x1, x0, #1
str x1, [fp, #0x48] // [V05 loc1+0x18]
ldrb w0, [x0]
cmp w23, #2
- bls G_M6839_IG12
+ bls G_M6839_IG11
ldrb w1, [x22, #0x12]
cmp w0, w1
- bne G_M6839_IG17
+ bne G_M6839_IG16
mov w24, #3
cmp w23, #3
ble G_M6839_IG10
@@ -246,7 +246,7 @@ G_M6839_IG08: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=8000
mov w1, #64
cmp w0, #29
ccmp w0, w1, 0, ne
- beq G_M6839_IG13
+ beq G_M6839_IG12
;; size=68 bbWeight=0.00 PerfScore 0.03
G_M6839_IG09: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
add w24, w24, #1
@@ -257,20 +257,18 @@ G_M6839_IG10: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
; gcrRegs -[x22]
ldp x0, x1, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
sub x0, x0, x1
- cbnz w0, G_M6839_IG17
+ cbnz w0, G_M6839_IG16
cmp w23, w24
- bne G_M6839_IG17
- ;; size=20 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG11: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ bne G_M6839_IG16
+ b G_M6839_IG18
+ ;; size=24 bbWeight=0.00 PerfScore 0.01
+G_M6839_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20]
; byrRegs -[x19]
- b G_M6839_IG19
- ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG12: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG12: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
; gcrRegs +[x20 x22]
; byrRegs +[x19]
add x0, fp, #48 // [V05 loc1]
@@ -284,7 +282,7 @@ G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
lsr w1, w1, #24
uxtb w25, w1
cmp w25, #2
- bne G_M6839_IG14
+ bne G_M6839_IG13
movz x1, #0xD1FFAB1E // code for System.Reflection.Metadata.TypeDefinitionHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeDefinitionHandle
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
@@ -330,9 +328,9 @@ G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
blr x1
; gcr arg pop 0
sxtw w1, w0
- b G_M6839_IG15
+ b G_M6839_IG14
;; size=192 bbWeight=0 PerfScore 0.00
-G_M6839_IG14: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
cmp w25, #1
bne G_M6839_IG10
movz x1, #0xD1FFAB1E // code for System.Reflection.Metadata.TypeReferenceHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeReferenceHandle
@@ -381,7 +379,7 @@ G_M6839_IG14: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
; gcr arg pop 0
sxtw w1, w0
;; size=160 bbWeight=0 PerfScore 0.00
-G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG14: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
movz x0, #0xD1FFAB1E // box for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -390,7 +388,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
ldr x0, [x0, #0x08]
add w2, w24, #1
cmp w2, w23
- bhs G_M6839_IG12
+ bhs G_M6839_IG11
add x2, x22, #16
; byrRegs +[x2]
add w3, w24, #1
@@ -398,7 +396,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
; byrRegs -[x2]
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M6839_IG12
+ bhs G_M6839_IG11
mov w3, #24
mov x4, #16
umaddl x2, w2, w3, x4
@@ -436,7 +434,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
add w24, w24, #1
b G_M6839_IG09
;; size=156 bbWeight=0 PerfScore 0.00
-G_M6839_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20 x22]
; byrRegs -[x19]
movz x0, #0xD1FFAB1E // code for System.Reflection.Throw:OutOfBounds()
@@ -447,7 +445,7 @@ G_M6839_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG16: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
; gcrRegs +[x20]
; byrRegs +[x19]
add w21, w21, #1
@@ -456,17 +454,17 @@ G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldr w0, [x0, #0x08]
; gcrRegs -[x0]
cmp w0, w21
- ble G_M6839_IG21
+ ble G_M6839_IG20
;; size=20 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref
+G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref
b G_M6839_IG07
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20]
; byrRegs -[x19]
mov w0, w21
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG20: ; bbWeight=0.00, epilog, nogc, extend
+G_M6839_IG19: ; bbWeight=0.00, epilog, nogc, extend
ldp x25, x26, [sp, #0x90]
ldp x23, x24, [sp, #0x80]
ldp x21, x22, [sp, #0x70]
@@ -474,10 +472,10 @@ G_M6839_IG20: ; bbWeight=0.00, epilog, nogc, extend
ldp fp, lr, [sp], #0xA0
ret lr
;; size=24 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG21: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M6839_IG20: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
movn w0, #0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG22: ; bbWeight=0, epilog, nogc, extend
+G_M6839_IG21: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x90]
ldp x23, x24, [sp, #0x80]
ldp x21, x22, [sp, #0x70]
@@ -485,7 +483,7 @@ G_M6839_IG22: ; bbWeight=0, epilog, nogc, extend
ldp fp, lr, [sp], #0xA0
ret lr
;; size=24 bbWeight=0 PerfScore 0.00
-G_M6839_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M6839_IG22: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
stp fp, lr, [sp, #-0x60]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
@@ -494,10 +492,10 @@ G_M6839_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x3, fp, #160
str x3, [sp, #0x18]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M6839_IG24: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
- adr x0, [G_M6839_IG21]
+G_M6839_IG23: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+ adr x0, [G_M6839_IG20]
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG25: ; bbWeight=0, funclet epilog, nogc, extend
+G_M6839_IG24: ; bbWeight=0, funclet epilog, nogc, extend
ldp x25, x26, [sp, #0x50]
ldp x23, x24, [sp, #0x40]
ldp x21, x22, [sp, #0x30]
@@ -560,4 +558,4 @@ Unwind Info:
*************** EH table for Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int
1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M6839_IG06..G_M6839_IG19) handled by [G_M6839_IG23..END) (class: 1000150)
+EH#0: try [G_M6839_IG06..G_M6839_IG18) handled by [G_M6839_IG22..END) (class: 1000150)
+12 (+1.20%) : 148076.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1+d__21[ubyte]:MoveNext():this (Tier1)
@@ -20,11 +20,11 @@
;* V08 tmp1 [V08 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V09 tmp2 [V09,T22] ( 2, 0 ) ref -> x1 class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
; V10 tmp3 [V10,T16] ( 3, 1.96) ref -> x0 "guarded devirt return temp"
-; V11 tmp4 [V11,T04] ( 5, 5.87) ref -> x0 "guarded devirt arg temp"
+; V11 tmp4 [V11,T04] ( 5, 5.87) ref -> x2 "guarded devirt arg temp"
; V12 tmp5 [V12,T09] ( 3, 3.91) int -> x1 "guarded devirt arg temp"
;* V13 tmp6 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Buffers.ConfigurableArrayPool`1[ubyte]>
-; V14 tmp7 [V14,T02] ( 7, 5.94) ref -> x20 "guarded devirt arg temp"
-; V15 tmp8 [V15,T01] ( 7, 7.92) ref -> x21 "guarded devirt arg temp"
+; V14 tmp7 [V14,T02] ( 7, 5.94) ref -> x21 "guarded devirt arg temp"
+; V15 tmp8 [V15,T01] ( 7, 7.92) ref -> x22 "guarded devirt arg temp"
;* V16 tmp9 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Buffers.ConfigurableArrayPool`1[ubyte]>
; V17 tmp10 [V17,T18] ( 4, 0 ) ref -> x1 class-hnd "Inlining Arg" <ubyte[]>
;* V18 tmp11 [V18 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.Span`1[ubyte]>
@@ -35,11 +35,11 @@
;* V23 tmp16 [V23 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V24 tmp17 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <<unknown class>>
; V25 tmp18 [V25,T07] ( 4, 3.96) int -> x1 "Inline stloc first use temp"
-; V26 tmp19 [V26,T15] ( 3, 1.98) ubyte -> x23 "Inline stloc first use temp"
-; V27 tmp20 [V27,T14] ( 4, 1.98) ref -> x24 class-hnd exact "Inline stloc first use temp" <System.Buffers.ArrayPoolEventSource>
-; V28 tmp21 [V28,T20] ( 3, 0 ) int -> x21 "Inline stloc first use temp"
-; V29 tmp22 [V29,T23] ( 2, 0 ) int -> x25 "impAppendStmt"
-; V30 tmp23 [V30,T24] ( 2, 0 ) int -> x22 "impAppendStmt"
+; V26 tmp19 [V26,T15] ( 3, 1.98) ubyte -> x24 "Inline stloc first use temp"
+; V27 tmp20 [V27,T14] ( 4, 1.98) ref -> x25 class-hnd exact "Inline stloc first use temp" <System.Buffers.ArrayPoolEventSource>
+; V28 tmp21 [V28,T20] ( 3, 0 ) int -> x22 "Inline stloc first use temp"
+; V29 tmp22 [V29,T23] ( 2, 0 ) int -> x20 "impAppendStmt"
+; V30 tmp23 [V30,T24] ( 2, 0 ) int -> x23 "impAppendStmt"
;* V31 tmp24 [V31 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V32 tmp25 [V32 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V33 tmp26 [V33 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
@@ -54,8 +54,8 @@
; V42 tmp35 [V42,T10] ( 2, 3.89) ref -> x1 "argument with side effect"
; V43 PSPSym [V43,T17] ( 1, 1 ) long -> [fp+0x20] do-not-enreg[V] "PSPSym"
; V44 cse0 [V44,T12] ( 3, 2.97) ref -> x2 "CSE - aggressive"
-; V45 cse1 [V45,T11] ( 5, 2.97) int -> x22 "CSE - aggressive"
-; V46 cse2 [V46,T06] ( 5, 4.90) byref -> registers multi-def "CSE - aggressive"
+; V45 cse1 [V45,T11] ( 5, 2.97) int -> x23 "CSE - aggressive"
+; V46 cse2 [V46,T06] ( 5, 4.90) byref -> x20 multi-def "CSE - aggressive"
;
; Lcl frame size = 24
@@ -80,56 +80,53 @@ G_M9389_IG02: ; bbWeight=1, gcVars=0000000000000001 {V00}, gcrefRegs=0000
;; size=8 bbWeight=1 PerfScore 6.00
G_M9389_IG03: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
; byrRegs -[x0]
- cbnz w1, G_M9389_IG11
+ cbnz w1, G_M9389_IG14
;; size=4 bbWeight=1 PerfScore 1.00
G_M9389_IG04: ; bbWeight=0.98, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
ldr x0, [fp, #0x10] // [V00 this]
; byrRegs +[x0]
- add x1, x0, #40
- ; byrRegs +[x1]
- ldrb w2, [x1]
- strb w2, [fp, #0x18] // [V03 loc2]
- strb wzr, [x1]
+ add x20, x0, #40
+ ; byrRegs +[x20]
+ ldrb w1, [x20]
+ strb w1, [fp, #0x18] // [V03 loc2]
+ strb wzr, [x20]
movn w1, #0
- ; byrRegs -[x1]
str w1, [x0, #0x18]
;; size=28 bbWeight=0.98 PerfScore 8.86
-G_M9389_IG05: ; bbWeight=0.99, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
- ; byrRegs -[x0]
- ldr x0, [fp, #0x10] // [V00 this]
- ; byrRegs +[x0]
+G_M9389_IG05: ; bbWeight=0.99, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref, isz
+ ; byrRegs -[x20]
ldrb w1, [x19, #0x1C]
- cbnz w1, G_M9389_IG22
- ;; size=12 bbWeight=0.99 PerfScore 5.94
+ cbnz w1, G_M9389_IG20
+ ;; size=8 bbWeight=0.99 PerfScore 3.96
G_M9389_IG06: ; bbWeight=0.99, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref, isz
- ldp x20, x21, [x0, #0x08]
- ; gcrRegs +[x20-x21]
- ldr x1, [x20]
+ ldp x21, x22, [x0, #0x08]
+ ; gcrRegs +[x21-x22]
+ ldr x1, [x21]
movz x2, #0xD1FFAB1E
movk x2, #0xD1FFAB1E LSL #16
movk x2, #0xD1FFAB1E LSL #32
cmp x1, x2
- bne G_M9389_IG17
- cbz x21, G_M9389_IG23
- ldr w22, [x21, #0x08]
- cbz w22, G_M9389_IG09
- sub w1, w22, #1
+ bne G_M9389_IG24
+ cbz x22, G_M9389_IG21
+ ldr w23, [x22, #0x08]
+ cbz w23, G_M9389_IG09
+ sub w1, w23, #1
orr w1, w1, #15
clz w1, w1
eor w1, w1, #31
sub w1, w1, #3
- ldr x2, [x20, #0x08]
+ ldr x2, [x21, #0x08]
; gcrRegs +[x2]
ldr w3, [x2, #0x08]
cmp w3, w1
- cset x23, gt
- cbz w23, G_M9389_IG08
+ cset x24, gt
+ cbz w24, G_M9389_IG08
;; size=80 bbWeight=0.99 PerfScore 25.24
-G_M9389_IG07: ; bbWeight=0.99, gcrefRegs=380004 {x2 x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M9389_IG07: ; bbWeight=0.99, gcrefRegs=680004 {x2 x19 x21 x22}, byrefRegs=0000 {}, byref, isz
; byrRegs -[x0]
ldr w3, [x2, #0x08]
cmp w1, w3
- bhs G_M9389_IG16
+ bhs G_M9389_IG23
add x2, x2, #16
; gcrRegs -[x2]
; byrRegs +[x2]
@@ -137,7 +134,7 @@ G_M9389_IG07: ; bbWeight=0.99, gcrefRegs=380004 {x2 x19 x20 x21}, byrefRe
; gcrRegs +[x1]
mov x0, x1
; gcrRegs +[x0]
- mov x1, x21
+ mov x1, x22
movz x2, #0xD1FFAB1E // code for <unknown method>
; byrRegs -[x2]
movk x2, #0xD1FFAB1E LSL #16
@@ -148,17 +145,17 @@ G_M9389_IG07: ; bbWeight=0.99, gcrefRegs=380004 {x2 x19 x20 x21}, byrefRe
; gcrRegs -[x0-x1]
; gcr arg pop 0
;; size=52 bbWeight=0.99 PerfScore 17.30
-G_M9389_IG08: ; bbWeight=0.99, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M9389_IG08: ; bbWeight=0.99, gcrefRegs=680000 {x19 x21 x22}, byrefRegs=0000 {}, byref, isz
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
- ldr x24, [x1]
- ; gcrRegs +[x24]
- ldrb w1, [x24, #0x9D]
- cbnz w1, G_M9389_IG24
+ ldr x25, [x1]
+ ; gcrRegs +[x25]
+ ldrb w1, [x25, #0x9D]
+ cbnz w1, G_M9389_IG22
;; size=24 bbWeight=0.99 PerfScore 8.41
G_M9389_IG09: ; bbWeight=1.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[x20-x21 x24]
+ ; gcrRegs -[x21-x22 x25]
ldr x0, [fp, #0x10] // [V00 this]
; byrRegs +[x0]
str xzr, [x0, #0x10]
@@ -169,18 +166,82 @@ G_M9389_IG09: ; bbWeight=1.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
movz w2, #0xD1FFAB1E
movk w2, #1 LSL #16
cmp w1, w2
- mov x20, x0
- ; byrRegs +[x20]
- blt G_M9389_IG12
- ;; size=44 bbWeight=1.01 PerfScore 13.61
-G_M9389_IG10: ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref
- ; gcrRegs -[x19]
+ bge G_M9389_IG25
+ ;; size=40 bbWeight=1.01 PerfScore 13.10
+G_M9389_IG10: ; bbWeight=0.98, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref, isz
+ ldr x2, [x0, #0x08]
+ ; gcrRegs +[x2]
+ ldr w1, [x19, #0x18]
+ ldr x3, [x2]
+ movz x4, #0xD1FFAB1E
+ movk x4, #0xD1FFAB1E LSL #16
+ movk x4, #0xD1FFAB1E LSL #32
+ cmp x3, x4
+ bne G_M9389_IG16
+ mov x0, x2
+ ; gcrRegs +[x0]
; byrRegs -[x0]
- b G_M9389_IG25
- ;; size=4 bbWeight=0.01 PerfScore 0.01
-G_M9389_IG11: ; bbWeight=0.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[x19]
+ movz x2, #0xD1FFAB1E // code for System.Buffers.ConfigurableArrayPool`1[ubyte]:Rent(int):ubyte[]:this
+ ; gcrRegs -[x2]
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ ldr x2, [x2]
+ blr x2
+ ; gcr arg pop 0
+ ;; size=56 bbWeight=0.98 PerfScore 17.61
+G_M9389_IG11: ; bbWeight=0.98, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
+ ldr x20, [fp, #0x10] // [V00 this]
+ ; byrRegs +[x20]
+ add x14, x20, #16
+ ; byrRegs +[x14]
+ mov x15, x0
+ ; gcrRegs +[x15]
+ bl CORINFO_HELP_CHECKED_ASSIGN_REF
+ ; gcrRegs -[x0 x15]
+ ; byrRegs -[x14]
+ ldrb w1, [x19, #0x1C]
+ cbnz w1, G_M9389_IG19
+ ;; size=24 bbWeight=0.98 PerfScore 7.83
+G_M9389_IG12: ; bbWeight=0.98, gcrefRegs=80000 {x19}, byrefRegs=100000 {x20}, byref, isz
+ ldrb w1, [x19, #0x1D]
+ mov x0, x20
+ ; byrRegs +[x0]
+ cbz w1, G_M9389_IG05
+ ;; size=12 bbWeight=0.98 PerfScore 4.40
+G_M9389_IG13: ; bbWeight=0.97, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, byref
+ ; gcrRegs -[x19]
; byrRegs -[x20]
+ strb wzr, [fp, #0x18] // [V03 loc2]
+ str wzr, [x0, #0x18]
+ add x20, x0, #40
+ ; byrRegs +[x20]
+ ldrb w1, [fp, #0x18] // [V03 loc2]
+ strb w1, [x20]
+ add x1, x0, #32
+ ; byrRegs +[x1]
+ movz x2, #0xD1FFAB1E // code for <unknown method>
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ ldr x2, [x2]
+ blr x2
+ ; gcrRegs +[x0]
+ ; byrRegs -[x0-x1 x20]
+ ; gcr arg pop 0
+ mov x1, x0
+ ; gcrRegs +[x1]
+ add x0, fp, #24 // [V03 loc2]
+ ; gcrRegs -[x0]
+ movz x2, #0xD1FFAB1E // code for <unknown method>
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ ldr x2, [x2]
+ blr x2
+ ; gcrRegs -[x1]
+ ; gcr arg pop 0
+ b G_M9389_IG26
+ ;; size=76 bbWeight=0.97 PerfScore 18.49
+G_M9389_IG14: ; bbWeight=0.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[x19]
mov x0, x19
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for System.Buffers.Tests.RentReturnArrayPoolTests`1[ubyte]:get_Pool():System.Buffers.ArrayPool`1[ubyte]:this
@@ -203,120 +264,34 @@ G_M9389_IG11: ; bbWeight=0.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
...
coreclr_tests.run.linux.arm64.checked.mch
+0 (0.00%) : 340634.dasm - Simple2ArrayTest:Main():int (Tier1-OSR)
@@ -52,7 +52,7 @@ G_M25584_IG05: ; bbWeight=9.10, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
ldr w20, [fp, #0x90] // [V05 loc5]
ldr w21, [fp, #0xAC] // [V00 loc0]
cmp w20, w21
- bge G_M25584_IG12
+ bge G_M25584_IG11
;; size=16 bbWeight=9.10 PerfScore 50.04
G_M25584_IG06: ; bbWeight=8.27, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
ldp w23, w22, [fp, #0x98] // [V03 loc3], [V02 loc2]
@@ -85,27 +85,29 @@ G_M25584_IG09: ; bbWeight=1.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
cmp w23, w21
blt G_M25584_IG03
;; size=12 bbWeight=1.00 PerfScore 2.00
-G_M25584_IG10: ; bbWeight=0.10, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
- add w22, w22, #1
- cmp w22, w21
- bge G_M25584_IG13
- mov w23, wzr
- cmp w21, #0
- bgt G_M25584_IG03
- ;; size=24 bbWeight=0.10 PerfScore 0.40
-G_M25584_IG11: ; bbWeight=0.04, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
- b G_M25584_IG10
- ;; size=4 bbWeight=0.04 PerfScore 0.04
-G_M25584_IG12: ; bbWeight=4.55, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M25584_IG10: ; bbWeight=0.09, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+ b G_M25584_IG13
+ ;; size=4 bbWeight=0.09 PerfScore 0.09
+G_M25584_IG11: ; bbWeight=4.55, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
ldp w23, w22, [fp, #0x98] // [V03 loc3], [V02 loc2]
ldr w24, [fp, #0x94] // [V04 loc4]
b G_M25584_IG08
;; size=12 bbWeight=4.55 PerfScore 22.75
-G_M25584_IG13: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M25584_IG12: ; bbWeight=0.10, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+ mov w23, wzr
+ cmp w21, #0
+ bgt G_M25584_IG03
+ ;; size=12 bbWeight=0.10 PerfScore 0.20
+G_M25584_IG13: ; bbWeight=0.10, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+ add w22, w22, #1
+ cmp w22, w21
+ blt G_M25584_IG12
+ ;; size=12 bbWeight=0.10 PerfScore 0.20
+G_M25584_IG14: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
mov w22, wzr
- b G_M25584_IG25
+ b G_M25584_IG26
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25584_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25584_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -118,7 +120,7 @@ G_M25584_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
mov w0, #1
;; size=36 bbWeight=0 PerfScore 0.00
-G_M25584_IG15: ; bbWeight=0, epilog, nogc, extend
+G_M25584_IG16: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -127,24 +129,24 @@ G_M25584_IG15: ; bbWeight=0, epilog, nogc, extend
add sp, sp, #96
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-G_M25584_IG16: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+G_M25584_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[x19]
mov w23, wzr
- b G_M25584_IG24
- ;; size=8 bbWeight=0 PerfScore 0.00
-G_M25584_IG17: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
- mov w24, wzr
- b G_M25584_IG23
+ b G_M25584_IG25
;; size=8 bbWeight=0 PerfScore 0.00
G_M25584_IG18: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
- mov w20, wzr
- b G_M25584_IG22
+ mov w24, wzr
+ b G_M25584_IG24
;; size=8 bbWeight=0 PerfScore 0.00
G_M25584_IG19: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
- mov w25, wzr
- b G_M25584_IG21
+ mov w20, wzr
+ b G_M25584_IG23
;; size=8 bbWeight=0 PerfScore 0.00
G_M25584_IG20: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+ mov w25, wzr
+ b G_M25584_IG22
+ ;; size=8 bbWeight=0 PerfScore 0.00
+G_M25584_IG21: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
mov x0, x19
; gcrRegs +[x0]
mov w1, w22
@@ -159,29 +161,29 @@ G_M25584_IG20: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
add w25, w25, #1
str x26, [fp, #0x80] // [V07 loc7]
;; size=40 bbWeight=0 PerfScore 0.00
-G_M25584_IG21: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG22: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w25, w20
- blt G_M25584_IG20
+ blt G_M25584_IG21
add w20, w20, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25584_IG22: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG23: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w20, w24
- blt G_M25584_IG19
+ blt G_M25584_IG20
add w24, w24, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25584_IG23: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG24: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w24, w23
- blt G_M25584_IG18
+ blt G_M25584_IG19
add w23, w23, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25584_IG24: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG25: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w23, w22
- blt G_M25584_IG17
+ blt G_M25584_IG18
add w22, w22, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25584_IG25: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG26: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w22, w21
- blt G_M25584_IG16
+ blt G_M25584_IG17
mov x0, x19
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for Simple2_Array_Test:test(int[,,,]):int
@@ -192,12 +194,12 @@ G_M25584_IG25: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
; gcrRegs -[x0 x19]
; gcr arg pop 0
cmp w0, #4
- bne G_M25584_IG14
+ bne G_M25584_IG15
movz x0, #0xD1FFAB1E
movk x0, #3 LSL #16
ldr x26, [fp, #0x80] // [V07 loc7]
cmp x26, x0
- bne G_M25584_IG14
+ bne G_M25584_IG15
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -209,7 +211,7 @@ G_M25584_IG25: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
; gcr arg pop 0
mov w0, #100
;; size=96 bbWeight=0 PerfScore 0.00
-G_M25584_IG26: ; bbWeight=0, epilog, nogc, extend
+G_M25584_IG27: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -219,7 +221,7 @@ G_M25584_IG26: ; bbWeight=0, epilog, nogc, extend
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 512, prolog size 28, PerfScore 883.53, instruction count 128, allocated bytes for code 512 (MethodHash=75279c0f) for method Simple2_Array_Test:Main():int (Tier1-OSR)
+; Total bytes of code 512, prolog size 28, PerfScore 883.57, instruction count 128, allocated bytes for code 512 (MethodHash=75279c0f) for method Simple2_Array_Test:Main():int (Tier1-OSR)
; ============================================================
Unwind Info:
+0 (0.00%) : 497494.dasm - JitTestlcsmixedlcs_cs.LCS:TestEntryPoint():int (Tier1-OSR)
@@ -101,7 +101,7 @@
;
; Lcl frame size = 48
-G_M23463_IG01: ; bbWeight=1, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
+G_M23463_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x90]!
stp x19, x20, [sp, #0x40]
stp x21, x22, [sp, #0x50]
@@ -152,11 +152,11 @@ G_M23463_IG05: ; bbWeight=2.38, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
ldp w2, w6, [x21, #0x10]
sxtw w27, w2
cmp w5, w27
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w2, [x21, #0x1C]
sub w7, w4, w2
cmp w7, w6
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w2, w5, w6, w7
ubfiz x2, x2, #3, #32
add x2, x2, #32
@@ -168,11 +168,11 @@ G_M23463_IG05: ; bbWeight=2.38, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
sub w8, w0, w5
ldp w0, w5, [x2, #0x10]
cmp w8, w0
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w0, [x2, #0x1C]
sub w9, w1, w0
cmp w9, w5
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w0, w8, w5, w9
ubfiz x0, x0, #3, #32
add x0, x0, #32
@@ -203,10 +203,10 @@ G_M23463_IG05: ; bbWeight=2.38, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
stp w5, w4, [fp, #0x24] // [V31 tmp23], [V30 tmp22]
ldp w2, w0, [x20, #0x20]
cmp w25, #6
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w1, [x20, #0x28]
cmp w25, #7
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w6, [x20, #0x2C]
stp w2, w0, [fp, #0x30] // [V12 tmp4], [V12 tmp4+0x04]
stp w1, w6, [fp, #0x38] // [V12 tmp4+0x08], [V12 tmp4+0x0c]
@@ -239,10 +239,10 @@ G_M23463_IG06: ; bbWeight=14.29, gcrefRegs=F80000 {x19 x20 x21 x22 x23},
;; size=4 bbWeight=14.29 PerfScore 14.29
G_M23463_IG07: ; bbWeight=14.29, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
cmp w24, #5
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w2, [x19, #0x24]
cmp w25, #5
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w0, [x20, #0x24]
cmp w2, w0
bge G_M23463_IG10
@@ -255,12 +255,12 @@ G_M23463_IG09: ; bbWeight=85.71, gcrefRegs=F80000 {x19 x20 x21 x22 x23},
ldp w3, w4, [x19, #0x10]
sub w5, w3, w27
cmp w5, w28
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w6, [x21, #0x14]
ldr w2, [x21, #0x1C]
sub w7, w4, w2
cmp w7, w6
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w2, w5, w6, w7
ubfiz x2, x2, #3, #32
add x2, x2, #32
@@ -271,31 +271,31 @@ G_M23463_IG09: ; bbWeight=85.71, gcrefRegs=F80000 {x19 x20 x21 x22 x23},
sub w0, w8, w0
ldp w1, w3, [x2, #0x10]
cmp w0, w1
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w1, [x2, #0x1C]
sub w1, w9, w1
cmp w1, w3
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w0, w0, w3, w1
ubfiz x0, x0, #3, #32
add x0, x0, #32
ldr x2, [x2, x0]
ldp w0, w1, [x19, #0x20]
cmp w25, #6
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w3, [x20, #0x28]
cmp w25, #7
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w4, [x20, #0x2C]
ldr w5, [x2, #0x18]
sub w0, w0, w5
ldp w5, w6, [x2, #0x10]
cmp w0, w5
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w5, [x2, #0x1C]
sub w1, w1, w5
cmp w1, w6
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w0, w0, w6, w1
ubfiz x0, x0, #3, #32
add x0, x0, #32
@@ -361,9 +361,9 @@ G_M23463_IG13: ; bbWeight=0.56, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
cmp w0, w2
blt G_M23463_IG12
;; size=28 bbWeight=0.56 PerfScore 5.30
-G_M23463_IG14: ; bbWeight=0.05, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, byrefRegs=18000000 {x27 x28}, byref
+G_M23463_IG14: ; bbWeight=0.08, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, byrefRegs=18000000 {x27 x28}, byref
b G_M23463_IG17
- ;; size=4 bbWeight=0.05 PerfScore 0.05
+ ;; size=4 bbWeight=0.08 PerfScore 0.08
G_M23463_IG15: ; bbWeight=0.39, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, byrefRegs=10000000 {x28}, byref
; byrRegs -[x27]
add x27, x19, #24
@@ -377,11 +377,11 @@ G_M23463_IG16: ; bbWeight=0.09, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
sub w2, w2, w4
ldp w4, w6, [x21, #0x10]
cmp w2, w4
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w4, [x21, #0x1C]
sub w4, w0, w4
cmp w4, w6
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w2, w2, w6, w4
ubfiz x2, x2, #3, #32
add x2, x2, #32
@@ -443,38 +443,14 @@ G_M23463_IG20: ; bbWeight=0.02, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
ldr w0, [x20, #0x10]
; byrRegs -[x0]
cmp w1, w0
- bge G_M23463_IG22
+ bge G_M23463_IG27
b G_M23463_IG19
;; size=32 bbWeight=0.02 PerfScore 0.23
-G_M23463_IG21: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x19-x23]
+G_M23463_IG21: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs -[x19 x22]
; byrRegs -[x3 x27-x28]
- bl CORINFO_HELP_RNGCHKFAIL
- ; gcr arg pop 0
- ;; size=4 bbWeight=0 PerfScore 0.00
-G_M23463_IG22: ; bbWeight=0, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref
- ; gcrRegs +[x20-x23]
- mov x0, x22
- ; gcrRegs +[x0]
- mov x1, x21
- ; gcrRegs +[x1]
- mov x2, x23
- ; gcrRegs +[x2]
- mov x3, x20
- ; gcrRegs +[x3]
- movz x4, #0xD1FFAB1E // code for JitTest_lcsmixed_lcs_cs.LCS:findLCS(int[,,,][,,,],int[,][,][,][,],ushort[][],int[])
- movk x4, #0xD1FFAB1E LSL #16
- movk x4, #0xD1FFAB1E LSL #32
- ldr x4, [x4]
- blr x4
- ; gcrRegs -[x0-x3 x22]
- ; gcr arg pop 0
- mov w1, wzr
- b G_M23463_IG24
- ;; size=44 bbWeight=0 PerfScore 0.00
-G_M23463_IG23: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
cmp w1, w25
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
add x0, x20, #16
; byrRegs +[x0]
ubfiz x2, x1, #2, #32
@@ -484,13 +460,13 @@ G_M23463_IG23: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
str w2, [x0]
add w1, w1, #1
;; size=36 bbWeight=0 PerfScore 0.00
-G_M23463_IG24: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M23463_IG22: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
; byrRegs -[x0]
cmp w1, #8
- blt G_M23463_IG23
+ blt G_M23463_IG21
ldr w1, [x23, #0x08]
cmp w1, #0
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr x1, [x23, #0x10]
; gcrRegs +[x1]
mov x0, x21
@@ -517,7 +493,7 @@ G_M23463_IG24: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
blr x2
; gcrRegs -[x1]
; gcr arg pop 0
- cbz w0, G_M23463_IG26
+ cbz w0, G_M23463_IG24
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -529,7 +505,7 @@ G_M23463_IG24: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
; gcr arg pop 0
mov w0, #100
;; size=128 bbWeight=0 PerfScore 0.00
-G_M23463_IG25: ; bbWeight=0, epilog, nogc, extend
+G_M23463_IG23: ; bbWeight=0, epilog, nogc, extend
ldp x27, x28, [sp, #0x80]
ldp x25, x26, [sp, #0x70]
ldp x23, x24, [sp, #0x60]
@@ -539,7 +515,7 @@ G_M23463_IG25: ; bbWeight=0, epilog, nogc, extend
add sp, sp, #0xD1FFAB1E
ret lr
;; size=32 bbWeight=0 PerfScore 0.00
-G_M23463_IG26: ; bbWeight=0, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M23463_IG24: ; bbWeight=0, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -551,7 +527,7 @@ G_M23463_IG26: ; bbWeight=0, gcVars=00000000000000000000000000000000 {},
; gcr arg pop 0
mov w0, wzr
;; size=36 bbWeight=0 PerfScore 0.00
-G_M23463_IG27: ; bbWeight=0, epilog, nogc, extend
+G_M23463_IG25: ; bbWeight=0, epilog, nogc, extend
ldp x27, x28, [sp, #0x80]
ldp x25, x26, [sp, #0x70]
ldp x23, x24, [sp, #0x60]
@@ -561,8 +537,32 @@ G_M23463_IG27: ; bbWeight=0, epilog, nogc, extend
add sp, sp, #0xD1FFAB1E
ret lr
;; size=32 bbWeight=0 PerfScore 0.00
+G_M23463_IG26: ; bbWeight=0, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+ bl CORINFO_HELP_RNGCHKFAIL
+ ; gcr arg pop 0
+ ;; size=4 bbWeight=0 PerfScore 0.00
+G_M23463_IG27: ; bbWeight=0, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref
+ ; gcrRegs +[x20-x23]
+ mov x0, x22
+ ; gcrRegs +[x0]
...
+0 (0.00%) : 336943.dasm - Simple2ArrayTest:TestEntryPoint():int (Tier1-OSR)
@@ -82,22 +82,24 @@ G_M25589_IG09: ; bbWeight=1.00, gcrefRegs=1000000 {x24}, byrefRegs=0000 {
cmp w22, w21
blt G_M25589_IG03
;; size=12 bbWeight=1.00 PerfScore 2.00
-G_M25589_IG10: ; bbWeight=0.10, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
- add w23, w23, #1
- cmp w23, w21
- bge G_M25589_IG12
+G_M25589_IG10: ; bbWeight=0.09, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
+ b G_M25589_IG12
+ ;; size=4 bbWeight=0.09 PerfScore 0.09
+G_M25589_IG11: ; bbWeight=0.10, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
mov w22, wzr
cmp w21, #0
bgt G_M25589_IG03
- ;; size=24 bbWeight=0.10 PerfScore 0.40
-G_M25589_IG11: ; bbWeight=0.04, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
- b G_M25589_IG10
- ;; size=4 bbWeight=0.04 PerfScore 0.04
-G_M25589_IG12: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
+ ;; size=12 bbWeight=0.10 PerfScore 0.20
+G_M25589_IG12: ; bbWeight=0.10, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+ add w23, w23, #1
+ cmp w23, w21
+ blt G_M25589_IG11
+ ;; size=12 bbWeight=0.10 PerfScore 0.20
+G_M25589_IG13: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
mov w23, wzr
- b G_M25589_IG24
+ b G_M25589_IG25
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25589_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25589_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x24]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -110,7 +112,7 @@ G_M25589_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
mov w0, #1
;; size=36 bbWeight=0 PerfScore 0.00
-G_M25589_IG14: ; bbWeight=0, epilog, nogc, extend
+G_M25589_IG15: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -119,24 +121,24 @@ G_M25589_IG14: ; bbWeight=0, epilog, nogc, extend
add sp, sp, #96
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-G_M25589_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, gcvars, byref
+G_M25589_IG16: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[x24]
mov w22, wzr
- b G_M25589_IG23
- ;; size=8 bbWeight=0 PerfScore 0.00
-G_M25589_IG16: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
- mov w20, wzr
- b G_M25589_IG22
+ b G_M25589_IG24
;; size=8 bbWeight=0 PerfScore 0.00
G_M25589_IG17: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
- mov w19, wzr
- b G_M25589_IG21
+ mov w20, wzr
+ b G_M25589_IG23
;; size=8 bbWeight=0 PerfScore 0.00
G_M25589_IG18: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
- mov w26, wzr
- b G_M25589_IG20
+ mov w19, wzr
+ b G_M25589_IG22
;; size=8 bbWeight=0 PerfScore 0.00
G_M25589_IG19: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
+ mov w26, wzr
+ b G_M25589_IG21
+ ;; size=8 bbWeight=0 PerfScore 0.00
+G_M25589_IG20: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
mov x0, x24
; gcrRegs +[x0]
mov w1, w23
@@ -149,33 +151,33 @@ G_M25589_IG19: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {},
add x25, x25, w0, SXTW
add w26, w26, #1
;; size=32 bbWeight=0 PerfScore 0.00
-G_M25589_IG20: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG21: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w26, w19
- blt G_M25589_IG19
+ blt G_M25589_IG20
add w19, w19, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25589_IG21: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG22: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w19, w20
- blt G_M25589_IG18
+ blt G_M25589_IG19
add w20, w20, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25589_IG22: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG23: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w20, w22
- blt G_M25589_IG17
+ blt G_M25589_IG18
add w22, w22, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25589_IG23: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG24: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w22, w23
- blt G_M25589_IG16
+ blt G_M25589_IG17
add w23, w23, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25589_IG24: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG25: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w23, w21
- blt G_M25589_IG15
+ blt G_M25589_IG16
movz x0, #0xD1FFAB1E
movk x0, #3 LSL #16
cmp x25, x0
- bne G_M25589_IG13
+ bne G_M25589_IG14
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -188,7 +190,7 @@ G_M25589_IG24: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {},
; gcr arg pop 0
mov w0, #100
;; size=60 bbWeight=0 PerfScore 0.00
-G_M25589_IG25: ; bbWeight=0, epilog, nogc, extend
+G_M25589_IG26: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -198,7 +200,7 @@ G_M25589_IG25: ; bbWeight=0, epilog, nogc, extend
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 444, prolog size 44, PerfScore 772.00, instruction count 111, allocated bytes for code 444 (MethodHash=b6269c0a) for method Simple2_Array_Test:TestEntryPoint():int (Tier1-OSR)
+; Total bytes of code 444, prolog size 44, PerfScore 772.05, instruction count 111, allocated bytes for code 444 (MethodHash=b6269c0a) for method Simple2_Array_Test:TestEntryPoint():int (Tier1-OSR)
; ============================================================
Unwind Info:
libraries_tests.run.linux.arm64.Release.mch
-8 (-1.18%) : 247804.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
@@ -55,7 +55,7 @@ G_M63357_IG03: ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
;; size=12 bbWeight=1 PerfScore 6.50
G_M63357_IG04: ; bbWeight=2, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref, isz
cmp w21, w24
- bhs G_M63357_IG25
+ bhs G_M63357_IG20
ldrh w2, [x25, w21, UXTW #2]
sub w1, w2, #9
cmp w1, #4
@@ -69,28 +69,9 @@ G_M63357_IG04: ; bbWeight=2, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=20
;; size=48 bbWeight=2 PerfScore 25.00
G_M63357_IG05: ; bbWeight=1.87, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref, isz
cmp w2, #32
- beq G_M63357_IG12
+ beq G_M63357_IG10
;; size=8 bbWeight=1.87 PerfScore 2.80
-G_M63357_IG06: ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x23]
- ; byrRegs -[x25]
- b G_M63357_IG08
- ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M63357_IG07: ; bbWeight=0.13, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref
- ; gcrRegs +[x23]
- ; byrRegs +[x25]
- add w21, w21, #1
- add x2, x19, #0xD1FFAB1E
- ; byrRegs +[x2]
- ldr w1, [x2]
- add w1, w1, #1
- str w1, [x2]
- sub w2, w21, #1
- ; byrRegs -[x2]
- str w2, [x19, #0xD1FFAB1E]
- b G_M63357_IG04
- ;; size=32 bbWeight=0.13 PerfScore 1.07
-G_M63357_IG08: ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+G_M63357_IG06: ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x23]
; byrRegs -[x25]
ldr w2, [x19, #0xD1FFAB1E]
@@ -99,19 +80,19 @@ G_M63357_IG08: ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
ldr w2, [x19, #0xD1FFAB1E]
sub w24, w21, w2
cmp w24, #0
- ble G_M63357_IG10
- cbnz x20, G_M63357_IG13
+ ble G_M63357_IG08
+ cbnz x20, G_M63357_IG11
;; size=32 bbWeight=1 PerfScore 10.50
-G_M63357_IG09: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M63357_IG07: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
; gcrRegs -[x20]
str w21, [x19, #0xD1FFAB1E]
add w22, w22, w24
;; size=8 bbWeight=1 PerfScore 1.50
-G_M63357_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M63357_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
mov w0, w22
;; size=4 bbWeight=1 PerfScore 0.50
-G_M63357_IG11: ; bbWeight=1, epilog, nogc, extend
+G_M63357_IG09: ; bbWeight=1, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -119,13 +100,13 @@ G_M63357_IG11: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x50
ret lr
;; size=24 bbWeight=1 PerfScore 6.00
-G_M63357_IG12: ; bbWeight=0.87, gcVars=0000000000000000 {}, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, gcvars, byref
+G_M63357_IG10: ; bbWeight=0.87, gcVars=0000000000000000 {}, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, gcvars, byref
; gcrRegs +[x19-x20 x23]
; byrRegs +[x25]
add w21, w21, #1
b G_M63357_IG04
;; size=8 bbWeight=0.87 PerfScore 1.30
-G_M63357_IG13: ; bbWeight=0.28, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M63357_IG11: ; bbWeight=0.28, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
; gcrRegs -[x23]
; byrRegs -[x25]
ldr w2, [x19, #0xD1FFAB1E]
@@ -141,25 +122,37 @@ G_M63357_IG13: ; bbWeight=0.28, gcrefRegs=180000 {x19 x20}, byrefRegs=000
blr x4
; gcrRegs -[x1 x20]
; gcr arg pop 0
- b G_M63357_IG09
+ b G_M63357_IG07
;; size=40 bbWeight=0.28 PerfScore 3.75
-G_M63357_IG14: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref, isz
+G_M63357_IG12: ; bbWeight=0.13, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref
; gcrRegs -[x0] +[x20 x23]
; byrRegs +[x25]
+ add w21, w21, #1
+ add x2, x19, #0xD1FFAB1E
+ ; byrRegs +[x2]
+ ldr w1, [x2]
+ add w1, w1, #1
+ str w1, [x2]
+ sub w2, w21, #1
+ ; byrRegs -[x2]
+ str w2, [x19, #0xD1FFAB1E]
+ b G_M63357_IG04
+ ;; size=32 bbWeight=0.13 PerfScore 1.07
+G_M63357_IG13: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref, isz
add w2, w21, #1
cmp w2, w24
- bhs G_M63357_IG25
+ bhs G_M63357_IG20
add w2, w21, #1
ldrh w2, [x25, w2, UXTW #2]
cmp w2, #10
- bne G_M63357_IG17
+ bne G_M63357_IG16
ldr w2, [x19, #0xD1FFAB1E]
sub w26, w21, w2
- cbz x20, G_M63357_IG16
+ cbz x20, G_M63357_IG15
ldrb w2, [x19, #0xD1FFAB1E]
- cbnz w2, G_M63357_IG16
+ cbnz w2, G_M63357_IG15
cmp w26, #0
- ble G_M63357_IG15
+ ble G_M63357_IG14
ldr w2, [x19, #0xD1FFAB1E]
mov x0, x20
; gcrRegs +[x0]
@@ -175,33 +168,33 @@ G_M63357_IG14: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=20
; gcr arg pop 0
add w22, w22, w26
;; size=96 bbWeight=0 PerfScore 0.00
-G_M63357_IG15: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref
+G_M63357_IG14: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref
; gcrRegs -[x0]
add w0, w21, #1
str w0, [x19, #0xD1FFAB1E]
;; size=8 bbWeight=0 PerfScore 0.00
-G_M63357_IG16: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref
+G_M63357_IG15: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref
add w21, w21, #2
- b G_M63357_IG20
+ b G_M63357_IG19
;; size=8 bbWeight=0 PerfScore 0.00
-G_M63357_IG17: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref, isz
+G_M63357_IG16: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref, isz
add w0, w21, #1
ldr w1, [x19, #0xD1FFAB1E]
cmp w0, w1
- blt G_M63357_IG18
+ blt G_M63357_IG17
ldrb w0, [x19, #0xD1FFAB1E]
cbz w0, G_M63357_IG21
;; size=24 bbWeight=0 PerfScore 0.00
-G_M63357_IG18: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref, isz
+G_M63357_IG17: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref, isz
ldrb w0, [x19, #0xD1FFAB1E]
- cbnz w0, G_M63357_IG19
+ cbnz w0, G_M63357_IG18
mov w0, #10
strh w0, [x25, w21, UXTW #2]
;; size=16 bbWeight=0 PerfScore 0.00
-G_M63357_IG19: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref
+G_M63357_IG18: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref
add w21, w21, #1
;; size=4 bbWeight=0 PerfScore 0.00
-G_M63357_IG20: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref
+G_M63357_IG19: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=2000000 {x25}, byref
mov x0, x19
; gcrRegs +[x0]
mov w1, w21
@@ -214,9 +207,14 @@ G_M63357_IG20: ; bbWeight=0, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=20
; gcr arg pop 0
b G_M63357_IG04
;; size=32 bbWeight=0 PerfScore 0.00
-G_M63357_IG21: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[x23]
+G_M63357_IG20: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ ; gcrRegs -[x19-x20 x23]
; byrRegs -[x25]
+ bl CORINFO_HELP_RNGCHKFAIL
+ ; gcr arg pop 0
+ ;; size=4 bbWeight=0 PerfScore 0.00
+G_M63357_IG21: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[x19-x20]
ldr w2, [x19, #0xD1FFAB1E]
sub w23, w21, w2
cmp w23, #0
@@ -255,13 +253,13 @@ G_M63357_IG23: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
ldr w0, [x19, #0xD1FFAB1E]
ldr w1, [x19, #0xD1FFAB1E]
sub w0, w0, w1
- cbz w0, G_M63357_IG10
+ cbz w0, G_M63357_IG08
ldr x0, [x19, #0xD1FFAB1E]
; gcrRegs +[x0]
ldr w1, [x19, #0xD1FFAB1E]
ldr w2, [x0, #0x08]
cmp w1, w2
- bhs G_M63357_IG25
+ bhs G_M63357_IG20
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -297,20 +295,14 @@ G_M63357_IG24: ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
ldr w21, [x19, #0xD1FFAB1E]
b G_M63357_IG03
;; size=8 bbWeight=0 PerfScore 0.00
-G_M63357_IG25: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x19-x20]
- bl CORINFO_HELP_RNGCHKFAIL
- ; gcr arg pop 0
- brk_unix #0
- ;; size=8 bbWeight=0 PerfScore 0.00
-RWD00 dd G_M63357_IG12 - G_M63357_IG02
- dd G_M63357_IG07 - G_M63357_IG02
- dd G_M63357_IG08 - G_M63357_IG02
- dd G_M63357_IG08 - G_M63357_IG02
- dd G_M63357_IG14 - G_M63357_IG02
+RWD00 dd G_M63357_IG10 - G_M63357_IG02
+ dd G_M63357_IG12 - G_M63357_IG02
+ dd G_M63357_IG06 - G_M63357_IG02
+ dd G_M63357_IG06 - G_M63357_IG02
+ dd G_M63357_IG13 - G_M63357_IG02
-; Total bytes of code 680, prolog size 32, PerfScore 69.42, instruction count 170, allocated bytes for code 680 (MethodHash=d8500882) for method System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
+; Total bytes of code 672, prolog size 32, PerfScore 68.92, instruction count 168, allocated bytes for code 672 (MethodHash=d8500882) for method System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
; ============================================================
Unwind Info:
@@ -321,7 +313,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 170 (0x000aa) Actual length = 680 (0x0002a8)
+ Function Length : 168 (0x000a8) Actual length = 672 (0x0002a0)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-1.16%) : 68409.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -43,9 +43,9 @@ G_M8081_IG03: ; bbWeight=1.04, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
; gcrRegs +[x21]
ldr x0, [x21]
cmp x0, x20
- bne G_M8081_IG16
+ bne G_M8081_IG15
ldrb w0, [x21, #0x4C]
- cbnz w0, G_M8081_IG17
+ cbnz w0, G_M8081_IG16
ldr x0, [x21, #0x30]
; gcrRegs +[x0]
add x0, x0, #52
@@ -55,10 +55,10 @@ G_M8081_IG03: ; bbWeight=1.04, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
; byrRegs -[x0]
mov w1, #0xD1FFAB1E
tst w0, w1
- beq G_M8081_IG18
+ beq G_M8081_IG17
ldp w0, w1, [x21, #0x38]
cmp w0, w1
- beq G_M8081_IG09
+ beq G_M8081_IG10
;; size=60 bbWeight=1.04 PerfScore 25.41
G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
ldr x0, [x21, #0x28]
@@ -67,7 +67,7 @@ G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
sxtw w2, w1
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M8081_IG15
+ bhs G_M8081_IG14
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -82,22 +82,33 @@ G_M8081_IG05: ; bbWeight=1.04, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
add w1, w1, #1
str w1, [x19, #0x24]
cmn w0, #1
- beq G_M8081_IG13
+ beq G_M8081_IG12
;; size=20 bbWeight=1.04 PerfScore 6.22
G_M8081_IG06: ; bbWeight=1.04, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #10
- beq G_M8081_IG12
+ beq G_M8081_IG09
;; size=8 bbWeight=1.04 PerfScore 1.56
G_M8081_IG07: ; bbWeight=1.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #13
beq G_M8081_IG03
;; size=8 bbWeight=1.00 PerfScore 1.50
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[x19]
- b G_M8081_IG11
- ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[x19 x21]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
+ ldp fp, lr, [sp], #0x30
+ ret lr
+ ;; size=16 bbWeight=1.00 PerfScore 5.00
+G_M8081_IG09: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+ ; gcrRegs +[x19]
+ str wzr, [x19, #0x24]
+ ldr w0, [x19, #0x20]
+ add w0, w0, #1
+ str w0, [x19, #0x20]
+ b G_M8081_IG03
+ ;; size=20 bbWeight=0.04 PerfScore 0.24
+G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[x21]
mov x0, x21
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for System.IO.StreamReader:ReadBuffer():int:this
@@ -109,41 +120,26 @@ G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
; gcr arg pop 0
cbnz w0, G_M8081_IG04
;; size=28 bbWeight=0.00 PerfScore 0.01
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
; gcrRegs -[x21]
movn w0, #0
b G_M8081_IG05
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
- ; gcrRegs -[x19]
- ldr x21, [sp, #0x28]
- ldp x19, x20, [sp, #0x18]
- ldp fp, lr, [sp], #0x30
- ret lr
- ;; size=16 bbWeight=1.00 PerfScore 5.00
-G_M8081_IG12: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs +[x19]
- str wzr, [x19, #0x24]
- ldr w0, [x19, #0x20]
- add w0, w0, #1
- str w0, [x19, #0x20]
- b G_M8081_IG03
- ;; size=20 bbWeight=0.04 PerfScore 0.24
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
movn w0, #0
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
ldr x21, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
; gcrRegs +[x19 x21]
mov x0, x21
; gcrRegs +[x0]
@@ -155,7 +151,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}
; gcr arg pop 0
b G_M8081_IG05
;; size=24 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x19] +[x21]
mov x0, x21
; gcrRegs +[x0]
@@ -168,7 +164,7 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
; gcr arg pop 0
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // code for System.IO.StreamReader:ThrowAsyncIOInProgress()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -178,7 +174,7 @@ G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 344, prolog size 20, PerfScore 62.74, instruction count 86, allocated bytes for code 344 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 340, prolog size 20, PerfScore 62.24, instruction count 85, allocated bytes for code 340 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
@@ -189,7 +185,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 86 (0x00056) Actual length = 344 (0x000158)
+ Function Length : 85 (0x00055) Actual length = 340 (0x000154)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-1.16%) : 70461.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -43,9 +43,9 @@ G_M8081_IG03: ; bbWeight=1.04, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
; gcrRegs +[x21]
ldr x0, [x21]
cmp x0, x20
- bne G_M8081_IG17
+ bne G_M8081_IG16
ldrb w0, [x21, #0x4C]
- cbnz w0, G_M8081_IG18
+ cbnz w0, G_M8081_IG17
;; size=24 bbWeight=1.04 PerfScore 11.91
G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
ldr x0, [x21, #0x30]
@@ -57,10 +57,10 @@ G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
; byrRegs -[x0]
mov w1, #0xD1FFAB1E
tst w0, w1
- beq G_M8081_IG19
+ beq G_M8081_IG18
ldp w0, w1, [x21, #0x38]
cmp w0, w1
- beq G_M8081_IG10
+ beq G_M8081_IG11
;; size=36 bbWeight=1.04 PerfScore 13.46
G_M8081_IG05: ; bbWeight=1.04, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
ldr x0, [x21, #0x28]
@@ -69,7 +69,7 @@ G_M8081_IG05: ; bbWeight=1.04, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
sxtw w2, w1
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M8081_IG16
+ bhs G_M8081_IG15
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -84,22 +84,33 @@ G_M8081_IG06: ; bbWeight=1.04, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
add w1, w1, #1
str w1, [x19, #0x24]
cmn w0, #1
- beq G_M8081_IG14
+ beq G_M8081_IG13
;; size=20 bbWeight=1.04 PerfScore 6.21
G_M8081_IG07: ; bbWeight=1.04, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #10
- beq G_M8081_IG13
+ beq G_M8081_IG10
;; size=8 bbWeight=1.04 PerfScore 1.55
G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #13
beq G_M8081_IG03
;; size=8 bbWeight=1.00 PerfScore 1.50
-G_M8081_IG09: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG09: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[x19]
- b G_M8081_IG12
- ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[x19 x21]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
+ ldp fp, lr, [sp], #0x30
+ ret lr
+ ;; size=16 bbWeight=1.00 PerfScore 5.00
+G_M8081_IG10: ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+ ; gcrRegs +[x19]
+ str wzr, [x19, #0x24]
+ ldr w0, [x19, #0x20]
+ add w0, w0, #1
+ str w0, [x19, #0x20]
+ b G_M8081_IG03
+ ;; size=20 bbWeight=0.03 PerfScore 0.23
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[x21]
mov x0, x21
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for System.IO.StreamReader:ReadBuffer():int:this
@@ -111,41 +122,26 @@ G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
; gcr arg pop 0
cbnz w0, G_M8081_IG05
;; size=28 bbWeight=0.00 PerfScore 0.01
-G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
; gcrRegs -[x21]
movn w0, #0
b G_M8081_IG06
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG12: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
- ; gcrRegs -[x19]
- ldr x21, [sp, #0x28]
- ldp x19, x20, [sp, #0x18]
- ldp fp, lr, [sp], #0x30
- ret lr
- ;; size=16 bbWeight=1.00 PerfScore 5.00
-G_M8081_IG13: ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs +[x19]
- str wzr, [x19, #0x24]
- ldr w0, [x19, #0x20]
- add w0, w0, #1
- str w0, [x19, #0x20]
- b G_M8081_IG03
- ;; size=20 bbWeight=0.03 PerfScore 0.23
-G_M8081_IG14: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
movn w0, #0
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
ldr x21, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
; gcrRegs +[x19 x21]
mov x0, x21
; gcrRegs +[x0]
@@ -157,7 +153,7 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}
; gcr arg pop 0
b G_M8081_IG06
;; size=24 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x19] +[x21]
mov x0, x21
; gcrRegs +[x0]
@@ -170,7 +166,7 @@ G_M8081_IG18: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
; gcr arg pop 0
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
-G_M8081_IG19: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // code for System.IO.StreamReader:ThrowAsyncIOInProgress()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -180,7 +176,7 @@ G_M8081_IG19: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 344, prolog size 20, PerfScore 62.63, instruction count 86, allocated bytes for code 344 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 340, prolog size 20, PerfScore 62.13, instruction count 85, allocated bytes for code 340 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
@@ -191,7 +187,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 86 (0x00056) Actual length = 344 (0x000158)
+ Function Length : 85 (0x00055) Actual length = 340 (0x000154)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+8 (+0.50%) : 704593.dasm - System.Text.RegularExpressions.Regex:RunAllMatchesWithCallback[System.ValueTuple6[System.__Canon,System.__Canon,System.Text.StructListBuilder
1[int],System.ReadOnlyMemory1[ushort],int,int]](System.String,System.ReadOnlySpan
1[ushort],int,byref,System.Text.RegularExpressions.MatchCallback1[System.ValueTuple
6[System.Canon,System.Canon,System.Text.StructListBuilder1[int],System.ReadOnlyMemory
1[ushort],int,int]],int,ubyte):this (Tier1)
@@ -21,8 +21,8 @@
; V09 loc0 [V09,T00] ( 46,2570.68) ref -> [fp+0x30] class-hnd EH-live spill-single-def <System.Text.RegularExpressions.RegexRunner>
; V10 loc1 [V10,T34] ( 4, 196.81) int -> registers
;* V11 loc2 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd <System.Text.RegularExpressions.Match>
-; V12 loc3 [V12,T56] ( 3, 0.39) int -> x0
-; V13 loc4 [V13,T57] ( 3, 0.39) int -> x2
+; V12 loc3 [V12,T56] ( 3, 0.39) int -> x2
+; V13 loc4 [V13,T57] ( 3, 0.39) int -> x3
;# V14 OutArgs [V14 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V15 tmp1 [V15,T53] ( 2, 4 ) ref -> x1 class-hnd single-def "dup spill" <System.__Canon>
; V16 tmp2 [V16,T52] ( 6, 5.48) ref -> [fp+0x28]
@@ -141,7 +141,7 @@ G_M29863_IG02: ; bbWeight=1, gcVars=0000004000000000 {V00}, gcrefRegs=440
swpal x2, x1, [x1]
; gcrRegs +[x1]
; byrRegs -[x1]
- cbz x1, G_M29863_IG45
+ cbz x1, G_M29863_IG46
;; size=20 bbWeight=1 PerfScore 8.00
G_M29863_IG03: ; bbWeight=1, gcrefRegs=4400003 {x0 x1 x22 x26}, byrefRegs=2080000 {x19 x25}, byref
str x1, [fp, #0x30] // [V09 loc0]
@@ -186,7 +186,7 @@ G_M29863_IG05: ; bbWeight=98.31, gcrefRegs=4400000 {x22 x26}, byrefRegs=2
str w20, [x15, #0x4C]
ldr x20, [x15, #0x28]
; gcrRegs +[x20]
- cbz x20, G_M29863_IG29
+ cbz x20, G_M29863_IG26
;; size=44 bbWeight=98.31 PerfScore 1523.75
G_M29863_IG06: ; bbWeight=82.14, gcrefRegs=4508000 {x15 x20 x22 x26}, byrefRegs=2080000 {x19 x25}, byref, isz
ldr x12, [x15, #0x08]
@@ -221,7 +221,7 @@ G_M29863_IG09: ; bbWeight=82.14, gcrefRegs=4500000 {x20 x22 x26}, byrefRe
; byrRegs -[x0]
strb wzr, [x20, #0x60]
ldr x20, [x20, #0x38]
- cbnz x20, G_M29863_IG42
+ cbnz x20, G_M29863_IG43
;; size=12 bbWeight=82.14 PerfScore 410.70
G_M29863_IG10: ; bbWeight=98.31, gcrefRegs=4400000 {x22 x26}, byrefRegs=2080000 {x19 x25}, byref, isz
; gcrRegs -[x20]
@@ -229,7 +229,7 @@ G_M29863_IG10: ; bbWeight=98.31, gcrefRegs=4400000 {x22 x26}, byrefRegs=2
; gcrRegs +[x20]
ldr x0, [x20, #0x20]
; gcrRegs +[x0]
- cbz x0, G_M29863_IG33
+ cbz x0, G_M29863_IG34
;; size=12 bbWeight=98.31 PerfScore 589.84
G_M29863_IG11: ; bbWeight=92.51, gcrefRegs=4500001 {x0 x20 x22 x26}, byrefRegs=2080000 {x19 x25}, byref
ldr x1, [x20, #0x10]
@@ -266,15 +266,15 @@ G_M29863_IG12: ; bbWeight=98.31, gcrefRegs=4500000 {x20 x22 x26}, byrefRe
; gcrRegs +[x14]
ldr w15, [x14, #0x08]
cmp w15, #0
- bls G_M29863_IG41
+ bls G_M29863_IG42
ldr w0, [x14, #0x10]
cmp w0, #0
- ble G_M29863_IG26
+ ble G_M29863_IG30
;; size=64 bbWeight=98.31 PerfScore 2703.43
G_M29863_IG13: ; bbWeight=50.29, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080000 {x19 x25}, byref, isz
; gcrRegs -[x14]
tst w24, #255
- beq G_M29863_IG31
+ beq G_M29863_IG33
;; size=8 bbWeight=50.29 PerfScore 75.44
G_M29863_IG14: ; bbWeight=50.17, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080000 {x19 x25}, byref, isz
ldr w1, [x20, #0x4C]
@@ -286,24 +286,24 @@ G_M29863_IG14: ; bbWeight=50.17, gcrefRegs=14500000 {x20 x22 x26 x28}, by
; gcrRegs +[x0]
ldr w1, [x0, #0x08]
cmp w1, #0
- bls G_M29863_IG41
+ bls G_M29863_IG42
ldr x0, [x0, #0x10]
ldr w1, [x0, #0x08]
cmp w1, #1
- bls G_M29863_IG41
+ bls G_M29863_IG42
ldp w0, w1, [x0, #0x10]
; gcrRegs -[x0]
stp w0, w1, [x28, #0x10]
cmp w23, #2
- beq G_M29863_IG32
+ beq G_M29863_IG23
;; size=68 bbWeight=50.17 PerfScore 1480.08
G_M29863_IG15: ; bbWeight=98.31, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080000 {x19 x25}, byref, isz
ldr w14, [x28, #0x30]
- cbz w14, G_M29863_IG46
+ cbz w14, G_M29863_IG47
;; size=8 bbWeight=98.31 PerfScore 393.23
G_M29863_IG16: ; bbWeight=97.52, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080000 {x19 x25}, byref, isz
tst w24, #255
- beq G_M29863_IG43
+ beq G_M29863_IG44
;; size=8 bbWeight=97.52 PerfScore 146.29
G_M29863_IG17: ; bbWeight=97.52, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080000 {x19 x25}, byref, isz
ldr x0, [x22, #0x18]
@@ -320,7 +320,7 @@ G_M29863_IG17: ; bbWeight=97.52, gcrefRegs=14500000 {x20 x22 x26 x28}, by
ldr w3, [x0, #0x08]
ldr w4, [x2, #0x08]
cmp w4, w3
- bls G_M29863_IG27
+ bls G_M29863_IG31
;; size=52 bbWeight=97.52 PerfScore 1950.48
G_M29863_IG18: ; bbWeight=78.77, gcrefRegs=14500004 {x2 x20 x22 x26 x28}, byrefRegs=2080001 {x0 x19 x25}, byref
add x2, x2, #16
@@ -342,7 +342,7 @@ G_M29863_IG19: ; bbWeight=97.52, gcrefRegs=14500000 {x20 x22 x26 x28}, by
ldr w3, [x0, #0x08]
ldr w4, [x2, #0x08]
cmp w4, w3
- bls G_M29863_IG28
+ bls G_M29863_IG32
;; size=36 bbWeight=97.52 PerfScore 1706.67
G_M29863_IG20: ; bbWeight=78.77, gcrefRegs=14500004 {x2 x20 x22 x26 x28}, byrefRegs=2080001 {x0 x19 x25}, byref
add x2, x2, #16
@@ -362,40 +362,30 @@ G_M29863_IG21: ; bbWeight=97.52, gcrefRegs=14500000 {x20 x22 x26 x28}, by
ldr w2, [x1]
sub w2, w2, #1
str w2, [x1]
- cbz w2, G_M29863_IG46
+ cbnz w2, G_M29863_IG28
;; size=32 bbWeight=97.52 PerfScore 1024.00
-G_M29863_IG22: ; bbWeight=97.31, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080000 {x19 x25}, byref, isz
- ; byrRegs -[x1]
- ldr w0, [x20, #0x4C]
- sxtw w27, w0
- sxtw w1, w27
- ldr w0, [x28, #0x14]
- cbz w0, G_M29863_IG38
- ;; size=20 bbWeight=97.31 PerfScore 778.45
-G_M29863_IG23: ; bbWeight=97.31, gcrefRegs=4500000 {x20 x22 x26}, byrefRegs=2080000 {x19 x25}, byref
- ; gcrRegs -[x28]
- ldr x0, [x20, #0x10]
+G_M29863_IG22: ; bbWeight=48.76, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+ ; gcrRegs -[x22 x26 x28]
+ ; byrRegs -[x1 x19 x25]
+ b G_M29863_IG47
+ ;; size=4 bbWeight=48.76 PerfScore 48.76
+G_M29863_IG23: ; bbWeight=11.15, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080000 {x19 x25}, byref, isz
+ ; gcrRegs +[x22 x26 x28]
+ ; byrRegs +[x19 x25]
+ ldrb w0, [x28, #0x60]
+ cbz w0, G_M29863_IG15
+ mov x0, x28
; gcrRegs +[x0]
- ldr w0, [x0, #0x08]
+ movz x1, #0xD1FFAB1E // code for System.Text.RegularExpressions.Match:TidyBalancing():this
+ movk x1, #0xD1FFAB1E LSL #16
+ movk x1, #0xD1FFAB1E LSL #32
+ ldr x1, [x1]
+ blr x1
; gcrRegs -[x0]
- str w0, [x20, #0x50]
- ldr x0, [x20, #0x18]
- ; gcrRegs +[x0]
- ldr w0, [x0, #0x08]
- ; gcrRegs -[x0]
- str w0, [x20, #0x54]
- ldr x0, [x20, #0x20]
- ; gcrRegs +[x0]
- ldr w0, [x0, #0x08]
- ; gcrRegs -[x0]
- str w0, [x20, #0x58]
- mov w20, w27
- ; gcrRegs -[x20]
- mov w27, w1
- b G_M29863_IG05
- ;; size=48 bbWeight=97.31 PerfScore 2238.05
+ ; gcr arg pop 0
+ b G_M29863_IG15
+ ;; size=36 bbWeight=11.15 PerfScore 122.64
G_M29863_IG24: ; bbWeight=97.52, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080000 {x19 x25}, byref, isz
- ; gcrRegs +[x20 x28]
mov x1, x19
; byrRegs +[x1]
mov x2, x28
@@ -407,48 +397,18 @@ G_M29863_IG24: ; bbWeight=97.52, gcrefRegs=14500000 {x20 x22 x26 x28}, by
; gcrRegs -[x0 x2]
; byrRegs -[x1]
; gcr arg pop 0
- cbz w0, G_M29863_IG46
+ cbz w0, G_M29863_IG47
;; size=24 bbWeight=97.52 PerfScore 877.72
G_M29863_IG25: ; bbWeight=97.31, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080000 {x19 x25}, byref
- b G_M29863_IG22
+ b G_M29863_IG28
;; size=4 bbWeight=97.31 PerfScore 97.31
-G_M29863_IG26: ; bbWeight=48.01, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080000 {x19 x25}, byref
- str xzr, [x28, #0x08]
- movz x14, #0xD1FFAB1E
- movk x14, #0xD1FFAB1E LSL #16
- movk x14, #0xD1FFAB1E LSL #32
- ldr x28, [x14]
- b G_M29863_IG15
- ;; size=24 bbWeight=48.01 PerfScore 312.09
-G_M29863_IG27: ; bbWeight=18.75, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080001 {x0 x19 x25}, byref
- ; byrRegs +[x0]
- movz x2, #0xD1FFAB1E // code for <unknown method>
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
- ; byrRegs -[x0]
- ; gcr arg pop 0
- b G_M29863_IG19
- ;; size=24 bbWeight=18.75 PerfScore 121.91
-G_M29863_IG28: ; bbWeight=18.75, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080001 {x0 x19 x25}, byref
- ; byrRegs +[x0]
- movz x2, #0xD1FFAB1E // code for <unknown method>
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
- ; byrRegs -[x0]
- ; gcr arg pop 0
- b G_M29863_IG21
- ;; size=24 bbWeight=18.75 PerfScore 121.91
-G_M29863_IG29: ; bbWeight=16.17, gcrefRegs=4408000 {x15 x22 x26}, byrefRegs=2080000 {x19 x25}, byref, isz
+G_M29863_IG26: ; bbWeight=16.17, gcrefRegs=4408000 {x15 x22 x26}, byrefRegs=2080000 {x19 x25}, byref, isz
; gcrRegs -[x20 x28] +[x15]
ldr x28, [x15, #0x30]
; gcrRegs +[x28]
ldr x0, [x28, #0x18]
; gcrRegs +[x0]
- cbnz x0, G_M29863_IG40
+ cbnz x0, G_M29863_IG41
movz x0, #0xD1FFAB1E
; gcrRegs -[x0]
movk x0, #0xD1FFAB1E LSL #16
@@ -546,7 +506,7 @@ G_M29863_IG29: ; bbWeight=16.17, gcrefRegs=4408000 {x15 x22 x26}, byrefRe
mov x15, x20
; gcrRegs +[x15]
;; size=224 bbWeight=16.17 PerfScore 913.39
-G_M29863_IG30: ; bbWeight=16.17, gcrefRegs=4408000 {x15 x22 x26}, byrefRegs=2080000 {x19 x25}, byref
+G_M29863_IG27: ; bbWeight=16.17, gcrefRegs=4408000 {x15 x22 x26}, byrefRegs=2080000 {x19 x25}, byref
; gcrRegs -[x20]
ldr x20, [fp, #0x30] // [V09 loc0]
; gcrRegs +[x20]
@@ -557,8 +517,68 @@ G_M29863_IG30: ; bbWeight=16.17, gcrefRegs=4408000 {x15 x22 x26}, byrefRe
; byrRegs -[x14]
b G_M29863_IG10
;; size=16 bbWeight=16.17 PerfScore 72.75
-G_M29863_IG31: ; bbWeight=12.35, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080000 {x19 x25}, byref
+G_M29863_IG28: ; bbWeight=97.31, gcrefRegs=14500000 {x20 x22 x26 x28}, byrefRegs=2080000 {x19 x25}, byref, isz
; gcrRegs +[x28]
+ ldr w0, [x20, #0x4C]
+ sxtw w27, w0
+ sxtw w1, w27
+ ldr w0, [x28, #0x14]
+ cbz w0, G_M29863_IG39
+ ;; size=20 bbWeight=97.31 PerfScore 778.45
...
+8 (+0.66%) : 681388.dasm - System.Collections.Concurrent.ConcurrentDictionary2[Microsoft.CodeAnalysis.IReferenceOrISignature,uint]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary
2+Tables[Microsoft.CodeAnalysis.IReferenceOrISignature,uint],Microsoft.CodeAnalysis.IReferenceOrISignature,System.Nullable`1[int],uint,ubyte,ubyte,byref):ubyte:this (Tier1)
@@ -103,10 +103,10 @@ G_M33260_IG02: ; bbWeight=1, gcVars=000000000000060A {V00 V01 V07 V45}, g
ldrb w2, [fp, #0x70] // [V03 arg3]
; gcrRegs -[x2]
ldr w19, [fp, #0x74] // [V03 arg3+0x04]
- cbnz w2, G_M33260_IG39
+ cbnz w2, G_M33260_IG41
ldr x2, [fp, #0x28] // [V08 loc0]
; gcrRegs +[x2]
- cbnz x2, G_M33260_IG38
+ cbnz x2, G_M33260_IG40
;; size=32 bbWeight=1 PerfScore 14.00
G_M33260_IG03: ; bbWeight=1.00, gcVars=000000000400060A {V00 V01 V07 V08 V45}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[x2]
@@ -143,12 +143,12 @@ G_M33260_IG05: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ldr w1, [x1, #0x08]
; gcrRegs -[x1]
cmp w1, #0
- beq G_M33260_IG37
+ beq G_M33260_IG39
udiv w4, w2, w1
msub w1, w4, w1, w2
str w1, [fp, #0x5C] // [V13 loc5]
cmp w2, w3
- bhs G_M33260_IG36
+ bhs G_M33260_IG38
ubfiz x1, x2, #3, #32
add x1, x1, #16
add x20, x0, x1
@@ -180,7 +180,7 @@ G_M33260_IG07: ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=100000 {x20}
; gcrRegs +[x0]
ldrb w1, [fp, #0x50] // [V16 loc8]
; byrRegs -[x1]
- cbnz w1, G_M33260_IG27
+ cbnz w1, G_M33260_IG20
add x1, fp, #80 // [V16 loc8]
bl <unknown method>
; gcrRegs -[x0]
@@ -207,7 +207,7 @@ G_M33260_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
; gcrRegs +[x21]
ldr x22, [x20]
; gcrRegs +[x22]
- cbnz x22, G_M33260_IG16
+ cbnz x22, G_M33260_IG27
;; size=32 bbWeight=1 PerfScore 12.50
G_M33260_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref, isz
; gcrRegs -[x0-x2 x21-x22]
@@ -259,7 +259,7 @@ G_M33260_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
add x0, x0, x1
ldr w1, [x0]
adds w1, w1, #1
- bvs G_M33260_IG20
+ bvs G_M33260_IG19
str w1, [x0]
ldr x0, [fp, #0x40] // [V00 this]
; gcrRegs +[x0]
@@ -268,7 +268,7 @@ G_M33260_IG09: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, b
mov w3, #1
cmp w1, w2
csel w19, w19, w3, le
- b G_M33260_IG28
+ b G_M33260_IG30
;; size=152 bbWeight=1 PerfScore 47.50
G_M33260_IG10: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x0]
@@ -289,7 +289,7 @@ G_M33260_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcrRegs +[x11]
ldr x11, [x11, #0x08]
cmp x1, x11
- beq G_M33260_IG40
+ beq G_M33260_IG42
ldr x1, [fp, #0x38] // [V01 arg1]
ldr x1, [x1, #0x08]
str x1, [fp, #0x28] // [V08 loc0]
@@ -316,7 +316,7 @@ G_M33260_IG12: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
;; size=8 bbWeight=0 PerfScore 0.00
G_M33260_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str w0, [fp, #0x60] // [V09 loc1]
- b G_M33260_IG40
+ b G_M33260_IG42
;; size=8 bbWeight=0 PerfScore 0.00
G_M33260_IG14: ; bbWeight=0.00, gcrefRegs=600000 {x21 x22}, byrefRegs=100000 {x20}, byref, isz
; gcrRegs +[x21-x22]
@@ -326,56 +326,43 @@ G_M33260_IG14: ; bbWeight=0.00, gcrefRegs=600000 {x21 x22}, byrefRegs=100
ldr x2, [fp, #0x18] // [V45 tmp22]
; gcrRegs +[x2]
cmp x1, x2
- beq G_M33260_IG21
+ bne G_M33260_IG17
;; size=16 bbWeight=0.00 PerfScore 0.01
-G_M33260_IG15: ; bbWeight=0.42, gcrefRegs=400000 {x22}, byrefRegs=100000 {x20}, byref, isz
- ; gcrRegs -[x1-x2 x21]
+G_M33260_IG15: ; bbWeight=0.00, gcrefRegs=600000 {x21 x22}, byrefRegs=100000 {x20}, byref
+ ; gcrRegs -[x1-x2]
+ b G_M33260_IG21
+ ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M33260_IG16: ; bbWeight=0.00, gcrefRegs=600000 {x21 x22}, byrefRegs=100000 {x20}, byref, isz
+ cbnz w0, G_M33260_IG21
+ ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M33260_IG17: ; bbWeight=0.42, gcrefRegs=400000 {x22}, byrefRegs=100000 {x20}, byref, isz
+ ; gcrRegs -[x21]
mov x21, x22
; gcrRegs +[x21]
add x1, x21, #8
; byrRegs +[x1]
ldapr x22, [x1]
- cbz x22, G_M33260_IG09
+ cbnz x22, G_M33260_IG27
;; size=16 bbWeight=0.42 PerfScore 2.09
-G_M33260_IG16: ; bbWeight=0.42, gcrefRegs=600000 {x21 x22}, byrefRegs=100000 {x20}, byref, isz
+G_M33260_IG18: ; bbWeight=0.29, gcrefRegs=0000 {}, byrefRegs=100000 {x20}, byref
+ ; gcrRegs -[x21-x22]
; byrRegs -[x1]
- ldr w1, [fp, #0x60] // [V09 loc1]
- ldr w2, [x22, #0x14]
- cmp w1, w2
- bne G_M33260_IG15
- ;; size=16 bbWeight=0.42 PerfScore 2.72
-G_M33260_IG17: ; bbWeight=0.00, gcrefRegs=600000 {x21 x22}, byrefRegs=100000 {x20}, byref, isz
- ldr x1, [fp, #0x28] // [V08 loc0]
- ; gcrRegs +[x1]
- cbz x1, G_M33260_IG14
- ;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M33260_IG18: ; bbWeight=0.00, gcrefRegs=600000 {x21 x22}, byrefRegs=100000 {x20}, byref, isz
- ; gcrRegs -[x1]
- ldr x1, [x22, #0x18]
- ; gcrRegs +[x1]
- ldr x0, [fp, #0x28] // [V08 loc0]
- ; gcrRegs +[x0]
- ldr x2, [fp, #0x18] // [V45 tmp22]
- ; gcrRegs +[x2]
- movz x11, #0xD1FFAB1E // code for <unknown method>
- movk x11, #0xD1FFAB1E LSL #16
- movk x11, #0xD1FFAB1E LSL #32
- ldr x3, [x11]
- blr x3
- ; gcrRegs -[x0-x2]
- ; gcr arg pop 0
- cbnz w0, G_M33260_IG21
- ;; size=36 bbWeight=0.00 PerfScore 0.01
-G_M33260_IG19: ; bbWeight=0.00, gcrefRegs=400000 {x22}, byrefRegs=100000 {x20}, byref
- ; gcrRegs -[x21]
- b G_M33260_IG15
- ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M33260_IG20: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x22]
+ b G_M33260_IG09
+ ;; size=4 bbWeight=0.29 PerfScore 0.29
+G_M33260_IG19: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; byrRegs -[x20]
bl CORINFO_HELP_OVERFLOW
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
+G_M33260_IG20: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ movz x2, #0xD1FFAB1E // code for System.Threading.Monitor:ThrowLockTakenException()
+ movk x2, #0xD1FFAB1E LSL #16
+ movk x2, #0xD1FFAB1E LSL #32
+ ldr x2, [x2]
+ blr x2
+ ; gcr arg pop 0
+ brk_unix #0
+ ;; size=24 bbWeight=0 PerfScore 0.00
G_M33260_IG21: ; bbWeight=0, gcrefRegs=600000 {x21 x22}, byrefRegs=100000 {x20}, byref, isz
; gcrRegs +[x21-x22]
; byrRegs +[x20]
@@ -464,31 +451,53 @@ G_M33260_IG25: ; bbWeight=0, gcrefRegs=400000 {x22}, byrefRegs=0000 {}, b
G_M33260_IG26: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0080 {x7}, byref
; gcrRegs -[x22]
str wzr, [fp, #0x4C] // [V22 loc14]
- b G_M33260_IG42
+ b G_M33260_IG44
;; size=8 bbWeight=0 PerfScore 0.00
-G_M33260_IG27: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[x7]
- movz x2, #0xD1FFAB1E // code for System.Threading.Monitor:ThrowLockTakenException()
- movk x2, #0xD1FFAB1E LSL #16
- movk x2, #0xD1FFAB1E LSL #32
- ldr x2, [x2]
- blr x2
+G_M33260_IG27: ; bbWeight=0.42, gcrefRegs=600000 {x21 x22}, byrefRegs=100000 {x20}, byref, isz
+ ; gcrRegs +[x21-x22]
+ ; byrRegs -[x7] +[x20]
+ ldr w1, [fp, #0x60] // [V09 loc1]
+ ldr w2, [x22, #0x14]
+ cmp w1, w2
+ bne G_M33260_IG17
+ ;; size=16 bbWeight=0.42 PerfScore 2.72
+G_M33260_IG28: ; bbWeight=0.00, gcrefRegs=600000 {x21 x22}, byrefRegs=100000 {x20}, byref, isz
+ ldr x1, [fp, #0x28] // [V08 loc0]
+ ; gcrRegs +[x1]
+ cbz x1, G_M33260_IG14
+ ;; size=8 bbWeight=0.00 PerfScore 0.00
+G_M33260_IG29: ; bbWeight=0.00, gcrefRegs=600000 {x21 x22}, byrefRegs=100000 {x20}, byref
+ ; gcrRegs -[x1]
+ ldr x1, [x22, #0x18]
+ ; gcrRegs +[x1]
+ ldr x0, [fp, #0x28] // [V08 loc0]
+ ; gcrRegs +[x0]
+ ldr x2, [fp, #0x18] // [V45 tmp22]
+ ; gcrRegs +[x2]
+ movz x11, #0xD1FFAB1E // code for <unknown method>
+ movk x11, #0xD1FFAB1E LSL #16
+ movk x11, #0xD1FFAB1E LSL #32
+ ldr x3, [x11]
+ blr x3
+ ; gcrRegs -[x0-x2]
; gcr arg pop 0
- brk_unix #0
- ;; size=24 bbWeight=0 PerfScore 0.00
-G_M33260_IG28: ; bbWeight=0.99, gcVars=000000000000240A {V00 V01 V07 V11}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+ b G_M33260_IG16
+ ;; size=36 bbWeight=0.00 PerfScore 0.01
+G_M33260_IG30: ; bbWeight=0.99, gcVars=000000000000240A {V00 V01 V07 V11}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+ ; gcrRegs -[x21-x22]
+ ; byrRegs -[x20]
; GC ptr vars -{V08 V45}
ldrb w1, [fp, #0x50] // [V16 loc8]
- cbz w1, G_M33260_IG30
+ cbz w1, G_M33260_IG32
;; size=8 bbWeight=0.99 PerfScore 2.97
-G_M33260_IG29: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M33260_IG31: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
ldr w1, [fp, #0x5C] // [V13 loc5]
ldr x2, [fp, #0x20] // [V11 loc3]
; gcrRegs +[x2]
ldr w2, [x2, #0x08]
; gcrRegs -[x2]
cmp w1, w2
- bhs G_M33260_IG36
+ bhs G_M33260_IG38
ldr x1, [fp, #0x20] // [V11 loc3]
; gcrRegs +[x1]
add x1, x1, #16
@@ -503,10 +512,10 @@ G_M33260_IG29: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
; byrRegs -[x1]
; gcr arg pop 0
;; size=40 bbWeight=1.00 PerfScore 16.93
-G_M33260_IG30: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- cbnz w19, G_M33260_IG33
+G_M33260_IG32: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ cbnz w19, G_M33260_IG35
;; size=4 bbWeight=1 PerfScore 1.00
-G_M33260_IG31: ; bbWeight=1, gcVars=0000000000000400 {V07}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M33260_IG33: ; bbWeight=1, gcVars=0000000000000400 {V07}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V00 V01}
ldr x7, [fp, #0x30] // [V07 arg7]
; byrRegs +[x7]
@@ -514,13 +523,13 @@ G_M33260_IG31: ; bbWeight=1, gcVars=0000000000000400 {V07}, gcrefRegs=000
str w4, [x7]
mov w0, #1
;; size=16 bbWeight=1 PerfScore 5.50
...
+16 (+1.56%) : 546517.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
@@ -16,10 +16,10 @@
; V04 loc2 [V04,T14] ( 5, 2.05) ubyte -> x22
; V05 loc3 [V05,T27] ( 3, 0.78) ubyte -> x3
; V06 loc4 [V06,T04] ( 7, 7 ) long -> x0
-; V07 loc5 [V07,T38] ( 2, 0.15) int -> x0
-; V08 loc6 [V08,T30] ( 2, 0.58) int -> x2
+; V07 loc5 [V07,T38] ( 2, 0.15) int -> x24
+; V08 loc6 [V08,T30] ( 2, 0.58) int -> x23
; V09 loc7 [V09,T22] ( 4, 1.16) long -> x0
-; V10 loc8 [V10 ] ( 3, 1.51) byref -> [fp+0x18] must-init pinned
+; V10 loc8 [V10 ] ( 3, 1.51) byref -> [fp+0x10] must-init pinned
; V11 loc9 [V11,T31] ( 8, 0.54) int -> x1
; V12 loc10 [V12,T35] ( 3, 0.31) int -> x2
;* V13 loc11 [V13 ] ( 0, 0 ) long -> zero-ref
@@ -27,11 +27,11 @@
;# V15 OutArgs [V15 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V16 tmp1 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Uri+UriInfo>
; V17 tmp2 [V17,T05] ( 4, 6.86) int -> x23 "impSpillLclRefs"
-; V18 tmp3 [V18,T40] ( 3, 0.09) byref -> x1 "dup spill"
+; V18 tmp3 [V18,T40] ( 3, 0.09) byref -> x0 "dup spill"
;* V19 tmp4 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
;* V20 tmp5 [V20 ] ( 0, 0 ) ref -> zero-ref single-def
; V21 tmp6 [V21,T23] ( 3, 1.01) long -> x0
-; V22 tmp7 [V22,T37] ( 2, 0.21) int -> x24 "dup spill"
+; V22 tmp7 [V22,T37] ( 2, 0.21) int -> x26 "dup spill"
;* V23 tmp8 [V23 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
; V24 tmp9 [V24,T41] ( 3, 0 ) byref -> x0 "dup spill"
;* V25 tmp10 [V25 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.UriParser>
@@ -47,35 +47,37 @@
;* V35 tmp20 [V35,T32] ( 0, 0 ) ref -> zero-ref "arr expr"
;* V36 tmp21 [V36,T34] ( 0, 0 ) ref -> zero-ref "arr expr"
; V37 tmp22 [V37,T24] ( 3, 0.95) ref -> x0 "arr expr"
-; V38 tmp23 [V38,T33] ( 3, 0.50) ref -> x1 "arr expr"
+; V38 tmp23 [V38,T33] ( 3, 0.50) ref -> x0 "arr expr"
;* V39 tmp24 [V39,T39] ( 0, 0 ) ref -> zero-ref "arr expr"
; V40 tmp25 [V40,T18] ( 3, 0.46) ref -> x0 "arr expr"
; V41 tmp26 [V41,T16] ( 2, 2.02) long -> x0 "Cast away GC"
-; V42 cse0 [V42,T28] ( 3, 0.69) int -> x3 "CSE - conservative"
-; V43 cse1 [V43,T36] ( 3, 0.24) int -> x1 "CSE - conservative"
-; V44 cse2 [V44,T29] ( 3, 0.62) int -> x0 "CSE - conservative"
+; V42 cse0 [V42,T28] ( 3, 0.69) int -> x27 "CSE - conservative"
+; V43 cse1 [V43,T36] ( 3, 0.24) int -> x25 "CSE - conservative"
+; V44 cse2 [V44,T29] ( 3, 0.62) int -> x1 "CSE - conservative"
; V45 cse3 [V45,T08] ( 2, 1.71) ref -> x0 "CSE - aggressive"
; V46 cse4 [V46,T19] ( 4, 1.16) ref -> x0 multi-def "CSE - moderate"
-; V47 cse5 [V47,T10] ( 5, 3.57) int -> x1 "CSE - aggressive"
-; V48 cse6 [V48,T09] ( 5, 3.57) byref -> x0 "CSE - aggressive"
+; V47 cse5 [V47,T10] ( 5, 3.57) int -> x25 "CSE - aggressive"
+; V48 cse6 [V48,T09] ( 5, 3.57) byref -> x24 "CSE - aggressive"
; V49 cse7 [V49,T17] ( 2, 2 ) byref -> x1 hoist "CSE - moderate"
-; V50 cse8 [V50,T13] ( 3, 2.39) int -> x2 "CSE - moderate"
-; V51 cse9 [V51,T26] ( 3, 0.86) int -> x1 "CSE - conservative"
-; V52 cse10 [V52,T25] ( 3, 0.86) byref -> x0 "CSE - conservative"
+; V50 cse8 [V50,T13] ( 3, 2.39) int -> x0 "CSE - moderate"
+; V51 cse9 [V51,T26] ( 3, 0.86) int -> x27 "CSE - conservative"
+; V52 cse10 [V52,T25] ( 3, 0.86) byref -> x23 "CSE - conservative"
;
-; Lcl frame size = 16
+; Lcl frame size = 8
G_M10115_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
- stp fp, lr, [sp, #-0x50]!
- stp x19, x20, [sp, #0x20]
- stp x21, x22, [sp, #0x30]
- stp x23, x24, [sp, #0x40]
+ stp fp, lr, [sp, #-0x60]!
+ stp x19, x20, [sp, #0x18]
+ stp x21, x22, [sp, #0x28]
+ stp x23, x24, [sp, #0x38]
+ stp x25, x26, [sp, #0x48]
+ str x27, [sp, #0x58]
mov fp, sp
- str xzr, [fp, #0x18] // [V10 loc8]
+ str xzr, [fp, #0x10] // [V10 loc8]
mov x20, x0
; gcrRegs +[x20]
mov x19, x1
- ;; size=32 bbWeight=1 PerfScore 6.50
+ ;; size=40 bbWeight=1 PerfScore 8.50
G_M10115_IG02: ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -92,7 +94,7 @@ G_M10115_IG02: ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
ldr w0, [x20, #0x28]
tbnz w0, #24, G_M10115_IG22
mov w22, wzr
- tbnz w19, #29, G_M10115_IG43
+ tbnz w19, #29, G_M10115_IG36
;; size=48 bbWeight=1 PerfScore 15.50
G_M10115_IG03: ; bbWeight=0.84, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
ldr x0, [x20, #0x18]
@@ -103,44 +105,44 @@ G_M10115_IG03: ; bbWeight=0.84, gcrefRegs=300000 {x20 x21}, byrefRegs=000
G_M10115_IG04: ; bbWeight=0.86, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
add w0, w23, #1
- sxtw w24, w0
+ sxtw w26, w0
ldr x0, [x20, #0x08]
; gcrRegs +[x0]
- ldr w1, [x0, #0x08]
- cmp w23, w1
- bhs G_M10115_IG57
- add x0, x0, #12
+ ldr w25, [x0, #0x08]
+ cmp w23, w25
+ bhs G_M10115_IG56
+ add x24, x0, #12
+ ; byrRegs +[x24]
+ ldrh w0, [x24, w23, UXTW #2]
; gcrRegs -[x0]
- ; byrRegs +[x0]
- ldrh w2, [x0, w23, UXTW #2]
- cmp w2, #58
- bne G_M10115_IG54
+ cmp w0, #58
+ bne G_M10115_IG53
;; size=40 bbWeight=0.86 PerfScore 11.57
-G_M10115_IG05: ; bbWeight=0.84, gcrefRegs=300000 {x20 x21}, byrefRegs=0001 {x0}, byref, isz
+G_M10115_IG05: ; bbWeight=0.84, gcrefRegs=300000 {x20 x21}, byrefRegs=1000000 {x24}, byref, isz
tbz w19, #20, G_M10115_IG09
;; size=4 bbWeight=0.84 PerfScore 0.84
-G_M10115_IG06: ; bbWeight=0.81, gcrefRegs=300000 {x20 x21}, byrefRegs=0001 {x0}, byref, isz
- cmp w24, w1
- bhs G_M10115_IG57
- ldrh w2, [x0, w24, UXTW #2]
- cmp w2, #92
- beq G_M10115_IG55
+G_M10115_IG06: ; bbWeight=0.81, gcrefRegs=300000 {x20 x21}, byrefRegs=1000000 {x24}, byref, isz
+ cmp w26, w25
+ bhs G_M10115_IG56
+ ldrh w0, [x24, w26, UXTW #2]
+ cmp w0, #92
+ beq G_M10115_IG54
;; size=20 bbWeight=0.81 PerfScore 4.83
-G_M10115_IG07: ; bbWeight=0.80, gcrefRegs=300000 {x20 x21}, byrefRegs=0001 {x0}, byref, isz
- add w2, w24, #1
- cmp w2, w1
- bhs G_M10115_IG57
- ldrh w2, [x0, w2, UXTW #2]
- cmp w2, #92
- beq G_M10115_IG55
+G_M10115_IG07: ; bbWeight=0.80, gcrefRegs=300000 {x20 x21}, byrefRegs=1000000 {x24}, byref, isz
+ add w0, w26, #1
+ cmp w0, w25
+ bhs G_M10115_IG56
+ ldrh w0, [x24, w0, UXTW #2]
+ cmp w0, #92
+ beq G_M10115_IG54
;; size=24 bbWeight=0.80 PerfScore 5.18
-G_M10115_IG08: ; bbWeight=0.81, gcrefRegs=300000 {x20 x21}, byrefRegs=0001 {x0}, byref, isz
- add w24, w24, #2
+G_M10115_IG08: ; bbWeight=0.81, gcrefRegs=300000 {x20 x21}, byrefRegs=1000000 {x24}, byref, isz
+ add w26, w26, #2
tst w19, #0xD1FFAB1E
- bne G_M10115_IG41
+ bne G_M10115_IG34
;; size=12 bbWeight=0.81 PerfScore 1.61
G_M10115_IG09: ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
- ; byrRegs -[x0]
+ ; byrRegs -[x24]
ldr x0, [x20, #0x18]
; gcrRegs +[x0]
ldr w0, [x0, #0x14]
@@ -158,35 +160,35 @@ G_M10115_IG10: ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=000
G_M10115_IG11: ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
and w0, w19, #0xD1FFAB1E
cmp w0, #112, LSL #12
- beq G_M10115_IG42
+ beq G_M10115_IG35
;; size=12 bbWeight=1 PerfScore 2.00
G_M10115_IG12: ; bbWeight=0.98, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
- tbnz w19, #27, G_M10115_IG42
+ tbnz w19, #27, G_M10115_IG35
;; size=4 bbWeight=0.98 PerfScore 0.98
G_M10115_IG13: ; bbWeight=0.79, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
- strh w24, [x21, #0x3A]
+ strh w26, [x21, #0x3A]
ldr w0, [x20, #0x28]
and w0, w0, #0xD1FFAB1E
cmp w0, #80, LSL #12
- beq G_M10115_IG51
+ beq G_M10115_IG44
;; size=20 bbWeight=0.79 PerfScore 4.77
G_M10115_IG14: ; bbWeight=0.67, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
- tbnz w19, #21, G_M10115_IG33
+ tbnz w19, #21, G_M10115_IG26
;; size=4 bbWeight=0.67 PerfScore 0.67
G_M10115_IG15: ; bbWeight=0.67, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
- strh w24, [x21, #0x3C]
- uxth w24, w19
+ strh w26, [x21, #0x3C]
+ uxth w26, w19
and x19, x19, #0xD1FFAB1E
orr x0, x19, #1
cmp w22, #0
csel x19, x19, x0, eq
- strh w24, [x21, #0x40]
+ strh w26, [x21, #0x40]
mov w3, wzr
- tbnz x19, #33, G_M10115_IG52
+ tbnz x19, #33, G_M10115_IG51
;; size=36 bbWeight=0.67 PerfScore 4.02
G_M10115_IG16: ; bbWeight=0.67, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
ldrh w0, [x21, #0x46]
- cmp w24, w0
+ cmp w26, w0
bge G_M10115_IG22
;; size=12 bbWeight=0.67 PerfScore 3.01
G_M10115_IG17: ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
@@ -200,27 +202,27 @@ G_M10115_IG18: ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=000
; gcrRegs +[x0]
;; size=4 bbWeight=0.50 PerfScore 1.51
G_M10115_IG19: ; bbWeight=0.50, gcrefRegs=300001 {x0 x20 x21}, byrefRegs=0000 {}, byref, isz
- cbz x0, G_M10115_IG59
+ cbz x0, G_M10115_IG58
add x0, x0, #12
; gcrRegs -[x0]
; byrRegs +[x0]
- str x0, [fp, #0x18] // [V10 loc8]
- ldr x0, [fp, #0x18] // [V10 loc8]
+ str x0, [fp, #0x10] // [V10 loc8]
+ ldr x0, [fp, #0x10] // [V10 loc8]
;; size=16 bbWeight=0.50 PerfScore 2.27
G_M10115_IG20: ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
; byrRegs -[x0]
- ldrh w1, [x0, w24, SXTW #2]
+ ldrh w1, [x0, w26, SXTW #2]
cmp w1, #58
- beq G_M10115_IG27
+ beq G_M10115_IG45
;; size=12 bbWeight=0.50 PerfScore 2.27
G_M10115_IG21: ; bbWeight=0.50, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
- str xzr, [fp, #0x18] // [V10 loc8]
+ str xzr, [fp, #0x10] // [V10 loc8]
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M10115_IG22: ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
orr x19, x19, #0xD1FFAB1E
add x0, x20, #32
; byrRegs +[x0]
- cbz x0, G_M10115_IG60
+ cbz x0, G_M10115_IG59
mov x1, x21
; gcrRegs +[x1]
mov x2, xzr
@@ -245,149 +247,98 @@ G_M10115_IG23: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {x1}, byre
;; size=24 bbWeight=1 PerfScore 6.00
G_M10115_IG24: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; byrRegs -[x1]
- ldp x23, x24, [sp, #0x40]
- ldp x21, x22, [sp, #0x30]
...
Details
Improvements/regressions per collection
Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
benchmarks.run.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
benchmarks.run_pgo.linux.arm64.checked.mch |
5 |
2 |
1 |
2 |
-20 |
+12 |
benchmarks.run_tiered.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
coreclr_tests.run.linux.arm64.checked.mch |
3 |
0 |
0 |
3 |
-0 |
+0 |
libraries.crossgen2.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
libraries.pmi.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
libraries_tests.run.linux.arm64.Release.mch |
188 |
158 |
4 |
26 |
-684 |
+36 |
librariestestsnotieredcompilation.run.linux.arm64.Release.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
realworld.run.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
smoke_tests.nativeaot.linux.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
|
196 |
160 |
5 |
31 |
-704 |
+48 |
Context information
Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
benchmarks.run.linux.arm64.checked.mch |
33,710 |
2,779 |
30,931 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_pgo.linux.arm64.checked.mch |
152,904 |
61,290 |
91,614 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_tiered.linux.arm64.checked.mch |
63,814 |
48,019 |
15,795 |
0 (0.00%) |
0 (0.00%) |
coreclr_tests.run.linux.arm64.checked.mch |
625,275 |
382,318 |
242,957 |
1 (0.00%) |
1 (0.00%) |
libraries.crossgen2.linux.arm64.checked.mch |
234,496 |
15 |
234,481 |
0 (0.00%) |
0 (0.00%) |
libraries.pmi.linux.arm64.checked.mch |
295,745 |
6 |
295,739 |
0 (0.00%) |
0 (0.00%) |
libraries_tests.run.linux.arm64.Release.mch |
744,166 |
490,908 |
253,258 |
0 (0.00%) |
0 (0.00%) |
librariestestsnotieredcompilation.run.linux.arm64.Release.mch |
304,865 |
21,599 |
283,266 |
0 (0.00%) |
0 (0.00%) |
realworld.run.linux.arm64.checked.mch |
33,309 |
151 |
33,158 |
0 (0.00%) |
0 (0.00%) |
smoke_tests.nativeaot.linux.arm64.checked.mch |
19,033 |
7 |
19,026 |
0 (0.00%) |
0 (0.00%) |
|
2,507,317 |
1,007,092 |
1,500,225 |
1 (0.00%) |
1 (0.00%) |
jit-analyze output
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: 80093044 (overridden on cmd)
Total bytes of diff: 80093036 (overridden on cmd)
Total bytes of delta: -8 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
12 : 148076.dasm (1.20 % of base)
Top file improvements (bytes):
-16 : 84970.dasm (-0.28 % of base)
-4 : 92308.dasm (-1.08 % of base)
3 total files with Code Size differences (2 improved, 1 regressed), 2 unchanged.
Top method regressions (bytes):
12 (1.20 % of base) : 148076.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1+<SingleSerial>d__21[ubyte]:MoveNext():this (Tier1)
Top method improvements (bytes):
-16 (-0.28 % of base) : 84970.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-4 (-1.08 % of base) : 92308.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
Top method regressions (percentages):
12 (1.20 % of base) : 148076.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1+<SingleSerial>d__21[ubyte]:MoveNext():this (Tier1)
Top method improvements (percentages):
-4 (-1.08 % of base) : 92308.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
-16 (-0.28 % of base) : 84970.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
3 total methods with Code Size differences (2 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: 508749628 (overridden on cmd)
Total bytes of diff: 508749628 (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), 3 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
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: 395710340 (overridden on cmd)
Total bytes of diff: 395709692 (overridden on cmd)
Total bytes of delta: -648 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
16 : 546517.dasm (1.56 % of base)
8 : 681388.dasm (0.66 % of base)
8 : 704593.dasm (0.50 % of base)
4 : 657657.dasm (0.46 % of base)
Top file improvements (bytes):
-20 : 674341.dasm (-0.34 % of base)
-16 : 54224.dasm (-0.28 % of base)
-16 : 86410.dasm (-0.28 % of base)
-12 : 176310.dasm (-0.21 % of base)
-8 : 247804.dasm (-1.18 % of base)
-4 : 119109.dasm (-1.16 % of base)
-4 : 171485.dasm (-1.16 % of base)
-4 : 306761.dasm (-1.16 % of base)
-4 : 68409.dasm (-1.16 % of base)
-4 : 121737.dasm (-1.16 % of base)
-4 : 138229.dasm (-1.16 % of base)
-4 : 191841.dasm (-1.16 % of base)
-4 : 218197.dasm (-1.16 % of base)
-4 : 277301.dasm (-1.16 % of base)
-4 : 114633.dasm (-1.16 % of base)
-4 : 132389.dasm (-1.16 % of base)
-4 : 184313.dasm (-1.16 % of base)
-4 : 192949.dasm (-1.16 % of base)
-4 : 233113.dasm (-1.16 % of base)
-4 : 273269.dasm (-1.16 % of base)
30 total files with Code Size differences (26 improved, 4 regressed), 22 unchanged.
Top method regressions (bytes):
16 (1.56 % of base) : 546517.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
8 (0.66 % of base) : 681388.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[Microsoft.CodeAnalysis.IReferenceOrISignature,uint]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[Microsoft.CodeAnalysis.IReferenceOrISignature,uint],Microsoft.CodeAnalysis.IReferenceOrISignature,System.Nullable`1[int],uint,ubyte,ubyte,byref):ubyte:this (Tier1)
8 (0.50 % of base) : 704593.dasm - System.Text.RegularExpressions.Regex:RunAllMatchesWithCallback[System.ValueTuple`6[System.__Canon,System.__Canon,System.Text.StructListBuilder`1[int],System.ReadOnlyMemory`1[ushort],int,int]](System.String,System.ReadOnlySpan`1[ushort],int,byref,System.Text.RegularExpressions.MatchCallback`1[System.ValueTuple`6[System.__Canon,System.__Canon,System.Text.StructListBuilder`1[int],System.ReadOnlyMemory`1[ushort],int,int]],int,ubyte):this (Tier1)
4 (0.46 % of base) : 657657.dasm - System.Buffers.Text.Base64:DecodeWithWhiteSpaceBlockwise(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref,byref,ubyte):int (Tier1)
Top method improvements (bytes):
-20 (-0.34 % of base) : 674341.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-16 (-0.28 % of base) : 54224.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-16 (-0.28 % of base) : 86410.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-12 (-0.21 % of base) : 176310.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-8 (-1.18 % of base) : 247804.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
-4 (-0.61 % of base) : 62945.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
-4 (-0.61 % of base) : 92621.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
-4 (-1.16 % of base) : 119109.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 171485.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 306761.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 68409.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 121737.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 138229.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 191841.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 218197.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 277301.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 114633.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 132389.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 184313.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 192949.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
Top method regressions (percentages):
16 (1.56 % of base) : 546517.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
8 (0.66 % of base) : 681388.dasm - System.Collections.Concurrent.ConcurrentDictionary`2[Microsoft.CodeAnalysis.IReferenceOrISignature,uint]:TryAddInternal(System.Collections.Concurrent.ConcurrentDictionary`2+Tables[Microsoft.CodeAnalysis.IReferenceOrISignature,uint],Microsoft.CodeAnalysis.IReferenceOrISignature,System.Nullable`1[int],uint,ubyte,ubyte,byref):ubyte:this (Tier1)
8 (0.50 % of base) : 704593.dasm - System.Text.RegularExpressions.Regex:RunAllMatchesWithCallback[System.ValueTuple`6[System.__Canon,System.__Canon,System.Text.StructListBuilder`1[int],System.ReadOnlyMemory`1[ushort],int,int]](System.String,System.ReadOnlySpan`1[ushort],int,byref,System.Text.RegularExpressions.MatchCallback`1[System.ValueTuple`6[System.__Canon,System.__Canon,System.Text.StructListBuilder`1[int],System.ReadOnlyMemory`1[ushort],int,int]],int,ubyte):this (Tier1)
4 (0.46 % of base) : 657657.dasm - System.Buffers.Text.Base64:DecodeWithWhiteSpaceBlockwise(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref,byref,ubyte):int (Tier1)
Top method improvements (percentages):
-8 (-1.18 % of base) : 247804.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
-4 (-1.16 % of base) : 119109.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 171485.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 306761.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 68409.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 121737.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 138229.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 191841.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 218197.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 277301.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 114633.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 132389.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 184313.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 192949.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 233113.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 273269.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 70461.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 95061.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 97289.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 137185.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
linux x64
Diffs are based on 2,517,908 contexts (991,070 MinOpts, 1,526,838 FullOpts).
MISSED contexts: 1 (0.00%)
Overall (-901 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
benchmarks.run_pgo.linux.x64.checked.mch |
71,579,583 |
+30 |
coreclr_tests.run.linux.x64.checked.mch |
403,725,618 |
+0 |
libraries_tests.run.linux.x64.Release.mch |
337,126,106 |
-931 |
FullOpts (-901 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
benchmarks.run_pgo.linux.x64.checked.mch |
47,779,594 |
+30 |
coreclr_tests.run.linux.x64.checked.mch |
123,970,916 |
+0 |
libraries_tests.run.linux.x64.Release.mch |
153,366,413 |
-931 |
Example diffs
benchmarks.run_pgo.linux.x64.checked.mch
+0 (0.00%) : 92331.dasm - Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int (Tier1)
@@ -157,7 +157,7 @@ G_M6839_IG06: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
; gcrRegs +[r14]
mov r13d, dword ptr [r14+0x08]
test r13d, r13d
- jle G_M6839_IG22
+ jle G_M6839_IG21
;; size=70 bbWeight=0.00 PerfScore 0.05
G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
mov rdi, r14
@@ -173,38 +173,38 @@ G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {
mov rcx, rdi
sub rcx, rax
cmp ecx, 3
- jl G_M6839_IG18
+ jl G_M6839_IG17
cmp rax, rdi
- je G_M6839_IG17
+ je G_M6839_IG16
lea rdi, [rax+0x01]
mov qword ptr [rbp-0x38], rdi
movzx rdi, byte ptr [rax]
mov eax, dword ptr [r12+0x08]
mov dword ptr [rbp-0x84], eax
test eax, eax
- je G_M6839_IG13
+ je G_M6839_IG12
cmp dil, byte ptr [r12+0x10]
- jne G_M6839_IG18
+ jne G_M6839_IG17
mov rdi, qword ptr [rbp-0x38]
cmp rdi, qword ptr [rbp-0x40]
- je G_M6839_IG17
+ je G_M6839_IG16
lea rcx, [rdi+0x01]
mov qword ptr [rbp-0x38], rcx
movzx rdi, byte ptr [rdi]
cmp eax, 1
- jbe G_M6839_IG13
+ jbe G_M6839_IG12
cmp dil, byte ptr [r12+0x11]
- jne G_M6839_IG18
+ jne G_M6839_IG17
mov rdi, qword ptr [rbp-0x38]
cmp rdi, qword ptr [rbp-0x40]
- je G_M6839_IG17
+ je G_M6839_IG16
lea rcx, [rdi+0x01]
mov qword ptr [rbp-0x38], rcx
movzx rdi, byte ptr [rdi]
cmp eax, 2
- jbe G_M6839_IG13
+ jbe G_M6839_IG12
cmp dil, byte ptr [r12+0x12]
- jne G_M6839_IG18
+ jne G_M6839_IG17
mov dword ptr [rbp-0x54], 3
cmp eax, 3
jle SHORT G_M6839_IG10
@@ -221,11 +221,11 @@ G_M6839_IG08: ; bbWeight=0.00, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=00
mov ecx, edi
movzx rcx, byte ptr [r12+rcx+0x10]
cmp ecx, eax
- jne SHORT G_M6839_IG12
+ jne SHORT G_M6839_IG11
cmp eax, 29
je SHORT G_M6839_IG09
cmp eax, 64
- je SHORT G_M6839_IG14
+ je SHORT G_M6839_IG13
;; size=47 bbWeight=0.00 PerfScore 0.04
G_M6839_IG09: ; bbWeight=0.00, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref, isz
inc edi
@@ -239,26 +239,22 @@ G_M6839_IG10: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {
mov rdi, qword ptr [rbp-0x40]
sub rdi, qword ptr [rbp-0x38]
test edi, edi
- jne G_M6839_IG18
+ jne G_M6839_IG17
mov ecx, dword ptr [rbp-0x54]
cmp dword ptr [rbp-0x84], ecx
- jne G_M6839_IG18
- ;; size=31 bbWeight=0.00 PerfScore 0.02
-G_M6839_IG11: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rbx r14]
- jmp G_M6839_IG20
- ;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG12: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rbx r14]
+ jne G_M6839_IG17
+ jmp G_M6839_IG19
+ ;; size=36 bbWeight=0.00 PerfScore 0.03
+G_M6839_IG11: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
mov dword ptr [rbp-0x54], edi
jmp SHORT G_M6839_IG10
;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG12: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx r14]
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M6839_IG14: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref, isz
+G_M6839_IG13: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx r12 r14]
mov dword ptr [rbp-0x54], edi
lea rdi, [rbp-0x50]
@@ -269,7 +265,7 @@ G_M6839_IG14: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
shr edi, 24
movzx rcx, dil
cmp ecx, 2
- jne SHORT G_M6839_IG15
+ jne SHORT G_M6839_IG14
mov edi, eax
call [System.Reflection.Metadata.TypeDefinitionHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeDefinitionHandle]
; gcr arg pop 0
@@ -298,9 +294,9 @@ G_M6839_IG14: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
lea rdi, [rbp-0x68]
call [System.Reflection.Metadata.TypeDefinition:get_Namespace():System.Reflection.Metadata.StringHandle:this]
; gcr arg pop 0
- jmp SHORT G_M6839_IG16
+ jmp SHORT G_M6839_IG15
;; size=104 bbWeight=0 PerfScore 0.00
-G_M6839_IG15: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref
+G_M6839_IG14: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref
cmp ecx, 1
jne G_M6839_IG10
mov edi, eax
@@ -331,7 +327,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
call [System.Reflection.Metadata.TypeReference:get_Namespace():System.Reflection.Metadata.StringHandle:this]
; gcr arg pop 0
;; size=90 bbWeight=0 PerfScore 0.00
-G_M6839_IG16: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref
+G_M6839_IG15: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref
mov rdi, 0xD1FFAB1E ; box for <unknown class>:<unknown field>
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
@@ -339,12 +335,12 @@ G_M6839_IG16: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
mov r8d, dword ptr [rbp-0x54]
lea esi, [r8+0x01]
cmp esi, dword ptr [rbp-0x84]
- jae G_M6839_IG13
+ jae G_M6839_IG12
mov dword ptr [rbp-0x54], r8d
lea esi, [r8+0x01]
movzx rsi, byte ptr [r12+rsi+0x10]
cmp esi, dword ptr [rdi+0x08]
- jae G_M6839_IG13
+ jae G_M6839_IG12
lea rsi, [rsi+2*rsi]
lea rdi, bword ptr [rdi+8*rsi+0x10]
; gcrRegs -[rdi]
@@ -382,26 +378,26 @@ G_M6839_IG16: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
mov edi, ecx
jmp G_M6839_IG09
;; size=145 bbWeight=0 PerfScore 0.00
-G_M6839_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx r12 r14]
call [System.Reflection.Throw:OutOfBounds()]
; gcr arg pop 0
int3
;; size=7 bbWeight=0 PerfScore 0.00
-G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx r14]
inc r15d
cmp r13d, r15d
- jle SHORT G_M6839_IG22
+ jle SHORT G_M6839_IG21
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
jmp G_M6839_IG07
;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG20: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx r14]
mov eax, r15d
;; size=3 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG21: ; bbWeight=0.00, epilog, nogc, extend
+G_M6839_IG20: ; bbWeight=0.00, epilog, nogc, extend
add rsp, 120
pop rbx
pop r12
@@ -411,10 +407,10 @@ G_M6839_IG21: ; bbWeight=0.00, epilog, nogc, extend
pop rbp
ret
;; size=15 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG22: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M6839_IG21: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov eax, -1
;; size=5 bbWeight=0 PerfScore 0.00
-G_M6839_IG23: ; bbWeight=0, epilog, nogc, extend
+G_M6839_IG22: ; bbWeight=0, epilog, nogc, extend
add rsp, 120
pop rbx
pop r12
@@ -424,7 +420,7 @@ G_M6839_IG23: ; bbWeight=0, epilog, nogc, extend
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-G_M6839_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M6839_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
push rbp
push r15
push r14
@@ -436,10 +432,10 @@ G_M6839_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov qword ptr [rsp], rbp
lea rbp, [rbp+0xA0]
;; size=25 bbWeight=0 PerfScore 0.00
-G_M6839_IG25: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- lea rax, G_M6839_IG22
+G_M6839_IG24: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+ lea rax, G_M6839_IG21
;; size=7 bbWeight=0 PerfScore 0.00
-G_M6839_IG26: ; bbWeight=0, funclet epilog, nogc, extend
+G_M6839_IG25: ; bbWeight=0, funclet epilog, nogc, extend
add rsp, 8
pop rbx
pop r12
@@ -489,4 +485,4 @@ Unwind Info:
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
*************** EH table for Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int
1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M6839_IG06..G_M6839_IG20) handled by [G_M6839_IG24..END) (class: 1000150)
+EH#0: try [G_M6839_IG06..G_M6839_IG19) handled by [G_M6839_IG23..END) (class: 1000150)
+0 (0.00%) : 103607.dasm - Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int (Tier1)
@@ -157,7 +157,7 @@ G_M6839_IG06: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
; gcrRegs +[r14]
mov r13d, dword ptr [r14+0x08]
test r13d, r13d
- jle G_M6839_IG22
+ jle G_M6839_IG21
;; size=70 bbWeight=0.00 PerfScore 0.03
G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
mov rdi, r14
@@ -173,38 +173,38 @@ G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {
mov rcx, rdi
sub rcx, rax
cmp ecx, 3
- jl G_M6839_IG18
+ jl G_M6839_IG17
cmp rax, rdi
- je G_M6839_IG17
+ je G_M6839_IG16
lea rdi, [rax+0x01]
mov qword ptr [rbp-0x38], rdi
movzx rdi, byte ptr [rax]
mov eax, dword ptr [r12+0x08]
mov dword ptr [rbp-0x84], eax
test eax, eax
- je G_M6839_IG13
+ je G_M6839_IG12
cmp dil, byte ptr [r12+0x10]
- jne G_M6839_IG18
+ jne G_M6839_IG17
mov rdi, qword ptr [rbp-0x38]
cmp rdi, qword ptr [rbp-0x40]
- je G_M6839_IG17
+ je G_M6839_IG16
lea rcx, [rdi+0x01]
mov qword ptr [rbp-0x38], rcx
movzx rdi, byte ptr [rdi]
cmp eax, 1
- jbe G_M6839_IG13
+ jbe G_M6839_IG12
cmp dil, byte ptr [r12+0x11]
- jne G_M6839_IG18
+ jne G_M6839_IG17
mov rdi, qword ptr [rbp-0x38]
cmp rdi, qword ptr [rbp-0x40]
- je G_M6839_IG17
+ je G_M6839_IG16
lea rcx, [rdi+0x01]
mov qword ptr [rbp-0x38], rcx
movzx rdi, byte ptr [rdi]
cmp eax, 2
- jbe G_M6839_IG13
+ jbe G_M6839_IG12
cmp dil, byte ptr [r12+0x12]
- jne G_M6839_IG18
+ jne G_M6839_IG17
mov dword ptr [rbp-0x54], 3
cmp eax, 3
jle SHORT G_M6839_IG10
@@ -221,11 +221,11 @@ G_M6839_IG08: ; bbWeight=0.00, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=00
mov ecx, edi
movzx rcx, byte ptr [r12+rcx+0x10]
cmp ecx, eax
- jne SHORT G_M6839_IG12
+ jne SHORT G_M6839_IG11
cmp eax, 29
je SHORT G_M6839_IG09
cmp eax, 64
- je SHORT G_M6839_IG14
+ je SHORT G_M6839_IG13
;; size=47 bbWeight=0.00 PerfScore 0.02
G_M6839_IG09: ; bbWeight=0.00, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref, isz
inc edi
@@ -239,26 +239,22 @@ G_M6839_IG10: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {
mov rdi, qword ptr [rbp-0x40]
sub rdi, qword ptr [rbp-0x38]
test edi, edi
- jne G_M6839_IG18
+ jne G_M6839_IG17
mov ecx, dword ptr [rbp-0x54]
cmp dword ptr [rbp-0x84], ecx
- jne G_M6839_IG18
- ;; size=31 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG11: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rbx r14]
- jmp G_M6839_IG20
- ;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG12: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rbx r14]
+ jne G_M6839_IG17
+ jmp G_M6839_IG19
+ ;; size=36 bbWeight=0.00 PerfScore 0.01
+G_M6839_IG11: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
mov dword ptr [rbp-0x54], edi
jmp SHORT G_M6839_IG10
;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG12: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx r14]
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M6839_IG14: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref, isz
+G_M6839_IG13: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx r12 r14]
mov dword ptr [rbp-0x54], edi
lea rdi, [rbp-0x50]
@@ -269,7 +265,7 @@ G_M6839_IG14: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
shr edi, 24
movzx rcx, dil
cmp ecx, 2
- jne SHORT G_M6839_IG15
+ jne SHORT G_M6839_IG14
mov edi, eax
call [System.Reflection.Metadata.TypeDefinitionHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeDefinitionHandle]
; gcr arg pop 0
@@ -298,9 +294,9 @@ G_M6839_IG14: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
lea rdi, [rbp-0x68]
call [System.Reflection.Metadata.TypeDefinition:get_Namespace():System.Reflection.Metadata.StringHandle:this]
; gcr arg pop 0
- jmp SHORT G_M6839_IG16
+ jmp SHORT G_M6839_IG15
;; size=104 bbWeight=0 PerfScore 0.00
-G_M6839_IG15: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref
+G_M6839_IG14: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref
cmp ecx, 1
jne G_M6839_IG10
mov edi, eax
@@ -331,7 +327,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
call [System.Reflection.Metadata.TypeReference:get_Namespace():System.Reflection.Metadata.StringHandle:this]
; gcr arg pop 0
;; size=90 bbWeight=0 PerfScore 0.00
-G_M6839_IG16: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref
+G_M6839_IG15: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref
mov rdi, 0xD1FFAB1E ; box for <unknown class>:<unknown field>
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
@@ -339,12 +335,12 @@ G_M6839_IG16: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
mov r8d, dword ptr [rbp-0x54]
lea esi, [r8+0x01]
cmp esi, dword ptr [rbp-0x84]
- jae G_M6839_IG13
+ jae G_M6839_IG12
mov dword ptr [rbp-0x54], r8d
lea esi, [r8+0x01]
movzx rsi, byte ptr [r12+rsi+0x10]
cmp esi, dword ptr [rdi+0x08]
- jae G_M6839_IG13
+ jae G_M6839_IG12
lea rsi, [rsi+2*rsi]
lea rdi, bword ptr [rdi+8*rsi+0x10]
; gcrRegs -[rdi]
@@ -382,26 +378,26 @@ G_M6839_IG16: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
mov edi, ecx
jmp G_M6839_IG09
;; size=145 bbWeight=0 PerfScore 0.00
-G_M6839_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx r12 r14]
call [System.Reflection.Throw:OutOfBounds()]
; gcr arg pop 0
int3
;; size=7 bbWeight=0 PerfScore 0.00
-G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx r14]
inc r15d
cmp r13d, r15d
- jle SHORT G_M6839_IG22
+ jle SHORT G_M6839_IG21
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
jmp G_M6839_IG07
;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG20: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx r14]
mov eax, r15d
;; size=3 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG21: ; bbWeight=0.00, epilog, nogc, extend
+G_M6839_IG20: ; bbWeight=0.00, epilog, nogc, extend
add rsp, 120
pop rbx
pop r12
@@ -411,10 +407,10 @@ G_M6839_IG21: ; bbWeight=0.00, epilog, nogc, extend
pop rbp
ret
;; size=15 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG22: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M6839_IG21: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov eax, -1
;; size=5 bbWeight=0 PerfScore 0.00
-G_M6839_IG23: ; bbWeight=0, epilog, nogc, extend
+G_M6839_IG22: ; bbWeight=0, epilog, nogc, extend
add rsp, 120
pop rbx
pop r12
@@ -424,7 +420,7 @@ G_M6839_IG23: ; bbWeight=0, epilog, nogc, extend
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-G_M6839_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M6839_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
push rbp
push r15
push r14
@@ -436,10 +432,10 @@ G_M6839_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov qword ptr [rsp], rbp
lea rbp, [rbp+0xA0]
;; size=25 bbWeight=0 PerfScore 0.00
-G_M6839_IG25: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- lea rax, G_M6839_IG22
+G_M6839_IG24: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+ lea rax, G_M6839_IG21
;; size=7 bbWeight=0 PerfScore 0.00
-G_M6839_IG26: ; bbWeight=0, funclet epilog, nogc, extend
+G_M6839_IG25: ; bbWeight=0, funclet epilog, nogc, extend
add rsp, 8
pop rbx
pop r12
@@ -489,4 +485,4 @@ Unwind Info:
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
*************** EH table for Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int
1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M6839_IG06..G_M6839_IG20) handled by [G_M6839_IG24..END) (class: 1000150)
+EH#0: try [G_M6839_IG06..G_M6839_IG19) handled by [G_M6839_IG23..END) (class: 1000150)
+0 (0.00%) : 132764.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
@@ -63,107 +63,101 @@ G_M4144_IG02: ; bbWeight=1, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {},
mov r11d, dword ptr [rsi+0x14]
mov ebx, dword ptr [rsi+0x10]
mov dword ptr [rbp-0x2C], ebx
- jmp SHORT G_M4144_IG10
+ jmp SHORT G_M4144_IG07
;; size=25 bbWeight=1 PerfScore 12.00
G_M4144_IG03: ; bbWeight=0.82, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
mov ecx, dword ptr [rsi+0x1C]
mov ebx, dword ptr [rbp-0x2C]
lea edi, [rcx+rbx-0x01]
;; size=10 bbWeight=0.82 PerfScore 3.28
-G_M4144_IG04: ; bbWeight=1.00, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG04: ; bbWeight=1.00, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
inc r8d
cmp edi, r8d
- jge SHORT G_M4144_IG08
- ;; size=8 bbWeight=1.00 PerfScore 1.50
-G_M4144_IG05: ; bbWeight=0.05, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
- jmp G_M4144_IG15
- ;; size=5 bbWeight=0.05 PerfScore 0.10
-G_M4144_IG06: ; bbWeight=0.10, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
- mov eax, dword ptr [rsi+0x1C]
- cmp edi, eax
- mov dword ptr [rbp+0x44], r8d
- jl G_M4144_IG15
- ;; size=15 bbWeight=0.10 PerfScore 0.42
-G_M4144_IG07: ; bbWeight=0.05, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
- mov r8d, eax
- ;; size=3 bbWeight=0.05 PerfScore 0.01
-G_M4144_IG08: ; bbWeight=0.91, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref, isz
+ jl G_M4144_IG13
+ ;; size=12 bbWeight=1.00 PerfScore 1.50
+G_M4144_IG05: ; bbWeight=0.91, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref, isz
mov ecx, dword ptr [rsi+0x20]
mov eax, dword ptr [rsi+0x20]
lea eax, [rax+r11-0x01]
cmp eax, ecx
jl SHORT G_M4144_IG04
;; size=15 bbWeight=0.91 PerfScore 5.69
-G_M4144_IG09: ; bbWeight=9.10, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
+G_M4144_IG06: ; bbWeight=9.10, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
mov eax, r9d
;; size=3 bbWeight=9.10 PerfScore 2.27
-G_M4144_IG10: ; bbWeight=9.10, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
+G_M4144_IG07: ; bbWeight=9.10, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
cmp r10d, eax
- jl G_M4144_IG13
+ jl G_M4144_IG10
;; size=9 bbWeight=9.10 PerfScore 11.37
-G_M4144_IG11: ; bbWeight=8.27, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
+G_M4144_IG08: ; bbWeight=8.27, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
mov r15d, r8d
sub r15d, dword ptr [rdx+0x1C]
mov r14d, dword ptr [rdx+0x10]
;; size=11 bbWeight=8.27 PerfScore 43.42
-G_M4144_IG12: ; bbWeight=90.90, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG09: ; bbWeight=90.90, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref, isz
mov r13d, r15d
cmp r13d, r14d
- jae G_M4144_IG18
+ jae G_M4144_IG17
mov r12d, dword ptr [rdx+0x14]
imul r13d, r12d
mov ebx, ecx
sub ebx, dword ptr [rdx+0x20]
cmp ebx, r12d
- jae G_M4144_IG18
+ jae G_M4144_IG17
add ebx, r13d
mov r13d, dword ptr [rdx+0x18]
imul ebx, r13d
mov r12d, eax
sub r12d, dword ptr [rdx+0x24]
cmp r12d, r13d
- jae G_M4144_IG18
+ jae G_M4144_IG17
add ebx, r12d
mov r13d, r8d
sub r13d, dword ptr [rsi+0x1C]
cmp r13d, dword ptr [rsi+0x10]
- jae G_M4144_IG18
+ jae G_M4144_IG17
mov r12d, dword ptr [rsi+0x14]
imul r13d, r12d
mov edi, ecx
sub edi, dword ptr [rsi+0x20]
cmp edi, r12d
- jae SHORT G_M4144_IG18
+ jae G_M4144_IG17
add edi, r13d
mov r13d, dword ptr [rsi+0x18]
imul edi, r13d
mov r12d, eax
sub r12d, dword ptr [rsi+0x24]
cmp r12d, r13d
- jae SHORT G_M4144_IG18
+ jae SHORT G_M4144_IG17
add edi, r12d
mov edi, dword ptr [rsi+4*rdi+0x28]
mov dword ptr [rdx+4*rbx+0x28], edi
inc eax
cmp r10d, eax
- jge G_M4144_IG12
- ;; size=144 bbWeight=90.90 PerfScore 4385.97
-G_M4144_IG13: ; bbWeight=9.10, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
+ jge G_M4144_IG09
+ ;; size=148 bbWeight=90.90 PerfScore 4385.97
+G_M4144_IG10: ; bbWeight=9.10, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
inc ecx
mov eax, dword ptr [rsi+0x20]
lea edi, [rax+r11-0x01]
cmp edi, ecx
- jge G_M4144_IG09
+ jge G_M4144_IG06
;; size=18 bbWeight=9.10 PerfScore 40.95
-G_M4144_IG14: ; bbWeight=0.82, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
+G_M4144_IG11: ; bbWeight=0.82, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
jmp G_M4144_IG03
;; size=5 bbWeight=0.82 PerfScore 1.64
-G_M4144_IG15: ; bbWeight=0.10, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
+G_M4144_IG12: ; bbWeight=0.10, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref, isz
+ mov eax, dword ptr [rsi+0x1C]
+ cmp edi, eax
+ mov dword ptr [rbp+0x44], r8d
+ jge SHORT G_M4144_IG16
+ ;; size=11 bbWeight=0.10 PerfScore 0.42
+G_M4144_IG13: ; bbWeight=0.10, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref, isz
mov r8d, dword ptr [rbp+0x44]
dec r8d
- jne G_M4144_IG06
- ;; size=13 bbWeight=0.10 PerfScore 0.22
-G_M4144_IG16: ; bbWeight=0, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
+ jne SHORT G_M4144_IG12
+ ;; size=9 bbWeight=0.10 PerfScore 0.22
+G_M4144_IG14: ; bbWeight=0, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, byref
mov rdi, rsi
; gcrRegs +[rdi]
mov rsi, rdx
@@ -172,7 +166,7 @@ G_M4144_IG16: ; bbWeight=0, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {},
; gcr arg pop 0
nop
;; size=13 bbWeight=0 PerfScore 0.00
-G_M4144_IG17: ; bbWeight=0, epilog, nogc, extend
+G_M4144_IG15: ; bbWeight=0, epilog, nogc, extend
add rsp, 120
pop rbx
pop r12
@@ -182,7 +176,13 @@ G_M4144_IG17: ; bbWeight=0, epilog, nogc, extend
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-G_M4144_IG18: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M4144_IG16: ; bbWeight=0.05, gcVars=0000000000000000 {}, gcrefRegs=0044 {rdx rsi}, byrefRegs=0000 {}, gcvars, byref
+ ; gcrRegs +[rdx rsi]
+ mov r8d, eax
+ jmp G_M4144_IG05
+ ;; size=8 bbWeight=0.05 PerfScore 0.11
+G_M4144_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ ; gcrRegs -[rdx rsi]
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
int3
+30 (+3.48%) : 48123.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1+d21[System.Canon]:MoveNext():this (Tier1)
@@ -24,7 +24,7 @@
;* V12 tmp4 [V12 ] ( 0, 0 ) long -> zero-ref "spilling helperCall"
; V13 tmp5 [V13,T23] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
; V14 tmp6 [V14,T16] ( 3, 1.95) ref -> rax "guarded devirt return temp"
-; V15 tmp7 [V15,T05] ( 5, 5.85) ref -> rdi "guarded devirt arg temp"
+; V15 tmp7 [V15,T05] ( 5, 5.85) ref -> rax "guarded devirt arg temp"
; V16 tmp8 [V16,T10] ( 3, 3.90) int -> rsi "guarded devirt arg temp"
;* V17 tmp9 [V17 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Buffers.ConfigurableArrayPool`1[System.Object]>
; V18 tmp10 [V18,T04] ( 7, 5.86) ref -> r14 "guarded devirt arg temp"
@@ -83,7 +83,7 @@ G_M26324_IG02: ; bbWeight=1, gcVars=0000000000000001 {V00}, gcrefRegs=000
G_M26324_IG03: ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref
; byrRegs -[rdi]
test eax, eax
- jne G_M26324_IG12
+ jne G_M26324_IG16
;; size=8 bbWeight=1 PerfScore 1.25
G_M26324_IG04: ; bbWeight=0.98, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref
mov rdi, bword ptr [rbp-0x48]
@@ -93,13 +93,10 @@ G_M26324_IG04: ; bbWeight=0.98, gcrefRegs=8000 {r15}, byrefRegs=0000 {},
mov byte ptr [rdi+0x28], 0
mov dword ptr [rdi+0x18], -1
;; size=23 bbWeight=0.98 PerfScore 5.90
-G_M26324_IG05: ; bbWeight=0.98, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref
- ; byrRegs -[rdi]
- mov rdi, bword ptr [rbp-0x48]
- ; byrRegs +[rdi]
+G_M26324_IG05: ; bbWeight=0.98, gcrefRegs=8000 {r15}, byrefRegs=0080 {rdi}, byref
cmp byte ptr [r15+0x1C], 0
jne G_M26324_IG26
- ;; size=15 bbWeight=0.98 PerfScore 4.88
+ ;; size=11 bbWeight=0.98 PerfScore 3.91
G_M26324_IG06: ; bbWeight=0.98, gcrefRegs=8000 {r15}, byrefRegs=0080 {rdi}, byref, isz
mov r14, gword ptr [rdi+0x08]
; gcrRegs +[r14]
@@ -107,7 +104,7 @@ G_M26324_IG06: ; bbWeight=0.98, gcrefRegs=8000 {r15}, byrefRegs=0080 {rdi
; gcrRegs +[r13]
mov rsi, 0xD1FFAB1E ; System.Buffers.ConfigurableArrayPool`1[System.Object]
cmp qword ptr [r14], rsi
- jne G_M26324_IG25
+ jne G_M26324_IG21
test r13, r13
je G_M26324_IG29
cmp dword ptr [r13+0x08], 0
@@ -131,7 +128,7 @@ G_M26324_IG07: ; bbWeight=0.98, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0
;; size=38 bbWeight=0.98 PerfScore 12.24
G_M26324_IG08: ; bbWeight=0.98, gcrefRegs=E001 {rax r13 r14 r15}, byrefRegs=0000 {}, byref
cmp esi, dword ptr [rax+0x08]
- jae G_M26324_IG24
+ jae G_M26324_IG20
mov esi, esi
mov rsi, gword ptr [rax+8*rsi+0x10]
; gcrRegs +[rsi]
@@ -144,36 +141,80 @@ G_M26324_IG08: ; bbWeight=0.98, gcrefRegs=E001 {rax r13 r14 r15}, byrefRe
; gcr arg pop 0
;; size=30 bbWeight=0.98 PerfScore 12.47
G_M26324_IG09: ; bbWeight=0.98, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0000 {}, byref
- mov rax, 0xD1FFAB1E ; const ptr
- mov rax, gword ptr [rax]
+ mov rsi, 0xD1FFAB1E ; const ptr
+ mov rax, gword ptr [rsi]
; gcrRegs +[rax]
cmp byte ptr [rax+0x9D], 0
mov gword ptr [rbp-0x50], rax
; GC ptr vars +{V25}
jne G_M26324_IG30
;; size=30 bbWeight=0.98 PerfScore 7.08
-G_M26324_IG10: ; bbWeight=0.98, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
+G_M26324_IG10: ; bbWeight=0.98, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rax r13-r14]
; GC ptr vars -{V25}
- xor rax, rax
- ; gcrRegs +[rax]
+ xor rsi, rsi
+ ; gcrRegs +[rsi]
mov rdi, bword ptr [rbp-0x48]
; byrRegs +[rdi]
- mov gword ptr [rdi+0x10], rax
+ mov gword ptr [rdi+0x10], rsi
inc dword ptr [rdi+0x1C]
cmp dword ptr [rdi+0x1C], 0x186A0
- mov r14, rdi
- ; byrRegs +[r14]
- jl SHORT G_M26324_IG13
- ;; size=25 bbWeight=0.98 PerfScore 9.27
-G_M26324_IG11: ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref
- ; gcrRegs -[rax r15]
+ jge G_M26324_IG31
+ ;; size=26 bbWeight=0.98 PerfScore 9.03
+G_M26324_IG11: ; bbWeight=0.97, gcrefRegs=8000 {r15}, byrefRegs=0080 {rdi}, byref
+ ; gcrRegs -[rsi]
+ mov rax, gword ptr [rdi+0x08]
+ ; gcrRegs +[rax]
+ mov esi, dword ptr [r15+0x18]
+ mov rcx, 0xD1FFAB1E ; System.Buffers.ConfigurableArrayPool`1[System.Object]
+ cmp qword ptr [rax], rcx
+ jne G_M26324_IG22
+ mov rdi, rax
+ ; gcrRegs +[rdi]
; byrRegs -[rdi]
- jmp G_M26324_IG31
- ;; size=5 bbWeight=0.01 PerfScore 0.03
-G_M26324_IG12: ; bbWeight=0.03, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref
- ; gcrRegs +[r15]
+ call [System.Buffers.ConfigurableArrayPool`1[System.__Canon]:Rent(int):System.__Canon[]:this]
+ ; gcrRegs -[rdi]
+ ; gcr arg pop 0
+ ;; size=36 bbWeight=0.97 PerfScore 11.21
+G_M26324_IG12: ; bbWeight=0.97, gcrefRegs=8001 {rax r15}, byrefRegs=0000 {}, byref
+ mov r14, bword ptr [rbp-0x48]
+ ; byrRegs +[r14]
+ lea rdi, bword ptr [r14+0x10]
+ ; byrRegs +[rdi]
+ mov rsi, rax
+ ; gcrRegs +[rsi]
+ call CORINFO_HELP_CHECKED_ASSIGN_REF
+ ; gcrRegs -[rax rsi]
+ ; byrRegs -[rdi]
+ cmp byte ptr [r15+0x1C], 0
+ jne G_M26324_IG25
+ ;; size=27 bbWeight=0.97 PerfScore 6.58
+G_M26324_IG13: ; bbWeight=0.97, gcrefRegs=8000 {r15}, byrefRegs=4000 {r14}, byref
+ cmp byte ptr [r15+0x1D], 0
+ mov rdi, r14
+ ; byrRegs +[rdi]
+ je G_M26324_IG05
+ ;; size=14 bbWeight=0.97 PerfScore 4.14
+G_M26324_IG14: ; bbWeight=0.97, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+ ; gcrRegs -[r15]
; byrRegs -[r14]
+ mov byte ptr [rbp-0x38], 0
+ xor esi, esi
+ mov dword ptr [rdi+0x18], esi
+ movzx rsi, byte ptr [rbp-0x38]
+ mov byte ptr [rdi+0x28], sil
+ mov rsi, qword ptr [rbx+0x38]
+ mov rsi, qword ptr [rsi]
+ mov rsi, qword ptr [rsi+0x10]
+ test rsi, rsi
+ je SHORT G_M26324_IG18
+ ;; size=34 bbWeight=0.97 PerfScore 11.19
+G_M26324_IG15: ; bbWeight=0.78, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ; byrRegs -[rdi]
+ jmp SHORT G_M26324_IG19
+ ;; size=2 bbWeight=0.78 PerfScore 1.56
+G_M26324_IG16: ; bbWeight=0.03, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref
+ ; gcrRegs +[r15]
mov rdi, r15
; gcrRegs +[rdi]
call [System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:get_Pool():System.Buffers.ArrayPool`1[System.__Canon]:this]
@@ -192,112 +233,40 @@ G_M26324_IG12: ; bbWeight=0.03, gcrefRegs=8000 {r15}, byrefRegs=0000 {},
; byrRegs +[r14]
mov dword ptr [r14+0x1C], edi
cmp dword ptr [r14+0x1C], 0x186A0
- jge G_M26324_IG31
- ;; size=49 bbWeight=0.03 PerfScore 0.34
-G_M26324_IG13: ; bbWeight=0.97, gcrefRegs=8000 {r15}, byrefRegs=4000 {r14}, byref, isz
- mov rdi, gword ptr [r14+0x08]
- ; gcrRegs +[rdi]
- mov esi, dword ptr [r15+0x18]
- mov rax, 0xD1FFAB1E ; System.Buffers.ConfigurableArrayPool`1[System.Object]
- cmp qword ptr [rdi], rax
- jne SHORT G_M26324_IG19
- call [System.Buffers.ConfigurableArrayPool`1[System.__Canon]:Rent(int):System.__Canon[]:this]
- ; gcrRegs -[rdi] +[rax]
- ; gcr arg pop 0
- ;; size=29 bbWeight=0.97 PerfScore 10.96
-G_M26324_IG14: ; bbWeight=0.97, gcrefRegs=8001 {rax r15}, byrefRegs=4000 {r14}, byref, isz
- lea rdi, bword ptr [r14+0x10]
+ mov rdi, r14
; byrRegs +[rdi]
- mov rsi, rax
- ; gcrRegs +[rsi]
- call CORINFO_HELP_CHECKED_ASSIGN_REF
- ; gcrRegs -[rax rsi]
- ; byrRegs -[rdi]
- cmp byte ptr [r15+0x1C], 0
- jne SHORT G_M26324_IG18
- ;; size=19 bbWeight=0.97 PerfScore 5.60
-G_M26324_IG15: ; bbWeight=0.97, gcrefRegs=8000 {r15}, byrefRegs=4000 {r14}, byref
- cmp byte ptr [r15+0x1D], 0
- je G_M26324_IG05
- ;; size=11 bbWeight=0.97 PerfScore 3.90
-G_M26324_IG16: ; bbWeight=0.97, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref, isz
- ; gcrRegs -[r15]
- mov byte ptr [rbp-0x38], 0
- xor edi, edi
- mov dword ptr [r14+0x18], edi
- movzx rdi, byte ptr [rbp-0x38]
- mov byte ptr [r14+0x28], dil
- mov rdi, qword ptr [rbx+0x38]
- mov rdi, qword ptr [rdi]
- mov rsi, qword ptr [rdi+0x10]
- test rsi, rsi
- je SHORT G_M26324_IG22
- ;; size=35 bbWeight=0.97 PerfScore 11.19
-G_M26324_IG17: ; bbWeight=0.78, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref, isz
- jmp SHORT G_M26324_IG23
- ;; size=2 bbWeight=0.78 PerfScore 1.56
-G_M26324_IG18: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=4000 {r14}, byref, isz
- ; gcrRegs +[r15]
- mov rdi, qword ptr [rbx+0x38]
- mov rdi, qword ptr [rdi]
- mov rdi, qword ptr [rdi+0x18]
- test rdi, rdi
- je SHORT G_M26324_IG20
- jmp SHORT G_M26324_IG21
- ;; size=18 bbWeight=0 PerfScore 0.00
-G_M26324_IG19: ; bbWeight=0, gcrefRegs=8080 {rdi r15}, byrefRegs=4000 {r14}, byref, isz
- ; gcrRegs +[rdi]
- mov rax, qword ptr [rdi]
- mov rax, qword ptr [rax+0x48]
- call [rax+0x20]<unknown method>
- ; gcrRegs -[rdi] +[rax]
- ; gcr arg pop 0
- jmp SHORT G_M26324_IG14
- ;; size=12 bbWeight=0 PerfScore 0.00
-G_M26324_IG20: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=4000 {r14}, byref
- ; gcrRegs -[rax]
- mov rdi, rbx
- mov rsi, 0xD1FFAB1E ; global ptr
- call CORINFO_HELP_RUNTIMEHANDLE_CLASS
- ; gcr arg pop 0
- mov rdi, rax
- ;; size=21 bbWeight=0 PerfScore 0.00
-G_M26324_IG21: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=4000 {r14}, byref, isz
- mov rsi, gword ptr [r14+0x10]
- ; gcrRegs +[rsi]
- call [System.Buffers.Tests.RentReturnArrayPoolTests`1[System.__Canon]:Clear(System.__Canon[])]
- ; gcrRegs -[rsi]
+ jge G_M26324_IG31
+ ;; size=52 bbWeight=0.03 PerfScore 0.34
+G_M26324_IG17: ; bbWeight=0.02, gcrefRegs=8000 {r15}, byrefRegs=0080 {rdi}, byref
; byrRegs -[r14]
- ; gcr arg pop 0
- mov r14, bword ptr [rbp-0x48]
- ; byrRegs +[r14]
- jmp SHORT G_M26324_IG15
- ;; size=16 bbWeight=0 PerfScore 0.00
-G_M26324_IG22: ; bbWeight=0.19, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref
+ jmp G_M26324_IG11
+ ;; size=5 bbWeight=0.02 PerfScore 0.05
+G_M26324_IG18: ; bbWeight=0.19, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[r15]
+ ; byrRegs -[rdi]
mov rdi, rbx
mov rsi, 0xD1FFAB1E ; global ptr
call CORINFO_HELP_RUNTIMEHANDLE_CLASS
; gcr arg pop 0
mov rsi, rax
;; size=21 bbWeight=0.19 PerfScore 0.34
...
coreclr_tests.run.linux.x64.checked.mch
+0 (0.00%) : 25817.dasm - Simple2ArrayTest:TestEntryPoint():int (Tier1-OSR)
@@ -60,7 +60,7 @@ G_M25589_IG04: ; bbWeight=9.10, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
G_M25589_IG05: ; bbWeight=9.10, gcVars=0000000000000000 {}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V01 V06}
cmp ebx, r14d
- jge SHORT G_M25589_IG13
+ jge SHORT G_M25589_IG12
;; size=5 bbWeight=9.10 PerfScore 11.37
G_M25589_IG06: ; bbWeight=8.27, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
mov r11d, r12d
@@ -85,7 +85,7 @@ G_M25589_IG07: ; bbWeight=90.90, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
inc ebx
cmp ebx, r14d
mov r11d, dword ptr [rbp-0x2C]
- jl SHORT G_M25589_IG12
+ jl SHORT G_M25589_IG11
;; size=42 bbWeight=90.90 PerfScore 727.21
G_M25589_IG08: ; bbWeight=9.10, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
inc r15d
@@ -97,34 +97,36 @@ G_M25589_IG09: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
cmp r13d, r14d
jl SHORT G_M25589_IG03
;; size=8 bbWeight=1.00 PerfScore 1.50
-G_M25589_IG10: ; bbWeight=0.10, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- inc r12d
- cmp r12d, r14d
- jge SHORT G_M25589_IG14
- xor r13d, r13d
- test r14d, r14d
- jg SHORT G_M25589_IG03
- ;; size=16 bbWeight=0.10 PerfScore 0.30
-G_M25589_IG11: ; bbWeight=0.04, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- jmp SHORT G_M25589_IG10
- ;; size=2 bbWeight=0.04 PerfScore 0.09
-G_M25589_IG12: ; bbWeight=45.45, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG10: ; bbWeight=0.09, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ jmp SHORT G_M25589_IG14
+ ;; size=2 bbWeight=0.09 PerfScore 0.18
+G_M25589_IG11: ; bbWeight=45.45, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov rax, gword ptr [rbp+0x58]
; gcrRegs +[rax]
jmp SHORT G_M25589_IG07
;; size=6 bbWeight=45.45 PerfScore 136.35
-G_M25589_IG13: ; bbWeight=4.55, gcVars=0000000000000000 {}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M25589_IG12: ; bbWeight=4.55, gcVars=0000000000000000 {}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars -{V01}
mov gword ptr [rbp+0x58], rax
; GC ptr vars +{V01}
jmp SHORT G_M25589_IG08
;; size=6 bbWeight=4.55 PerfScore 13.65
-G_M25589_IG14: ; bbWeight=0, gcVars=0000000000000040 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M25589_IG13: ; bbWeight=0.10, gcVars=0000000000000040 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[rax]
+ xor r13d, r13d
+ test r14d, r14d
+ jg SHORT G_M25589_IG03
+ ;; size=8 bbWeight=0.10 PerfScore 0.15
+G_M25589_IG14: ; bbWeight=0.10, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ inc r12d
+ cmp r12d, r14d
+ jl SHORT G_M25589_IG13
+ ;; size=8 bbWeight=0.10 PerfScore 0.15
+G_M25589_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
xor r12d, r12d
- jmp G_M25589_IG26
+ jmp G_M25589_IG27
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25589_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M25589_IG16: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V01}
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
@@ -133,7 +135,7 @@ G_M25589_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
; gcr arg pop 0
mov eax, 1
;; size=21 bbWeight=0 PerfScore 0.00
-G_M25589_IG16: ; bbWeight=0, epilog, nogc, extend
+G_M25589_IG17: ; bbWeight=0, epilog, nogc, extend
add rsp, 152
pop rbx
pop r12
@@ -143,24 +145,24 @@ G_M25589_IG16: ; bbWeight=0, epilog, nogc, extend
pop rbp
ret
;; size=18 bbWeight=0 PerfScore 0.00
-G_M25589_IG17: ; bbWeight=0, gcVars=0000000000000040 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M25589_IG18: ; bbWeight=0, gcVars=0000000000000040 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
; GC ptr vars +{V01 V06}
xor r13d, r13d
- jmp SHORT G_M25589_IG25
- ;; size=5 bbWeight=0 PerfScore 0.00
-G_M25589_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- xor r15d, r15d
- jmp SHORT G_M25589_IG24
+ jmp SHORT G_M25589_IG26
;; size=5 bbWeight=0 PerfScore 0.00
G_M25589_IG19: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ xor r15d, r15d
+ jmp SHORT G_M25589_IG25
+ ;; size=5 bbWeight=0 PerfScore 0.00
+G_M25589_IG20: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
xor ebx, ebx
+ jmp SHORT G_M25589_IG24
+ ;; size=4 bbWeight=0 PerfScore 0.00
+G_M25589_IG21: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ xor eax, eax
jmp SHORT G_M25589_IG23
;; size=4 bbWeight=0 PerfScore 0.00
-G_M25589_IG20: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- xor eax, eax
- jmp SHORT G_M25589_IG22
- ;; size=4 bbWeight=0 PerfScore 0.00
-G_M25589_IG21: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25589_IG22: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rdi, gword ptr [rbp+0x58]
; gcrRegs +[rdi]
mov esi, r12d
@@ -178,32 +180,32 @@ G_M25589_IG21: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
inc eax
mov qword ptr [rbp+0x38], rdi
;; size=43 bbWeight=0 PerfScore 0.00
-G_M25589_IG22: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov dword ptr [rbp+0x44], eax
cmp eax, ebx
- jl SHORT G_M25589_IG21
+ jl SHORT G_M25589_IG22
inc ebx
;; size=9 bbWeight=0 PerfScore 0.00
-G_M25589_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp ebx, r15d
- jl SHORT G_M25589_IG20
+ jl SHORT G_M25589_IG21
inc r15d
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25589_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG25: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp r15d, r13d
- jl SHORT G_M25589_IG19
+ jl SHORT G_M25589_IG20
inc r13d
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25589_IG25: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG26: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp r13d, r12d
- jl SHORT G_M25589_IG18
+ jl SHORT G_M25589_IG19
inc r12d
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25589_IG26: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG27: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp r12d, r14d
- jl SHORT G_M25589_IG17
+ jl SHORT G_M25589_IG18
cmp qword ptr [rbp+0x38], 0x3022B
- jne G_M25589_IG15
+ jne G_M25589_IG16
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
; GC ptr vars -{V01 V06}
@@ -212,7 +214,7 @@ G_M25589_IG26: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
; gcr arg pop 0
mov eax, 100
;; size=40 bbWeight=0 PerfScore 0.00
-G_M25589_IG27: ; bbWeight=0, epilog, nogc, extend
+G_M25589_IG28: ; bbWeight=0, epilog, nogc, extend
add rsp, 152
pop rbx
pop r12
@@ -223,7 +225,7 @@ G_M25589_IG27: ; bbWeight=0, epilog, nogc, extend
ret
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 400, prolog size 77, PerfScore 983.03, instruction count 119, allocated bytes for code 400 (MethodHash=b6269c0a) for method Simple2_Array_Test:TestEntryPoint():int (Tier1-OSR)
+; Total bytes of code 400, prolog size 77, PerfScore 983.12, instruction count 119, allocated bytes for code 400 (MethodHash=b6269c0a) for method Simple2_Array_Test:TestEntryPoint():int (Tier1-OSR)
; ============================================================
Unwind Info:
+0 (0.00%) : 230290.dasm - Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int (Tier1)
@@ -157,7 +157,7 @@ G_M6839_IG06: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
; gcrRegs +[r14]
mov r13d, dword ptr [r14+0x08]
test r13d, r13d
- jle G_M6839_IG22
+ jle G_M6839_IG21
;; size=70 bbWeight=0.00 PerfScore 0.06
G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
mov rdi, r14
@@ -173,38 +173,38 @@ G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {
mov rcx, rdi
sub rcx, rax
cmp ecx, 3
- jl G_M6839_IG18
+ jl G_M6839_IG17
cmp rax, rdi
- je G_M6839_IG17
+ je G_M6839_IG16
lea rdi, [rax+0x01]
mov qword ptr [rbp-0x38], rdi
movzx rdi, byte ptr [rax]
mov eax, dword ptr [r12+0x08]
mov dword ptr [rbp-0x84], eax
test eax, eax
- je G_M6839_IG13
+ je G_M6839_IG12
cmp dil, byte ptr [r12+0x10]
- jne G_M6839_IG18
+ jne G_M6839_IG17
mov rdi, qword ptr [rbp-0x38]
cmp rdi, qword ptr [rbp-0x40]
- je G_M6839_IG17
+ je G_M6839_IG16
lea rcx, [rdi+0x01]
mov qword ptr [rbp-0x38], rcx
movzx rdi, byte ptr [rdi]
cmp eax, 1
- jbe G_M6839_IG13
+ jbe G_M6839_IG12
cmp dil, byte ptr [r12+0x11]
- jne G_M6839_IG18
+ jne G_M6839_IG17
mov rdi, qword ptr [rbp-0x38]
cmp rdi, qword ptr [rbp-0x40]
- je G_M6839_IG17
+ je G_M6839_IG16
lea rcx, [rdi+0x01]
mov qword ptr [rbp-0x38], rcx
movzx rdi, byte ptr [rdi]
cmp eax, 2
- jbe G_M6839_IG13
+ jbe G_M6839_IG12
cmp dil, byte ptr [r12+0x12]
- jne G_M6839_IG18
+ jne G_M6839_IG17
mov dword ptr [rbp-0x54], 3
cmp eax, 3
jle SHORT G_M6839_IG10
@@ -221,11 +221,11 @@ G_M6839_IG08: ; bbWeight=0.00, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=00
mov ecx, edi
movzx rcx, byte ptr [r12+rcx+0x10]
cmp ecx, eax
- jne SHORT G_M6839_IG12
+ jne SHORT G_M6839_IG11
cmp eax, 29
je SHORT G_M6839_IG09
cmp eax, 64
- je SHORT G_M6839_IG14
+ je SHORT G_M6839_IG13
;; size=47 bbWeight=0.00 PerfScore 0.04
G_M6839_IG09: ; bbWeight=0.00, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref, isz
inc edi
@@ -239,26 +239,22 @@ G_M6839_IG10: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {
mov rdi, qword ptr [rbp-0x40]
sub rdi, qword ptr [rbp-0x38]
test edi, edi
- jne G_M6839_IG18
+ jne G_M6839_IG17
mov ecx, dword ptr [rbp-0x54]
cmp dword ptr [rbp-0x84], ecx
- jne G_M6839_IG18
- ;; size=31 bbWeight=0.00 PerfScore 0.02
-G_M6839_IG11: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rbx r14]
- jmp G_M6839_IG20
- ;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG12: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rbx r14]
+ jne G_M6839_IG17
+ jmp G_M6839_IG19
+ ;; size=36 bbWeight=0.00 PerfScore 0.03
+G_M6839_IG11: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
mov dword ptr [rbp-0x54], edi
jmp SHORT G_M6839_IG10
;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG12: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx r14]
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M6839_IG14: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref, isz
+G_M6839_IG13: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx r12 r14]
mov dword ptr [rbp-0x54], edi
lea rdi, [rbp-0x50]
@@ -269,7 +265,7 @@ G_M6839_IG14: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
shr edi, 24
movzx rcx, dil
cmp ecx, 2
- jne SHORT G_M6839_IG15
+ jne SHORT G_M6839_IG14
mov edi, eax
call [System.Reflection.Metadata.TypeDefinitionHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeDefinitionHandle]
; gcr arg pop 0
@@ -298,9 +294,9 @@ G_M6839_IG14: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
lea rdi, [rbp-0x68]
call [System.Reflection.Metadata.TypeDefinition:get_Namespace():System.Reflection.Metadata.StringHandle:this]
; gcr arg pop 0
- jmp SHORT G_M6839_IG16
+ jmp SHORT G_M6839_IG15
;; size=104 bbWeight=0 PerfScore 0.00
-G_M6839_IG15: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref
+G_M6839_IG14: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref
cmp ecx, 1
jne G_M6839_IG10
mov edi, eax
@@ -331,7 +327,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
call [System.Reflection.Metadata.TypeReference:get_Namespace():System.Reflection.Metadata.StringHandle:this]
; gcr arg pop 0
;; size=90 bbWeight=0 PerfScore 0.00
-G_M6839_IG16: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref
+G_M6839_IG15: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000 {}, byref
mov rdi, 0xD1FFAB1E ; box for <unknown class>:<unknown field>
mov rdi, gword ptr [rdi]
; gcrRegs +[rdi]
@@ -339,12 +335,12 @@ G_M6839_IG16: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
mov r8d, dword ptr [rbp-0x54]
lea esi, [r8+0x01]
cmp esi, dword ptr [rbp-0x84]
- jae G_M6839_IG13
+ jae G_M6839_IG12
mov dword ptr [rbp-0x54], r8d
lea esi, [r8+0x01]
movzx rsi, byte ptr [r12+rsi+0x10]
cmp esi, dword ptr [rdi+0x08]
- jae G_M6839_IG13
+ jae G_M6839_IG12
lea rsi, [rsi+2*rsi]
lea rdi, bword ptr [rdi+8*rsi+0x10]
; gcrRegs -[rdi]
@@ -382,26 +378,26 @@ G_M6839_IG16: ; bbWeight=0, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=0000
mov edi, ecx
jmp G_M6839_IG09
;; size=145 bbWeight=0 PerfScore 0.00
-G_M6839_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx r12 r14]
call [System.Reflection.Throw:OutOfBounds()]
; gcr arg pop 0
int3
;; size=7 bbWeight=0 PerfScore 0.00
-G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx r14]
inc r15d
cmp r13d, r15d
- jle SHORT G_M6839_IG22
+ jle SHORT G_M6839_IG21
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
jmp G_M6839_IG07
;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG20: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx r14]
mov eax, r15d
;; size=3 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG21: ; bbWeight=0.00, epilog, nogc, extend
+G_M6839_IG20: ; bbWeight=0.00, epilog, nogc, extend
add rsp, 120
pop rbx
pop r12
@@ -411,10 +407,10 @@ G_M6839_IG21: ; bbWeight=0.00, epilog, nogc, extend
pop rbp
ret
;; size=15 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG22: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M6839_IG21: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov eax, -1
;; size=5 bbWeight=0 PerfScore 0.00
-G_M6839_IG23: ; bbWeight=0, epilog, nogc, extend
+G_M6839_IG22: ; bbWeight=0, epilog, nogc, extend
add rsp, 120
pop rbx
pop r12
@@ -424,7 +420,7 @@ G_M6839_IG23: ; bbWeight=0, epilog, nogc, extend
pop rbp
ret
;; size=15 bbWeight=0 PerfScore 0.00
-G_M6839_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M6839_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
push rbp
push r15
push r14
@@ -436,10 +432,10 @@ G_M6839_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov qword ptr [rsp], rbp
lea rbp, [rbp+0xA0]
;; size=25 bbWeight=0 PerfScore 0.00
-G_M6839_IG25: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- lea rax, G_M6839_IG22
+G_M6839_IG24: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+ lea rax, G_M6839_IG21
;; size=7 bbWeight=0 PerfScore 0.00
-G_M6839_IG26: ; bbWeight=0, funclet epilog, nogc, extend
+G_M6839_IG25: ; bbWeight=0, funclet epilog, nogc, extend
add rsp, 8
pop rbx
pop r12
@@ -489,4 +485,4 @@ Unwind Info:
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
*************** EH table for Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int
1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M6839_IG06..G_M6839_IG20) handled by [G_M6839_IG24..END) (class: 1000150)
+EH#0: try [G_M6839_IG06..G_M6839_IG19) handled by [G_M6839_IG23..END) (class: 1000150)
+0 (0.00%) : 29735.dasm - Simple2_Array_Test:Main():int (Tier1-OSR)
@@ -58,7 +58,7 @@ G_M25584_IG05: ; bbWeight=9.10, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
mov r15d, dword ptr [rbp+0x48]
mov r14d, dword ptr [rbp+0x64]
cmp r15d, r14d
- jge SHORT G_M25584_IG13
+ jge SHORT G_M25584_IG12
;; size=13 bbWeight=9.10 PerfScore 29.57
G_M25584_IG06: ; bbWeight=8.27, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
mov r13d, dword ptr [rbp+0x54]
@@ -85,7 +85,7 @@ G_M25584_IG07: ; bbWeight=90.90, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
inc r15d
cmp r15d, r14d
mov eax, dword ptr [rbp-0x2C]
- jl SHORT G_M25584_IG12
+ jl SHORT G_M25584_IG11
;; size=42 bbWeight=90.90 PerfScore 727.21
G_M25584_IG08: ; bbWeight=9.10, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov r15d, dword ptr [rbp+0x4C]
@@ -98,31 +98,33 @@ G_M25584_IG09: ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
cmp r12d, r14d
jl G_M25584_IG03
;; size=12 bbWeight=1.00 PerfScore 1.50
-G_M25584_IG10: ; bbWeight=0.10, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- inc r13d
- cmp r13d, r14d
- jge SHORT G_M25584_IG14
- xor r12d, r12d
- test r14d, r14d
- jg G_M25584_IG03
- ;; size=20 bbWeight=0.10 PerfScore 0.30
-G_M25584_IG11: ; bbWeight=0.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- jmp SHORT G_M25584_IG10
- ;; size=2 bbWeight=0.04 PerfScore 0.09
-G_M25584_IG12: ; bbWeight=45.45, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG10: ; bbWeight=0.09, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+ jmp SHORT G_M25584_IG14
+ ;; size=2 bbWeight=0.09 PerfScore 0.18
+G_M25584_IG11: ; bbWeight=45.45, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov r10d, dword ptr [rbp+0x4C]
jmp SHORT G_M25584_IG07
;; size=6 bbWeight=45.45 PerfScore 136.35
-G_M25584_IG13: ; bbWeight=4.55, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG12: ; bbWeight=4.55, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov r12d, dword ptr [rbp+0x50]
mov r13d, dword ptr [rbp+0x54]
jmp SHORT G_M25584_IG08
;; size=10 bbWeight=4.55 PerfScore 18.20
-G_M25584_IG14: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M25584_IG13: ; bbWeight=0.10, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+ xor r12d, r12d
+ test r14d, r14d
+ jg G_M25584_IG03
+ ;; size=12 bbWeight=0.10 PerfScore 0.15
+G_M25584_IG14: ; bbWeight=0.10, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+ inc r13d
+ cmp r13d, r14d
+ jl SHORT G_M25584_IG13
+ ;; size=8 bbWeight=0.10 PerfScore 0.15
+G_M25584_IG15: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
xor r13d, r13d
- jmp G_M25584_IG26
+ jmp G_M25584_IG27
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25584_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25584_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx]
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
@@ -131,7 +133,7 @@ G_M25584_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
mov eax, 1
;; size=21 bbWeight=0 PerfScore 0.00
-G_M25584_IG16: ; bbWeight=0, epilog, nogc, extend
+G_M25584_IG17: ; bbWeight=0, epilog, nogc, extend
add rsp, 152
pop rbx
pop r12
@@ -141,24 +143,24 @@ G_M25584_IG16: ; bbWeight=0, epilog, nogc, extend
pop rbp
ret
;; size=18 bbWeight=0 PerfScore 0.00
-G_M25584_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M25584_IG18: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs +[rbx]
xor r12d, r12d
- jmp SHORT G_M25584_IG25
- ;; size=5 bbWeight=0 PerfScore 0.00
-G_M25584_IG18: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- xor r15d, r15d
- jmp SHORT G_M25584_IG24
+ jmp SHORT G_M25584_IG26
;; size=5 bbWeight=0 PerfScore 0.00
G_M25584_IG19: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- xor eax, eax
- jmp SHORT G_M25584_IG23
- ;; size=4 bbWeight=0 PerfScore 0.00
-G_M25584_IG20: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- xor r9d, r9d
- jmp SHORT G_M25584_IG22
+ xor r15d, r15d
+ jmp SHORT G_M25584_IG25
;; size=5 bbWeight=0 PerfScore 0.00
-G_M25584_IG21: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M25584_IG20: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+ xor eax, eax
+ jmp SHORT G_M25584_IG24
+ ;; size=4 bbWeight=0 PerfScore 0.00
+G_M25584_IG21: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+ xor r9d, r9d
+ jmp SHORT G_M25584_IG23
+ ;; size=5 bbWeight=0 PerfScore 0.00
+G_M25584_IG22: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
mov rdi, rbx
; gcrRegs +[rdi]
mov esi, r13d
@@ -177,39 +179,39 @@ G_M25584_IG21: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
mov qword ptr [rbp+0x38], rax
mov eax, dword ptr [rbp+0x48]
;; size=47 bbWeight=0 PerfScore 0.00
-G_M25584_IG22: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG23: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov dword ptr [rbp+0x44], r9d
cmp r9d, eax
- jl SHORT G_M25584_IG21
+ jl SHORT G_M25584_IG22
inc eax
;; size=11 bbWeight=0 PerfScore 0.00
-G_M25584_IG23: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG24: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, r15d
- jl SHORT G_M25584_IG20
+ jl SHORT G_M25584_IG21
inc r15d
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25584_IG24: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG25: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp r15d, r12d
- jl SHORT G_M25584_IG19
+ jl SHORT G_M25584_IG20
inc r12d
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25584_IG25: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG26: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp r12d, r13d
- jl SHORT G_M25584_IG18
+ jl SHORT G_M25584_IG19
inc r13d
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25584_IG26: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG27: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp r13d, r14d
- jl SHORT G_M25584_IG17
+ jl SHORT G_M25584_IG18
mov rdi, rbx
; gcrRegs +[rdi]
call [Simple2_Array_Test:test(int[,,,]):int]
; gcrRegs -[rbx rdi]
; gcr arg pop 0
cmp eax, 4
- jne G_M25584_IG15
+ jne G_M25584_IG16
cmp qword ptr [rbp+0x38], 0x3022B
- jne G_M25584_IG15
+ jne G_M25584_IG16
mov rdi, 0xD1FFAB1E
; gcrRegs +[rdi]
call [<unknown method>]
@@ -217,7 +219,7 @@ G_M25584_IG26: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
; gcr arg pop 0
mov eax, 100
;; size=58 bbWeight=0 PerfScore 0.00
-G_M25584_IG27: ; bbWeight=0, epilog, nogc, extend
+G_M25584_IG28: ; bbWeight=0, epilog, nogc, extend
add rsp, 152
pop rbx
pop r12
@@ -228,7 +230,7 @@ G_M25584_IG27: ; bbWeight=0, epilog, nogc, extend
ret
;; size=18 bbWeight=0 PerfScore 0.00
-; Total bytes of code 458, prolog size 58, PerfScore 1068.36, instruction count 131, allocated bytes for code 458 (MethodHash=75279c0f) for method Simple2_Array_Test:Main():int (Tier1-OSR)
+; Total bytes of code 458, prolog size 58, PerfScore 1068.45, instruction count 131, allocated bytes for code 458 (MethodHash=75279c0f) for method Simple2_Array_Test:Main():int (Tier1-OSR)
; ============================================================
Unwind Info:
libraries_tests.run.linux.x64.Release.mch
-5 (-2.28%) : 69505.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -42,17 +42,17 @@ G_M8081_IG03: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
mov r14, gword ptr [rbx+0x18]
; gcrRegs +[r14]
cmp qword ptr [r14], r15
- jne G_M8081_IG16
+ jne G_M8081_IG15
cmp byte ptr [r14+0x4C], 0
- jne G_M8081_IG17
+ jne G_M8081_IG16
mov rdi, gword ptr [r14+0x30]
; gcrRegs +[rdi]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- je G_M8081_IG18
+ je G_M8081_IG17
mov edi, dword ptr [r14+0x38]
; gcrRegs -[rdi]
cmp edi, dword ptr [r14+0x3C]
- je SHORT G_M8081_IG09
+ je SHORT G_M8081_IG10
;; size=51 bbWeight=1.04 PerfScore 22.97
G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
mov rax, gword ptr [r14+0x28]
@@ -60,7 +60,7 @@ G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {
mov edi, dword ptr [r14+0x38]
mov ecx, edi
cmp ecx, dword ptr [rax+0x08]
- jae SHORT G_M8081_IG15
+ jae SHORT G_M8081_IG14
movzx rax, word ptr [rax+2*rcx+0x10]
; gcrRegs -[rax]
inc edi
@@ -70,36 +70,17 @@ G_M8081_IG05: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
; gcrRegs -[r14]
inc dword ptr [rbx+0x24]
cmp eax, -1
- je SHORT G_M8081_IG13
+ je SHORT G_M8081_IG12
;; size=8 bbWeight=1.04 PerfScore 4.44
G_M8081_IG06: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, 10
- je SHORT G_M8081_IG12
+ je SHORT G_M8081_IG09
;; size=5 bbWeight=1.04 PerfScore 1.30
G_M8081_IG07: ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, 13
je SHORT G_M8081_IG03
;; size=5 bbWeight=1.00 PerfScore 1.25
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rbx]
- jmp SHORT G_M8081_IG11
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rbx r14]
- mov rdi, r14
- ; gcrRegs +[rdi]
- call [System.IO.StreamReader:ReadBuffer():int:this]
- ; gcrRegs -[rdi]
- ; gcr arg pop 0
- test eax, eax
- jne SHORT G_M8081_IG04
- ;; size=13 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[r14]
- mov eax, -1
- jmp SHORT G_M8081_IG05
- ;; size=7 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[rbx]
add rsp, 8
pop rbx
@@ -108,18 +89,33 @@ G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
pop rbp
ret
;; size=11 bbWeight=1.00 PerfScore 3.25
-G_M8081_IG12: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG09: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs +[rbx]
xor eax, eax
mov dword ptr [rbx+0x24], eax
inc dword ptr [rbx+0x20]
- jmp G_M8081_IG03
- ;; size=13 bbWeight=0.04 PerfScore 0.27
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ jmp SHORT G_M8081_IG03
+ ;; size=10 bbWeight=0.04 PerfScore 0.27
+G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[r14]
+ mov rdi, r14
+ ; gcrRegs +[rdi]
+ call [System.IO.StreamReader:ReadBuffer():int:this]
+ ; gcrRegs -[rdi]
+ ; gcr arg pop 0
+ test eax, eax
+ jne SHORT G_M8081_IG04
+ ;; size=13 bbWeight=0.00 PerfScore 0.00
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs -[r14]
+ mov eax, -1
+ jmp SHORT G_M8081_IG05
+ ;; size=7 bbWeight=0.00 PerfScore 0.00
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx]
mov eax, -1
;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
add rsp, 8
pop rbx
pop r14
@@ -127,11 +123,11 @@ G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
pop rbp
ret
;; size=11 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx r14]
mov rdi, r14
; gcrRegs +[rdi]
@@ -142,7 +138,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
; gcr arg pop 0
jmp SHORT G_M8081_IG05
;; size=15 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx] +[r14]
mov rdi, r14
; gcrRegs +[rdi]
@@ -151,13 +147,13 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byre
; gcr arg pop 0
int3
;; size=10 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [System.IO.StreamReader:ThrowAsyncIOInProgress()]
; gcr arg pop 0
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 219, prolog size 15, PerfScore 52.76, instruction count 69, allocated bytes for code 219 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 214, prolog size 15, PerfScore 51.76, instruction count 68, allocated bytes for code 214 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
-5 (-2.28%) : 97333.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -42,17 +42,17 @@ G_M8081_IG03: ; bbWeight=1.05, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
mov r14, gword ptr [rbx+0x18]
; gcrRegs +[r14]
cmp qword ptr [r14], r15
- jne G_M8081_IG16
+ jne G_M8081_IG15
cmp byte ptr [r14+0x4C], 0
- jne G_M8081_IG17
+ jne G_M8081_IG16
mov rdi, gword ptr [r14+0x30]
; gcrRegs +[rdi]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- je G_M8081_IG18
+ je G_M8081_IG17
mov edi, dword ptr [r14+0x38]
; gcrRegs -[rdi]
cmp edi, dword ptr [r14+0x3C]
- je SHORT G_M8081_IG09
+ je SHORT G_M8081_IG10
;; size=51 bbWeight=1.05 PerfScore 23.05
G_M8081_IG04: ; bbWeight=1.05, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
mov rax, gword ptr [r14+0x28]
@@ -60,7 +60,7 @@ G_M8081_IG04: ; bbWeight=1.05, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {
mov edi, dword ptr [r14+0x38]
mov ecx, edi
cmp ecx, dword ptr [rax+0x08]
- jae SHORT G_M8081_IG15
+ jae SHORT G_M8081_IG14
movzx rax, word ptr [rax+2*rcx+0x10]
; gcrRegs -[rax]
inc edi
@@ -70,36 +70,17 @@ G_M8081_IG05: ; bbWeight=1.05, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
; gcrRegs -[r14]
inc dword ptr [rbx+0x24]
cmp eax, -1
- je SHORT G_M8081_IG13
+ je SHORT G_M8081_IG12
;; size=8 bbWeight=1.05 PerfScore 4.45
G_M8081_IG06: ; bbWeight=1.05, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, 10
- je SHORT G_M8081_IG12
+ je SHORT G_M8081_IG09
;; size=5 bbWeight=1.05 PerfScore 1.31
G_M8081_IG07: ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, 13
je SHORT G_M8081_IG03
;; size=5 bbWeight=1.00 PerfScore 1.25
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rbx]
- jmp SHORT G_M8081_IG11
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rbx r14]
- mov rdi, r14
- ; gcrRegs +[rdi]
- call [System.IO.StreamReader:ReadBuffer():int:this]
- ; gcrRegs -[rdi]
- ; gcr arg pop 0
- test eax, eax
- jne SHORT G_M8081_IG04
- ;; size=13 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[r14]
- mov eax, -1
- jmp SHORT G_M8081_IG05
- ;; size=7 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[rbx]
add rsp, 8
pop rbx
@@ -108,18 +89,33 @@ G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
pop rbp
ret
;; size=11 bbWeight=1.00 PerfScore 3.25
-G_M8081_IG12: ; bbWeight=0.05, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG09: ; bbWeight=0.05, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs +[rbx]
xor eax, eax
mov dword ptr [rbx+0x24], eax
inc dword ptr [rbx+0x20]
- jmp G_M8081_IG03
- ;; size=13 bbWeight=0.05 PerfScore 0.29
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ jmp SHORT G_M8081_IG03
+ ;; size=10 bbWeight=0.05 PerfScore 0.29
+G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[r14]
+ mov rdi, r14
+ ; gcrRegs +[rdi]
+ call [System.IO.StreamReader:ReadBuffer():int:this]
+ ; gcrRegs -[rdi]
+ ; gcr arg pop 0
+ test eax, eax
+ jne SHORT G_M8081_IG04
+ ;; size=13 bbWeight=0.00 PerfScore 0.00
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs -[r14]
+ mov eax, -1
+ jmp SHORT G_M8081_IG05
+ ;; size=7 bbWeight=0.00 PerfScore 0.00
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx]
mov eax, -1
;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
add rsp, 8
pop rbx
pop r14
@@ -127,11 +123,11 @@ G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
pop rbp
ret
;; size=11 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx r14]
mov rdi, r14
; gcrRegs +[rdi]
@@ -142,7 +138,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
; gcr arg pop 0
jmp SHORT G_M8081_IG05
;; size=15 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx] +[r14]
mov rdi, r14
; gcrRegs +[rdi]
@@ -151,13 +147,13 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byre
; gcr arg pop 0
int3
;; size=10 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [System.IO.StreamReader:ThrowAsyncIOInProgress()]
; gcr arg pop 0
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 219, prolog size 15, PerfScore 52.94, instruction count 69, allocated bytes for code 219 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 214, prolog size 15, PerfScore 51.94, instruction count 68, allocated bytes for code 214 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
-5 (-2.28%) : 123305.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -42,17 +42,17 @@ G_M8081_IG03: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
mov r14, gword ptr [rbx+0x18]
; gcrRegs +[r14]
cmp qword ptr [r14], r15
- jne G_M8081_IG16
+ jne G_M8081_IG15
cmp byte ptr [r14+0x4C], 0
- jne G_M8081_IG17
+ jne G_M8081_IG16
mov rdi, gword ptr [r14+0x30]
; gcrRegs +[rdi]
test dword ptr [rdi+0x34], 0xD1FFAB1E
- je G_M8081_IG18
+ je G_M8081_IG17
mov edi, dword ptr [r14+0x38]
; gcrRegs -[rdi]
cmp edi, dword ptr [r14+0x3C]
- je SHORT G_M8081_IG09
+ je SHORT G_M8081_IG10
;; size=51 bbWeight=1.04 PerfScore 22.98
G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
mov rax, gword ptr [r14+0x28]
@@ -60,7 +60,7 @@ G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {
mov edi, dword ptr [r14+0x38]
mov ecx, edi
cmp ecx, dword ptr [rax+0x08]
- jae SHORT G_M8081_IG15
+ jae SHORT G_M8081_IG14
movzx rax, word ptr [rax+2*rcx+0x10]
; gcrRegs -[rax]
inc edi
@@ -70,36 +70,17 @@ G_M8081_IG05: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
; gcrRegs -[r14]
inc dword ptr [rbx+0x24]
cmp eax, -1
- je SHORT G_M8081_IG13
+ je SHORT G_M8081_IG12
;; size=8 bbWeight=1.04 PerfScore 4.44
G_M8081_IG06: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, 10
- je SHORT G_M8081_IG12
+ je SHORT G_M8081_IG09
;; size=5 bbWeight=1.04 PerfScore 1.31
G_M8081_IG07: ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, 13
je SHORT G_M8081_IG03
;; size=5 bbWeight=1.00 PerfScore 1.25
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rbx]
- jmp SHORT G_M8081_IG11
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rbx r14]
- mov rdi, r14
- ; gcrRegs +[rdi]
- call [System.IO.StreamReader:ReadBuffer():int:this]
- ; gcrRegs -[rdi]
- ; gcr arg pop 0
- test eax, eax
- jne SHORT G_M8081_IG04
- ;; size=13 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[r14]
- mov eax, -1
- jmp SHORT G_M8081_IG05
- ;; size=7 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[rbx]
add rsp, 8
pop rbx
@@ -108,18 +89,33 @@ G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
pop rbp
ret
;; size=11 bbWeight=1.00 PerfScore 3.25
-G_M8081_IG12: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG09: ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs +[rbx]
xor eax, eax
mov dword ptr [rbx+0x24], eax
inc dword ptr [rbx+0x20]
- jmp G_M8081_IG03
- ;; size=13 bbWeight=0.04 PerfScore 0.27
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ jmp SHORT G_M8081_IG03
+ ;; size=10 bbWeight=0.04 PerfScore 0.27
+G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[r14]
+ mov rdi, r14
+ ; gcrRegs +[rdi]
+ call [System.IO.StreamReader:ReadBuffer():int:this]
+ ; gcrRegs -[rdi]
+ ; gcr arg pop 0
+ test eax, eax
+ jne SHORT G_M8081_IG04
+ ;; size=13 bbWeight=0.00 PerfScore 0.00
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs -[r14]
+ mov eax, -1
+ jmp SHORT G_M8081_IG05
+ ;; size=7 bbWeight=0.00 PerfScore 0.00
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx]
mov eax, -1
;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
add rsp, 8
pop rbx
pop r14
@@ -127,11 +123,11 @@ G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
pop rbp
ret
;; size=11 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx r14]
mov rdi, r14
; gcrRegs +[rdi]
@@ -142,7 +138,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
; gcr arg pop 0
jmp SHORT G_M8081_IG05
;; size=15 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx] +[r14]
mov rdi, r14
; gcrRegs +[rdi]
@@ -151,13 +147,13 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byre
; gcr arg pop 0
int3
;; size=10 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [System.IO.StreamReader:ThrowAsyncIOInProgress()]
; gcr arg pop 0
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 219, prolog size 15, PerfScore 52.77, instruction count 69, allocated bytes for code 219 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 214, prolog size 15, PerfScore 51.77, instruction count 68, allocated bytes for code 214 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
+8 (+1.03%) : 675139.dasm - System.Buffers.Text.Base64:DecodeWithWhiteSpaceBlockwise(System.ReadOnlySpan1[ubyte],System.Span
1[ubyte],byref,byref,ubyte):int (Tier1)
@@ -77,7 +77,7 @@
; V65 tmp48 [V65,T36] ( 2, 0 ) byref -> rax "field V44._reference (fldOffset=0x0)" P-INDEP
; V66 tmp49 [V66,T37] ( 2, 0 ) int -> rdx "field V44._length (fldOffset=0x8)" P-INDEP
; V67 tmp50 [V67,T06] ( 5, 6.25) byref -> r14 "V00.[000..008)"
-; V68 tmp51 [V68,T02] ( 10, 11.25) int -> r13 "V00.[008..012)"
+; V68 tmp51 [V68,T02] ( 11, 11.25) int -> r13 "V00.[008..012)"
; V69 GsCookie [V69 ] ( 1, 1 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed "GSSecurityCookie"
; V70 tmp53 [V70,T20] ( 3, 3 ) struct (16) [rbp-0x98] do-not-enreg[SFA] multireg-arg must-init ptr "shadowVar" <System.ReadOnlySpan`1[ubyte]>
; V71 tmp54 [V71,T09] ( 9, 5 ) byref -> r15 single-def "shadowVar"
@@ -285,16 +285,14 @@ G_M35087_IG22: ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=D008 {rbx r1
jg G_M35087_IG35
jmp G_M35087_IG13
;; size=13 bbWeight=0.25 PerfScore 0.81
-G_M35087_IG23: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=D008 {rbx r12 r14 r15}, byref
+G_M35087_IG23: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=D008 {rbx r12 r14 r15}, byref, isz
test r13d, r13d
- jne G_M35087_IG05
- ;; size=9 bbWeight=1 PerfScore 1.25
-G_M35087_IG24: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; byrRegs -[rbx r12 r14-r15]
- jmp SHORT G_M35087_IG16
- ;; size=2 bbWeight=0.50 PerfScore 1.00
+ je SHORT G_M35087_IG16
+ ;; size=5 bbWeight=1 PerfScore 1.25
+G_M35087_IG24: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=D008 {rbx r12 r14 r15}, byref
+ jmp G_M35087_IG05
+ ;; size=5 bbWeight=0.50 PerfScore 1.00
G_M35087_IG25: ; bbWeight=0.25, gcrefRegs=0000 {}, byrefRegs=D008 {rbx r12 r14 r15}, byref
- ; byrRegs +[rbx r12 r14-r15]
xor edi, edi
cmp ecx, 4
sete dil
@@ -407,10 +405,12 @@ G_M35087_IG37: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=D008 {rbx r12 r
mov edx, dword ptr [rbp-0x84]
mov bword ptr [rbp-0x58], rax
mov dword ptr [rbp-0x50], edx
- jmp G_M35087_IG23
- ;; size=81 bbWeight=0 PerfScore 0.00
+ test r13d, r13d
+ jne G_M35087_IG05
+ jmp G_M35087_IG16
+ ;; size=90 bbWeight=0 PerfScore 0.00
-; Total bytes of code 774, prolog size 67, PerfScore 140.94, instruction count 217, allocated bytes for code 774 (MethodHash=91d476f0) for method System.Buffers.Text.Base64:DecodeWithWhiteSpaceBlockwise(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref,byref,ubyte):int (Tier1)
+; Total bytes of code 782, prolog size 67, PerfScore 140.94, instruction count 219, allocated bytes for code 782 (MethodHash=91d476f0) for method System.Buffers.Text.Base64:DecodeWithWhiteSpaceBlockwise(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref,byref,ubyte):int (Tier1)
; ============================================================
Unwind Info:
+15 (+1.42%) : 552667.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
@@ -14,10 +14,10 @@
; V02 loc0 [V02,T03] ( 22, 7.79) ref -> r14 class-hnd exact single-def <System.Uri+UriInfo>
; V03 loc1 [V03,T01] ( 52, 16.78) int -> r12
; V04 loc2 [V04,T16] ( 5, 2.05) ubyte -> r13
-; V05 loc3 [V05,T26] ( 3, 0.78) ubyte -> rax
+; V05 loc3 [V05,T26] ( 3, 0.78) ubyte -> r10
; V06 loc4 [V06,T04] ( 7, 7 ) long -> [rbp-0x30]
-; V07 loc5 [V07,T37] ( 2, 0.15) int -> rdi
-; V08 loc6 [V08,T29] ( 2, 0.58) int -> rdi
+; V07 loc5 [V07,T37] ( 2, 0.15) int -> rax
+; V08 loc6 [V08,T29] ( 2, 0.58) int -> r8
; V09 loc7 [V09,T21] ( 4, 1.16) long -> rdi
; V10 loc8 [V10 ] ( 3, 1.51) byref -> [rbp-0x38] must-init pinned
; V11 loc9 [V11,T30] ( 8, 0.54) int -> rsi
@@ -27,7 +27,7 @@
;# V15 OutArgs [V15 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;* V16 tmp1 [V16 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "NewObj constructor temp" <System.Uri+UriInfo>
; V17 tmp2 [V17,T05] ( 4, 6.86) int -> rdi "impSpillLclRefs"
-; V18 tmp3 [V18,T39] ( 3, 0.09) byref -> rsi "dup spill"
+; V18 tmp3 [V18,T39] ( 3, 0.09) byref -> rax "dup spill"
;* V19 tmp4 [V19 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def "dup spill" <System.String>
;* V20 tmp5 [V20 ] ( 0, 0 ) ref -> zero-ref single-def
; V21 tmp6 [V21,T23] ( 3, 1.01) long -> rdi
@@ -41,26 +41,26 @@
; V29 tmp14 [V29,T14] ( 5, 2.44) ref -> rdi
;* V30 tmp15 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.UriParser>
; V31 tmp16 [V31,T06] ( 3, 6 ) byref -> rdi single-def "Inlining Arg"
-; V32 tmp17 [V32,T07] ( 3, 5.14) ref -> rdx "arr expr"
+; V32 tmp17 [V32,T07] ( 3, 5.14) ref -> rsi "arr expr"
; V33 tmp18 [V33,T11] ( 2, 3.22) ref -> rdi single-def "arr expr"
; V34 tmp19 [V34,T12] ( 2, 3.19) ref -> rdi single-def "arr expr"
-; V35 tmp20 [V35,T22] ( 2, 1.03) ref -> rdx "arr expr"
+; V35 tmp20 [V35,T22] ( 2, 1.03) ref -> rdi "arr expr"
;* V36 tmp21 [V36,T32] ( 0, 0 ) ref -> zero-ref "arr expr"
; V37 tmp22 [V37,T24] ( 3, 0.95) ref -> rdi "arr expr"
-; V38 tmp23 [V38,T31] ( 3, 0.50) ref -> rsi "arr expr"
+; V38 tmp23 [V38,T31] ( 3, 0.50) ref -> rdi "arr expr"
;* V39 tmp24 [V39,T38] ( 0, 0 ) ref -> zero-ref "arr expr"
-; V40 tmp25 [V40,T10] ( 5, 3.28) ref -> rsi "arr expr"
+; V40 tmp25 [V40,T10] ( 5, 3.28) ref -> rax "arr expr"
; V41 tmp26 [V41,T18] ( 2, 2.02) long -> rdi "Cast away GC"
-; V42 cse0 [V42,T27] ( 3, 0.69) int -> rdx "CSE - conservative"
-; V43 cse1 [V43,T35] ( 3, 0.24) int -> rsi "CSE - conservative"
-; V44 cse2 [V44,T28] ( 3, 0.62) int -> rax "CSE - conservative"
-; V45 cse3 [V45,T08] ( 5, 3.57) ref -> rsi "CSE - moderate"
+; V42 cse0 [V42,T27] ( 3, 0.69) int -> r9 "CSE - conservative"
+; V43 cse1 [V43,T35] ( 3, 0.24) int -> rcx "CSE - conservative"
+; V44 cse2 [V44,T28] ( 3, 0.62) int -> rcx "CSE - conservative"
+; V45 cse3 [V45,T08] ( 5, 3.57) ref -> rax "CSE - moderate"
; V46 cse4 [V46,T20] ( 5, 1.71) ref -> rdi multi-def "CSE - moderate"
-; V47 cse5 [V47,T34] ( 2, 0.17) ref -> rsi "CSE - conservative"
-; V48 cse6 [V48,T09] ( 5, 3.57) int -> rax "CSE - moderate"
+; V47 cse5 [V47,T34] ( 2, 0.17) ref -> rdi "CSE - conservative"
+; V48 cse6 [V48,T09] ( 5, 3.57) int -> rcx "CSE - moderate"
; V49 cse7 [V49,T19] ( 2, 2 ) byref -> r15 hoist "CSE - moderate"
-; V50 cse8 [V50,T15] ( 3, 2.39) int -> rdx "CSE - moderate"
-; V51 cse9 [V51,T25] ( 3, 0.86) int -> rdx "CSE - conservative"
+; V50 cse8 [V50,T15] ( 3, 2.39) int -> rsi "CSE - moderate"
+; V51 cse9 [V51,T25] ( 3, 0.86) int -> rcx "CSE - conservative"
;
; Lcl frame size = 24
@@ -95,7 +95,7 @@ G_M10115_IG02: ; bbWeight=1, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byr
jne G_M10115_IG22
xor r13d, r13d
test ebx, 0xD1FFAB1E
- jne G_M10115_IG43
+ jne G_M10115_IG36
;; size=59 bbWeight=1 PerfScore 12.00
G_M10115_IG03: ; bbWeight=0.84, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
@@ -108,48 +108,48 @@ G_M10115_IG04: ; bbWeight=0.86, gcrefRegs=C000 {r14 r15}, byrefRegs=0000
; gcrRegs -[rdi]
mov edi, r12d
lea r12d, [rdi+0x01]
- mov rsi, gword ptr [r15+0x08]
+ mov rax, gword ptr [r15+0x08]
+ ; gcrRegs +[rax]
+ mov rsi, rax
; gcrRegs +[rsi]
- mov rdx, rsi
- ; gcrRegs +[rdx]
- mov eax, dword ptr [rdx+0x08]
- cmp edi, eax
- jae G_M10115_IG55
- cmp word ptr [rdx+2*rdi+0x0C], 58
- jne G_M10115_IG52
+ mov ecx, dword ptr [rsi+0x08]
+ cmp edi, ecx
+ jae G_M10115_IG54
+ cmp word ptr [rsi+2*rdi+0x0C], 58
+ jne G_M10115_IG51
;; size=37 bbWeight=0.86 PerfScore 8.78
-G_M10115_IG05: ; bbWeight=0.84, gcrefRegs=C040 {rsi r14 r15}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rdx]
+G_M10115_IG05: ; bbWeight=0.84, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs -[rsi]
test ebx, 0xD1FFAB1E
je SHORT G_M10115_IG09
;; size=8 bbWeight=0.84 PerfScore 1.05
-G_M10115_IG06: ; bbWeight=0.81, gcrefRegs=C040 {rsi r14 r15}, byrefRegs=0000 {}, byref
- mov rdi, rsi
+G_M10115_IG06: ; bbWeight=0.81, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0000 {}, byref
+ mov rdi, rax
; gcrRegs +[rdi]
- cmp r12d, eax
- jae G_M10115_IG55
- mov edx, r12d
- cmp word ptr [rdi+2*rdx+0x0C], 92
- je G_M10115_IG53
+ cmp r12d, ecx
+ jae G_M10115_IG54
+ mov esi, r12d
+ cmp word ptr [rdi+2*rsi+0x0C], 92
+ je G_M10115_IG52
;; size=27 bbWeight=0.81 PerfScore 4.63
-G_M10115_IG07: ; bbWeight=0.80, gcrefRegs=C040 {rsi r14 r15}, byrefRegs=0000 {}, byref
+G_M10115_IG07: ; bbWeight=0.80, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi]
- mov rdi, rsi
+ mov rdi, rax
; gcrRegs +[rdi]
- lea edx, [r12+0x01]
- cmp edx, eax
- jae G_M10115_IG55
- cmp word ptr [rdi+2*rdx+0x0C], 92
- je G_M10115_IG53
+ lea esi, [r12+0x01]
+ cmp esi, ecx
+ jae G_M10115_IG54
+ cmp word ptr [rdi+2*rsi+0x0C], 92
+ je G_M10115_IG52
;; size=28 bbWeight=0.80 PerfScore 4.78
-G_M10115_IG08: ; bbWeight=0.81, gcrefRegs=C040 {rsi r14 r15}, byrefRegs=0000 {}, byref
+G_M10115_IG08: ; bbWeight=0.81, gcrefRegs=C001 {rax r14 r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi]
add r12d, 2
test ebx, 0xD1FFAB1E
- jne G_M10115_IG41
+ jne G_M10115_IG34
;; size=16 bbWeight=0.81 PerfScore 1.21
G_M10115_IG09: ; bbWeight=1, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rsi]
+ ; gcrRegs -[rax]
mov rdi, gword ptr [r15+0x18]
; gcrRegs +[rdi]
cmp dword ptr [rdi+0x14], -1
@@ -167,22 +167,22 @@ G_M10115_IG11: ; bbWeight=1, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {},
mov edi, ebx
and edi, 0xD1FFAB1E
cmp edi, 0xD1FFAB1E
- je G_M10115_IG42
+ je G_M10115_IG35
;; size=20 bbWeight=1 PerfScore 1.75
G_M10115_IG12: ; bbWeight=0.98, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref
test ebx, 0xD1FFAB1E
- jne G_M10115_IG42
+ jne G_M10115_IG35
;; size=12 bbWeight=0.98 PerfScore 1.22
G_M10115_IG13: ; bbWeight=0.79, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref
mov word ptr [r14+0x3A], r12w
mov edi, dword ptr [r15+0x28]
and edi, 0xD1FFAB1E
cmp edi, 0xD1FFAB1E
- je G_M10115_IG49
+ je G_M10115_IG42
;; size=27 bbWeight=0.79 PerfScore 3.58
G_M10115_IG14: ; bbWeight=0.67, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref
test ebx, 0xD1FFAB1E
- jne G_M10115_IG33
+ jne G_M10115_IG26
;; size=12 bbWeight=0.67 PerfScore 0.84
G_M10115_IG15: ; bbWeight=0.67, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref
mov word ptr [r14+0x3C], r12w
@@ -193,11 +193,11 @@ G_M10115_IG15: ; bbWeight=0.67, gcrefRegs=C000 {r14 r15}, byrefRegs=0000
test r13d, r13d
cmovne rbx, rdi
mov word ptr [r14+0x40], r12w
- xor eax, eax
+ xor r10d, r10d
mov rdi, 0xD1FFAB1E
test rbx, rdi
- jne G_M10115_IG50
- ;; size=56 bbWeight=0.67 PerfScore 3.51
+ jne G_M10115_IG49
+ ;; size=57 bbWeight=0.67 PerfScore 3.51
G_M10115_IG16: ; bbWeight=0.67, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref, isz
movzx rdi, word ptr [r14+0x46]
cmp r12d, edi
@@ -216,19 +216,19 @@ G_M10115_IG18: ; bbWeight=0.42, gcrefRegs=C000 {r14 r15}, byrefRegs=0000
;; size=4 bbWeight=0.42 PerfScore 0.85
G_M10115_IG19: ; bbWeight=0.50, gcrefRegs=C080 {rdi r14 r15}, byrefRegs=0000 {}, byref
test rdi, rdi
- je G_M10115_IG57
+ je G_M10115_IG56
add rdi, 12
; gcrRegs -[rdi]
; byrRegs +[rdi]
mov bword ptr [rbp-0x38], rdi
mov rdi, bword ptr [rbp-0x38]
;; size=21 bbWeight=0.50 PerfScore 1.76
-G_M10115_IG20: ; bbWeight=0.50, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG20: ; bbWeight=0.50, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref
; byrRegs -[rdi]
movsxd rsi, r12d
cmp word ptr [rdi+2*rsi], 58
- je SHORT G_M10115_IG27
- ;; size=10 bbWeight=0.50 PerfScore 2.14
+ je G_M10115_IG43
+ ;; size=14 bbWeight=0.50 PerfScore 2.14
G_M10115_IG21: ; bbWeight=0.50, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref
xor edi, edi
mov bword ptr [rbp-0x38], rdi
@@ -238,7 +238,7 @@ G_M10115_IG22: ; bbWeight=1, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {},
lea rdi, bword ptr [r15+0x20]
; byrRegs +[rdi]
test rdi, rdi
- je G_M10115_IG58
+ je G_M10115_IG57
mov rsi, r14
; gcrRegs +[rsi]
xor rdx, rdx
@@ -281,134 +281,79 @@ G_M10115_IG25: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
; byrRegs +[r15]
mov rcx, rax
test ecx, 0xD1FFAB1E
+ jne SHORT G_M10115_IG24
mov rax, rcx
- je SHORT G_M10115_IG23
- ;; size=14 bbWeight=1 PerfScore 1.75
-G_M10115_IG26: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; byrRegs -[r15]
- jmp SHORT G_M10115_IG24
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M10115_IG27: ; bbWeight=0.05, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref, isz
+ jmp SHORT G_M10115_IG23
+ ;; size=16 bbWeight=1 PerfScore 3.75
+G_M10115_IG26: ; bbWeight=0.08, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[r14-r15]
- xor esi, esi
- inc r12d
- movzx rdx, word ptr [r14+0x46]
- cmp r12d, edx
- jge SHORT G_M10115_IG30
- movsxd rsi, r12d
- movzx rsi, word ptr [rdi+2*rsi]
- add esi, -48
- cmp esi, 9
- ja SHORT G_M10115_IG30
- mov eax, 1
...
+9 (+1.72%) : 59090.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
@@ -53,7 +53,7 @@ G_M63357_IG03: ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
;; size=7 bbWeight=1 PerfScore 2.00
G_M63357_IG04: ; bbWeight=1.75, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref, isz
cmp r14d, dword ptr [r12+0x08]
- jae G_M63357_IG19
+ jae G_M63357_IG21
mov edx, r14d
movzx rdx, word ptr [r12+2*rdx+0x10]
lea esi, [rdx-0x09]
@@ -68,38 +68,23 @@ G_M63357_IG04: ; bbWeight=1.75, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0
;; size=52 bbWeight=1.75 PerfScore 24.50
G_M63357_IG05: ; bbWeight=1.50, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref, isz
cmp edx, 32
- je SHORT G_M63357_IG14
+ je SHORT G_M63357_IG12
;; size=5 bbWeight=1.50 PerfScore 1.88
-G_M63357_IG06: ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[r12]
- jmp SHORT G_M63357_IG08
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M63357_IG07: ; bbWeight=0.25, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[r12]
- inc r14d
- lea rdx, bword ptr [rbx+0x1E0]
- ; byrRegs +[rdx]
- inc dword ptr [rdx]
- lea edx, [r14-0x01]
- ; byrRegs -[rdx]
- mov dword ptr [rbx+0x1E4], edx
- jmp SHORT G_M63357_IG04
- ;; size=24 bbWeight=0.25 PerfScore 1.81
-G_M63357_IG08: ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+G_M63357_IG06: ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[r12]
cmp r14d, dword ptr [rbx+0x1D4]
- je SHORT G_M63357_IG15
+ je G_M63357_IG22
mov edx, dword ptr [rbx+0x1D0]
mov r12d, r14d
sub r12d, edx
test r12d, r12d
- jle SHORT G_M63357_IG12
- ;; size=26 bbWeight=1 PerfScore 7.75
-G_M63357_IG09: ; bbWeight=0.75, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+ jle SHORT G_M63357_IG10
+ ;; size=30 bbWeight=1 PerfScore 7.75
+G_M63357_IG07: ; bbWeight=0.75, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
test r15, r15
- je SHORT G_M63357_IG11
+ je SHORT G_M63357_IG09
;; size=5 bbWeight=0.75 PerfScore 0.94
-G_M63357_IG10: ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+G_M63357_IG08: ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
mov rsi, gword ptr [rbx+0x188]
; gcrRegs +[rsi]
mov rdi, r15
@@ -109,16 +94,16 @@ G_M63357_IG10: ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000
; gcrRegs -[rsi rdi r15] +[rax]
; gcr arg pop 0
;; size=19 bbWeight=0.50 PerfScore 2.75
-G_M63357_IG11: ; bbWeight=0.75, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M63357_IG09: ; bbWeight=0.75, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
mov dword ptr [rbx+0x1D0], r14d
add r13d, r12d
;; size=10 bbWeight=0.75 PerfScore 0.94
-G_M63357_IG12: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M63357_IG10: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx]
mov eax, r13d
;; size=3 bbWeight=1 PerfScore 0.25
-G_M63357_IG13: ; bbWeight=1, epilog, nogc, extend
+G_M63357_IG11: ; bbWeight=1, epilog, nogc, extend
add rsp, 8
pop rbx
pop r12
@@ -128,20 +113,96 @@ G_M63357_IG13: ; bbWeight=1, epilog, nogc, extend
pop rbp
ret
;; size=15 bbWeight=1 PerfScore 4.25
-G_M63357_IG14: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M63357_IG12: ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[rbx r12 r15]
inc r14d
jmp G_M63357_IG04
;; size=8 bbWeight=0.50 PerfScore 1.12
-G_M63357_IG15: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[r12]
+G_M63357_IG13: ; bbWeight=0.25, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
+ inc r14d
+ lea rdx, bword ptr [rbx+0x1E0]
+ ; byrRegs +[rdx]
+ inc dword ptr [rdx]
+ lea edx, [r14-0x01]
+ ; byrRegs -[rdx]
+ mov dword ptr [rbx+0x1E4], edx
+ jmp G_M63357_IG04
+ ;; size=27 bbWeight=0.25 PerfScore 1.81
+G_M63357_IG14: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref, isz
+ lea edx, [r14+0x01]
+ cmp edx, dword ptr [r12+0x08]
+ jae G_M63357_IG21
+ lea edx, [r14+0x01]
+ cmp word ptr [r12+2*rdx+0x10], 10
+ jne SHORT G_M63357_IG17
+ mov edx, dword ptr [rbx+0x1D0]
+ mov eax, r14d
+ sub eax, edx
+ mov dword ptr [rbp-0x2C], eax
+ test r15, r15
+ je SHORT G_M63357_IG16
+ cmp byte ptr [rbx+0x1EF], 0
+ jne SHORT G_M63357_IG16
+ test eax, eax
+ jle SHORT G_M63357_IG15
+ mov rdi, r15
+ ; gcrRegs +[rdi]
+ mov rsi, r12
+ ; gcrRegs +[rsi]
+ mov ecx, eax
+ call [System.Text.StringBuilder:Append(ushort[],int,int):System.Text.StringBuilder:this]
+ ; gcrRegs -[rsi rdi] +[rax]
+ ; gcr arg pop 0
+ add r13d, dword ptr [rbp-0x2C]
+ ;; size=78 bbWeight=0 PerfScore 0.00
+G_M63357_IG15: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
+ ; gcrRegs -[rax]
+ lea edi, [r14+0x01]
+ mov dword ptr [rbx+0x1D0], edi
+ ;; size=10 bbWeight=0 PerfScore 0.00
+G_M63357_IG16: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref, isz
+ add r14d, 2
+ jmp SHORT G_M63357_IG20
+ ;; size=6 bbWeight=0 PerfScore 0.00
+G_M63357_IG17: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref, isz
+ lea edi, [r14+0x01]
+ cmp edi, dword ptr [rbx+0x1D4]
+ jl SHORT G_M63357_IG18
+ cmp byte ptr [rbx+0x1ED], 0
+ je SHORT G_M63357_IG22
+ ;; size=21 bbWeight=0 PerfScore 0.00
+G_M63357_IG18: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref, isz
+ cmp byte ptr [rbx+0x1EF], 0
+ jne SHORT G_M63357_IG19
+ mov edi, r14d
+ mov word ptr [r12+2*rdi+0x10], 10
+ ;; size=20 bbWeight=0 PerfScore 0.00
+G_M63357_IG19: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
+ inc r14d
+ ;; size=3 bbWeight=0 PerfScore 0.00
+G_M63357_IG20: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref
+ mov rdi, rbx
+ ; gcrRegs +[rdi]
+ mov esi, r14d
+ call [System.Xml.XmlTextReaderImpl:OnNewLine(int):this]
+ ; gcrRegs -[rdi]
+ ; gcr arg pop 0
+ jmp G_M63357_IG04
+ ;; size=17 bbWeight=0 PerfScore 0.00
+G_M63357_IG21: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ ; gcrRegs -[rbx r12 r15]
+ call CORINFO_HELP_RNGCHKFAIL
+ ; gcr arg pop 0
+ ;; size=5 bbWeight=0 PerfScore 0.00
+G_M63357_IG22: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[rbx r15]
mov edx, dword ptr [rbx+0x1D0]
mov r12d, r14d
sub r12d, edx
test r12d, r12d
- jle SHORT G_M63357_IG17
+ jle SHORT G_M63357_IG24
test r15, r15
- je SHORT G_M63357_IG16
+ je SHORT G_M63357_IG23
mov rsi, gword ptr [rbx+0x188]
; gcrRegs +[rsi]
mov rdi, r15
@@ -151,29 +212,29 @@ G_M63357_IG15: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
; gcrRegs -[rsi rdi] +[rax]
; gcr arg pop 0
;; size=41 bbWeight=0 PerfScore 0.00
-G_M63357_IG16: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+G_M63357_IG23: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
mov dword ptr [rbx+0x1D0], r14d
add r13d, r12d
;; size=10 bbWeight=0 PerfScore 0.00
-G_M63357_IG17: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+G_M63357_IG24: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
mov rdi, rbx
; gcrRegs +[rdi]
call [<unknown method>]
; gcrRegs -[rdi]
; gcr arg pop 0
test eax, eax
- jne SHORT G_M63357_IG18
+ jne SHORT G_M63357_IG25
mov edi, dword ptr [rbx+0x1D4]
sub edi, dword ptr [rbx+0x1D0]
- je SHORT G_M63357_IG12
+ je G_M63357_IG10
mov rdi, gword ptr [rbx+0x188]
; gcrRegs +[rdi]
mov eax, dword ptr [rbx+0x1D0]
cmp eax, dword ptr [rdi+0x08]
- jae SHORT G_M63357_IG19
+ jae SHORT G_M63357_IG21
cmp word ptr [rdi+2*rax+0x10], 13
- je SHORT G_M63357_IG18
+ je SHORT G_M63357_IG25
mov rdi, 0xD1FFAB1E
call [<unknown method>]
; gcrRegs -[rdi] +[rax]
@@ -187,86 +248,19 @@ G_M63357_IG17: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
call [System.Xml.XmlTextReaderImpl:Throw(System.String,System.String):this]
; gcrRegs -[rax rdx rsi rdi]
; gcr arg pop 0
- ;; size=91 bbWeight=0 PerfScore 0.00
-G_M63357_IG18: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+ ;; size=95 bbWeight=0 PerfScore 0.00
+G_M63357_IG25: ; bbWeight=0, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
mov r14d, dword ptr [rbx+0x1D0]
jmp G_M63357_IG03
;; size=12 bbWeight=0 PerfScore 0.00
-G_M63357_IG19: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rbx r15]
- call CORINFO_HELP_RNGCHKFAIL
- ; gcr arg pop 0
- ;; size=5 bbWeight=0 PerfScore 0.00
-G_M63357_IG20: ; bbWeight=0, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rbx r12 r15]
- lea edx, [r14+0x01]
- cmp edx, dword ptr [r12+0x08]
- jae SHORT G_M63357_IG19
- lea edx, [r14+0x01]
- cmp word ptr [r12+2*rdx+0x10], 10
- jne SHORT G_M63357_IG23
- mov edx, dword ptr [rbx+0x1D0]
- mov eax, r14d
- sub eax, edx
- mov dword ptr [rbp-0x2C], eax
- test r15, r15
- je SHORT G_M63357_IG22
- cmp byte ptr [rbx+0x1EF], 0
- jne SHORT G_M63357_IG22
- test eax, eax
- jle SHORT G_M63357_IG21
- mov rdi, r15
- ; gcrRegs +[rdi]
...
Details
Improvements/regressions per collection
Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
benchmarks.run.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
benchmarks.run_pgo.linux.x64.checked.mch |
4 |
0 |
1 |
3 |
-0 |
+30 |
benchmarks.run_tiered.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
coreclr_tests.run.linux.x64.checked.mch |
3 |
0 |
0 |
3 |
-0 |
+0 |
libraries.crossgen2.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
libraries.pmi.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
libraries_tests.run.linux.x64.Release.mch |
205 |
184 |
4 |
17 |
-966 |
+35 |
librariestestsnotieredcompilation.run.linux.x64.Release.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
realworld.run.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
smoke_tests.nativeaot.linux.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
|
212 |
184 |
5 |
23 |
-966 |
+65 |
Context information
Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
benchmarks.run.linux.x64.checked.mch |
36,217 |
3,549 |
32,668 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_pgo.linux.x64.checked.mch |
160,327 |
63,207 |
97,120 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_tiered.linux.x64.checked.mch |
65,386 |
50,236 |
15,150 |
0 (0.00%) |
0 (0.00%) |
coreclr_tests.run.linux.x64.checked.mch |
599,012 |
355,942 |
243,070 |
1 (0.00%) |
1 (0.00%) |
libraries.crossgen2.linux.x64.checked.mch |
234,329 |
15 |
234,314 |
0 (0.00%) |
0 (0.00%) |
libraries.pmi.linux.x64.checked.mch |
296,931 |
6 |
296,925 |
0 (0.00%) |
0 (0.00%) |
libraries_tests.run.linux.x64.Release.mch |
759,766 |
496,184 |
263,582 |
0 (0.00%) |
0 (0.00%) |
librariestestsnotieredcompilation.run.linux.x64.Release.mch |
305,443 |
21,912 |
283,531 |
0 (0.00%) |
0 (0.00%) |
realworld.run.linux.x64.checked.mch |
33,083 |
9 |
33,074 |
0 (0.00%) |
0 (0.00%) |
smoke_tests.nativeaot.linux.x64.checked.mch |
27,414 |
10 |
27,404 |
0 (0.00%) |
0 (0.00%) |
|
2,517,908 |
991,070 |
1,526,838 |
1 (0.00%) |
1 (0.00%) |
jit-analyze output
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: 71579583 (overridden on cmd)
Total bytes of diff: 71579613 (overridden on cmd)
Total bytes of delta: 30 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
30 : 48123.dasm (3.48 % of base)
1 total files with Code Size differences (0 improved, 1 regressed), 3 unchanged.
Top method regressions (bytes):
30 (3.48 % of base) : 48123.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1+<SingleSerial>d__21[System.__Canon]:MoveNext():this (Tier1)
Top method regressions (percentages):
30 (3.48 % of base) : 48123.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1+<SingleSerial>d__21[System.__Canon]:MoveNext():this (Tier1)
1 total methods with Code Size differences (0 improved, 1 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: 403725618 (overridden on cmd)
Total bytes of diff: 403725618 (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), 3 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
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: 337126106 (overridden on cmd)
Total bytes of diff: 337125175 (overridden on cmd)
Total bytes of delta: -931 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
15 : 552667.dasm (1.42 % of base)
9 : 59090.dasm (1.72 % of base)
8 : 675139.dasm (1.03 % of base)
3 : 418972.dasm (0.29 % of base)
Top file improvements (bytes):
-68 : 459263.dasm (-9.60 % of base)
-6 : 89263.dasm (-1.09 % of base)
-5 : 143765.dasm (-2.28 % of base)
-5 : 131965.dasm (-2.28 % of base)
-5 : 123305.dasm (-2.28 % of base)
-5 : 204509.dasm (-2.28 % of base)
-5 : 236501.dasm (-2.28 % of base)
-5 : 256413.dasm (-2.28 % of base)
-5 : 316169.dasm (-2.28 % of base)
-5 : 323049.dasm (-2.28 % of base)
-5 : 69505.dasm (-2.28 % of base)
-5 : 97333.dasm (-2.28 % of base)
-5 : 137893.dasm (-2.28 % of base)
-5 : 196357.dasm (-2.28 % of base)
-5 : 232805.dasm (-2.28 % of base)
-5 : 250937.dasm (-2.28 % of base)
-5 : 262749.dasm (-2.28 % of base)
-5 : 284033.dasm (-2.28 % of base)
-5 : 319021.dasm (-2.28 % of base)
-5 : 323365.dasm (-2.28 % of base)
26 total files with Code Size differences (22 improved, 4 regressed), 17 unchanged.
Top method regressions (bytes):
15 (1.42 % of base) : 552667.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
9 (1.72 % of base) : 59090.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
8 (1.03 % of base) : 675139.dasm - System.Buffers.Text.Base64:DecodeWithWhiteSpaceBlockwise(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref,byref,ubyte):int (Tier1)
3 (0.29 % of base) : 418972.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
Top method improvements (bytes):
-68 (-9.60 % of base) : 459263.dasm - System.IPv6AddressHelper:InternalIsValid(ulong,int,byref,ubyte):ubyte (Tier1)
-6 (-1.09 % of base) : 89263.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
-5 (-2.28 % of base) : 143765.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 131965.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 123305.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 204509.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 236501.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 256413.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 316169.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 323049.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 69505.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 97333.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 137893.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 196357.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 232805.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 250937.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 262749.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 284033.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 319021.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 323365.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
Top method regressions (percentages):
9 (1.72 % of base) : 59090.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
15 (1.42 % of base) : 552667.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
8 (1.03 % of base) : 675139.dasm - System.Buffers.Text.Base64:DecodeWithWhiteSpaceBlockwise(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref,byref,ubyte):int (Tier1)
3 (0.29 % of base) : 418972.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
Top method improvements (percentages):
-68 (-9.60 % of base) : 459263.dasm - System.IPv6AddressHelper:InternalIsValid(ulong,int,byref,ubyte):ubyte (Tier1)
-5 (-2.28 % of base) : 143765.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 131965.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 123305.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 204509.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 236501.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 256413.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 316169.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 323049.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 69505.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 97333.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 137893.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 196357.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 232805.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 250937.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 262749.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 284033.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 319021.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 323365.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.28 % of base) : 333433.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
osx arm64
Diffs are based on 2,270,868 contexts (932,669 MinOpts, 1,338,199 FullOpts).
MISSED contexts: 2 (0.00%)
Overall (-288 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
benchmarks.run_pgo.osx.arm64.checked.mch |
34,442,140 |
-20 |
coreclr_tests.run.osx.arm64.checked.mch |
486,433,300 |
+0 |
libraries_tests.run.osx.arm64.Release.mch |
324,596,964 |
-268 |
FullOpts (-288 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
benchmarks.run_pgo.osx.arm64.checked.mch |
18,140,840 |
-20 |
coreclr_tests.run.osx.arm64.checked.mch |
153,820,376 |
+0 |
libraries_tests.run.osx.arm64.Release.mch |
120,881,116 |
-268 |
Example diffs
benchmarks.run_pgo.osx.arm64.checked.mch
-4 (-1.08%) : 59793.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
@@ -54,7 +54,7 @@ G_M4144_IG02: ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, by
add w7, w6, w7
sub w7, w7, #1
ldr w9, [x1, #0x10]
- b G_M4144_IG10
+ b G_M4144_IG08
;; size=24 bbWeight=1 PerfScore 11.00
G_M4144_IG03: ; bbWeight=0.82, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
ldr w4, [x1, #0x1C]
@@ -64,51 +64,43 @@ G_M4144_IG03: ; bbWeight=0.82, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {},
G_M4144_IG04: ; bbWeight=1.00, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
add w5, w5, #1
cmp w4, w5
- bge G_M4144_IG07
+ blt G_M4144_IG14
;; size=12 bbWeight=1.00 PerfScore 2.00
-G_M4144_IG05: ; bbWeight=0.05, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
- b G_M4144_IG15
- ;; size=4 bbWeight=0.05 PerfScore 0.05
-G_M4144_IG06: ; bbWeight=0.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
- ldr w5, [x1, #0x1C]
- cmp w4, w5
- blt G_M4144_IG15
- ;; size=12 bbWeight=0.10 PerfScore 0.45
-G_M4144_IG07: ; bbWeight=0.91, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG05: ; bbWeight=0.91, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
ldr w10, [x1, #0x20]
cmp w3, w10
blt G_M4144_IG04
;; size=12 bbWeight=0.91 PerfScore 4.10
-G_M4144_IG08: ; bbWeight=0.46, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG06: ; bbWeight=0.46, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
mov w4, w10
;; size=4 bbWeight=0.46 PerfScore 0.23
-G_M4144_IG09: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG07: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
sxtw w3, w6
;; size=4 bbWeight=9.10 PerfScore 4.55
-G_M4144_IG10: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG08: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
cmp w7, w3
- blt G_M4144_IG13
+ blt G_M4144_IG11
;; size=8 bbWeight=9.10 PerfScore 13.65
-G_M4144_IG11: ; bbWeight=8.27, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG09: ; bbWeight=8.27, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
ldr w10, [x2, #0x1C]
sub w10, w5, w10
ldr w11, [x2, #0x10]
;; size=12 bbWeight=8.27 PerfScore 53.76
-G_M4144_IG12: ; bbWeight=90.90, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG10: ; bbWeight=90.90, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
sxtw w13, w10
cmp w13, w11
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
ldr w14, [x2, #0x14]
ldr w12, [x2, #0x20]
sub w12, w4, w12
cmp w12, w14
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
madd w13, w13, w14, w12
ldr w14, [x2, #0x18]
ldr w12, [x2, #0x24]
sub w12, w3, w12
cmp w12, w14
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
madd w13, w13, w14, w12
ubfiz x13, x13, #2, #32
add x13, x13, #40
@@ -116,17 +108,17 @@ G_M4144_IG12: ; bbWeight=90.90, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}
sub w14, w5, w14
ldp w12, w15, [x1, #0x10]
cmp w14, w12
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
ldr w12, [x1, #0x20]
sub w12, w4, w12
cmp w12, w15
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
madd w14, w14, w15, w12
ldr w12, [x1, #0x18]
ldr w15, [x1, #0x24]
sub w15, w3, w15
cmp w15, w12
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
madd w14, w14, w12, w15
ubfiz x14, x14, #2, #32
add x14, x14, #40
@@ -134,24 +126,29 @@ G_M4144_IG12: ; bbWeight=90.90, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}
str w14, [x2, x13]
add w3, w3, #1
cmp w7, w3
- bge G_M4144_IG12
+ bge G_M4144_IG10
;; size=160 bbWeight=90.90 PerfScore 5090.46
-G_M4144_IG13: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG11: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
add w4, w4, #1
ldr w3, [x1, #0x20]
add w3, w3, w8
sub w3, w3, #1
cmp w3, w4
- bge G_M4144_IG09
+ bge G_M4144_IG07
;; size=24 bbWeight=9.10 PerfScore 54.59
-G_M4144_IG14: ; bbWeight=0.82, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG12: ; bbWeight=0.82, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
b G_M4144_IG03
;; size=4 bbWeight=0.82 PerfScore 0.82
-G_M4144_IG15: ; bbWeight=0.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG13: ; bbWeight=0.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+ ldr w5, [x1, #0x1C]
+ cmp w4, w5
+ bge G_M4144_IG05
+ ;; size=12 bbWeight=0.10 PerfScore 0.45
+G_M4144_IG14: ; bbWeight=0.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
sub w0, w0, #1
- cbnz w0, G_M4144_IG06
+ cbnz w0, G_M4144_IG13
;; size=8 bbWeight=0.10 PerfScore 0.15
-G_M4144_IG16: ; bbWeight=0, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG15: ; bbWeight=0, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
mov x0, x1
; gcrRegs +[x0]
mov x1, x2
@@ -164,18 +161,18 @@ G_M4144_IG16: ; bbWeight=0, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, by
; gcrRegs -[x0-x1]
; gcr arg pop 0
;; size=28 bbWeight=0 PerfScore 0.00
-G_M4144_IG17: ; bbWeight=0, epilog, nogc, extend
+G_M4144_IG16: ; bbWeight=0, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
add sp, sp, #80
ret lr
;; size=12 bbWeight=0 PerfScore 0.00
-G_M4144_IG18: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M4144_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
brk_unix #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 372, prolog size 24, PerfScore 5249.58, instruction count 93, allocated bytes for code 372 (MethodHash=aa90efcf) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
+; Total bytes of code 368, prolog size 24, PerfScore 5249.53, instruction count 92, allocated bytes for code 368 (MethodHash=aa90efcf) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
; ============================================================
Unwind Info:
@@ -186,7 +183,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 93 (0x0005d) Actual length = 372 (0x000174)
+ Function Length : 92 (0x0005c) Actual length = 368 (0x000170)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-16 (-0.28%) : 57524.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
@@ -139,7 +139,7 @@
; V127 tmp121 [V127,T121] ( 2, 0 ) ref -> x1 class-hnd single-def "spilling QMark2" <Microsoft.CodeAnalysis.CSharp.Syntax.QualifiedNameSyntax>
;* V128 tmp122 [V128 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V129 tmp123 [V129 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
-; V130 tmp124 [V130,T09] ( 41, 1.33) ref -> x0 "Single return block return value"
+; V130 tmp124 [V130,T09] ( 42, 1.33) ref -> x0 "Single return block return value"
; V131 tmp125 [V131,T122] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V132 tmp126 [V132,T123] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V133 tmp127 [V133,T124] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
@@ -282,7 +282,7 @@ G_M29879_IG09: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
; gcrRegs -[x0] +[x19-x21]
mov w1, #0xD1FFAB1E
cmp w24, w1
- bne G_M29879_IG158
+ bne G_M29879_IG157
b G_M29879_IG137
;; size=16 bbWeight=0 PerfScore 0.00
G_M29879_IG10: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
@@ -291,8 +291,8 @@ G_M29879_IG10: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
beq G_M29879_IG79
mov w1, #0xD1FFAB1E
cmp w24, w1
- bne G_M29879_IG158
- b G_M29879_IG149
+ bne G_M29879_IG157
+ b G_M29879_IG148
;; size=28 bbWeight=0 PerfScore 0.00
G_M29879_IG11: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
mov w1, #0xD1FFAB1E
@@ -312,16 +312,16 @@ G_M29879_IG11: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
G_M29879_IG12: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
mov w1, #0xD1FFAB1E
cmp w24, w1
- bne G_M29879_IG158
- b G_M29879_IG155
+ bne G_M29879_IG157
+ b G_M29879_IG154
;; size=16 bbWeight=0 PerfScore 0.00
G_M29879_IG13: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
mov w1, #0xD1FFAB1E
cmp w24, w1
- beq G_M29879_IG145
+ beq G_M29879_IG144
mov w1, #0xD1FFAB1E
cmp w24, w1
- bne G_M29879_IG158
+ bne G_M29879_IG157
b G_M29879_IG130
;; size=28 bbWeight=0 PerfScore 0.00
G_M29879_IG14: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
@@ -2291,24 +2291,19 @@ G_M29879_IG138: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0
movk x3, #0xD1FFAB1E LSL #16
movk x3, #1 LSL #32
ldr x3, [x3]
- ;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG139: ; bbWeight=0, epilog, nogc, extend
- ldr x25, [sp, #0x78]
- ldp x23, x24, [sp, #0x68]
- ldp x21, x22, [sp, #0x58]
- ldp x19, x20, [sp, #0x48]
- ldp fp, lr, [sp], #0x80
- br x3
+ blr x3
+ ; gcrRegs -[x1-x2 x19-x21]
; gcr arg pop 0
- ;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG140: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
- ; gcrRegs -[x0-x2]
+ b G_M29879_IG07
+ ;; size=36 bbWeight=0 PerfScore 0.00
+G_M29879_IG139: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs -[x0] +[x19-x21]
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #1 LSL #32
cmp x0, x1
- beq G_M29879_IG141
+ beq G_M29879_IG140
mov x0, x1
mov x1, x19
; gcrRegs +[x1]
@@ -2317,7 +2312,7 @@ G_M29879_IG140: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
brk_unix #0
;; size=40 bbWeight=0 PerfScore 0.00
-G_M29879_IG141: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M29879_IG140: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x0] +[x19-x21]
mov x1, x19
; gcrRegs +[x1]
@@ -2330,7 +2325,7 @@ G_M29879_IG141: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0
movk x3, #1 LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG142: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG141: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2339,7 +2334,7 @@ G_M29879_IG142: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG143: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M29879_IG142: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[x0-x2]
mov x0, x20
; gcrRegs +[x0]
@@ -2352,7 +2347,7 @@ G_M29879_IG143: ; bbWeight=0, gcVars=000000000000000000000000000000000000
movk x3, #1 LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG144: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG143: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2361,7 +2356,7 @@ G_M29879_IG144: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG145: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M29879_IG144: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[x0-x2]
mov x0, x20
; gcrRegs +[x0]
@@ -2374,7 +2369,7 @@ G_M29879_IG145: ; bbWeight=0, gcVars=000000000000000000000000000000000000
movk x3, #1 LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG146: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG145: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2383,7 +2378,7 @@ G_M29879_IG146: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG147: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M29879_IG146: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[x0-x2]
mov x0, x20
; gcrRegs +[x0]
@@ -2396,7 +2391,7 @@ G_M29879_IG147: ; bbWeight=0, gcVars=000000000000000000000000000000000000
movk x3, #1 LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG148: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG147: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2405,14 +2400,14 @@ G_M29879_IG148: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG149: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M29879_IG148: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[x0-x2]
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #1 LSL #32
cmp x0, x1
- beq G_M29879_IG150
+ beq G_M29879_IG149
mov x0, x1
mov x1, x19
; gcrRegs +[x1]
@@ -2421,7 +2416,7 @@ G_M29879_IG149: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
brk_unix #0
;; size=40 bbWeight=0 PerfScore 0.00
-G_M29879_IG150: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M29879_IG149: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x0] +[x19-x21]
mov x1, x19
; gcrRegs +[x1]
@@ -2434,7 +2429,7 @@ G_M29879_IG150: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0
movk x3, #1 LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG151: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG150: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2443,14 +2438,14 @@ G_M29879_IG151: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG152: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M29879_IG151: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[x0-x2]
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #1 LSL #32
cmp x0, x1
- beq G_M29879_IG153
+ beq G_M29879_IG152
mov x0, x1
mov x1, x19
; gcrRegs +[x1]
@@ -2459,7 +2454,7 @@ G_M29879_IG152: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
brk_unix #0
;; size=40 bbWeight=0 PerfScore 0.00
-G_M29879_IG153: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M29879_IG152: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x0] +[x19-x21]
mov x1, x19
; gcrRegs +[x1]
@@ -2472,7 +2467,7 @@ G_M29879_IG153: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0
movk x3, #1 LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG154: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG153: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2481,14 +2476,14 @@ G_M29879_IG154: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG155: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M29879_IG154: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[x0-x2]
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #1 LSL #32
cmp x0, x1
- beq G_M29879_IG156
+ beq G_M29879_IG155
mov x0, x1
mov x1, x19
; gcrRegs +[x1]
@@ -2497,7 +2492,7 @@ G_M29879_IG155: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
brk_unix #0
;; size=40 bbWeight=0 PerfScore 0.00
-G_M29879_IG156: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M29879_IG155: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x0] +[x19-x21]
mov x1, x19
; gcrRegs +[x1]
...
+0 (0.00%) : 64355.dasm - Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int (Tier1)
@@ -169,14 +169,14 @@ G_M6839_IG06: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldr w0, [x0, #0x08]
; gcrRegs -[x0]
cmp w0, #0
- ble G_M6839_IG21
+ ble G_M6839_IG20
;; size=96 bbWeight=0.00 PerfScore 0.04
G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
ldr x0, [x19, #0x10]
; gcrRegs +[x0]
ldr w1, [x0, #0x08]
cmp w21, w1
- bhs G_M6839_IG12
+ bhs G_M6839_IG11
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -188,40 +188,40 @@ G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldp x0, x1, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
sub x2, x0, x1
cmp w2, #3
- blt G_M6839_IG17
+ blt G_M6839_IG16
cmp x1, x0
- beq G_M6839_IG16
+ beq G_M6839_IG15
add x0, x1, #1
str x0, [fp, #0x48] // [V05 loc1+0x18]
ldrb w0, [x1]
ldr w23, [x22, #0x08]
cmp w23, #0
- bls G_M6839_IG12
+ bls G_M6839_IG11
ldrb w1, [x22, #0x10]
cmp w0, w1
- bne G_M6839_IG17
+ bne G_M6839_IG16
ldp x1, x0, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
cmp x0, x1
- beq G_M6839_IG16
+ beq G_M6839_IG15
add x1, x0, #1
str x1, [fp, #0x48] // [V05 loc1+0x18]
ldrb w0, [x0]
cmp w23, #1
- bls G_M6839_IG12
+ bls G_M6839_IG11
ldrb w1, [x22, #0x11]
cmp w0, w1
- bne G_M6839_IG17
+ bne G_M6839_IG16
ldp x1, x0, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
cmp x0, x1
- beq G_M6839_IG16
+ beq G_M6839_IG15
add x1, x0, #1
str x1, [fp, #0x48] // [V05 loc1+0x18]
ldrb w0, [x0]
cmp w23, #2
- bls G_M6839_IG12
+ bls G_M6839_IG11
ldrb w1, [x22, #0x12]
cmp w0, w1
- bne G_M6839_IG17
+ bne G_M6839_IG16
mov w24, #3
cmp w23, #3
ble G_M6839_IG10
@@ -246,7 +246,7 @@ G_M6839_IG08: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=8000
mov w1, #64
cmp w0, #29
ccmp w0, w1, 0, ne
- beq G_M6839_IG13
+ beq G_M6839_IG12
;; size=68 bbWeight=0.00 PerfScore 0.03
G_M6839_IG09: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
add w24, w24, #1
@@ -257,20 +257,18 @@ G_M6839_IG10: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
; gcrRegs -[x22]
ldp x0, x1, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
sub x0, x0, x1
- cbnz w0, G_M6839_IG17
+ cbnz w0, G_M6839_IG16
cmp w23, w24
- bne G_M6839_IG17
- ;; size=20 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG11: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ bne G_M6839_IG16
+ b G_M6839_IG18
+ ;; size=24 bbWeight=0.00 PerfScore 0.01
+G_M6839_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20]
; byrRegs -[x19]
- b G_M6839_IG19
- ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG12: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG12: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
; gcrRegs +[x20 x22]
; byrRegs +[x19]
add x0, fp, #48 // [V05 loc1]
@@ -284,7 +282,7 @@ G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
lsr w1, w1, #24
uxtb w25, w1
cmp w25, #2
- bne G_M6839_IG14
+ bne G_M6839_IG13
movz x1, #0xD1FFAB1E // code for System.Reflection.Metadata.TypeDefinitionHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeDefinitionHandle
movk x1, #0xD1FFAB1E LSL #16
movk x1, #1 LSL #32
@@ -330,9 +328,9 @@ G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
blr x1
; gcr arg pop 0
sxtw w1, w0
- b G_M6839_IG15
+ b G_M6839_IG14
;; size=192 bbWeight=0 PerfScore 0.00
-G_M6839_IG14: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
cmp w25, #1
bne G_M6839_IG10
movz x1, #0xD1FFAB1E // code for System.Reflection.Metadata.TypeReferenceHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeReferenceHandle
@@ -381,7 +379,7 @@ G_M6839_IG14: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
; gcr arg pop 0
sxtw w1, w0
;; size=160 bbWeight=0 PerfScore 0.00
-G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG14: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
movz x0, #0xD1FFAB1E // box for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -390,7 +388,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
ldr x0, [x0, #0x08]
add w2, w24, #1
cmp w2, w23
- bhs G_M6839_IG12
+ bhs G_M6839_IG11
add x2, x22, #16
; byrRegs +[x2]
add w3, w24, #1
@@ -398,7 +396,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
; byrRegs -[x2]
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M6839_IG12
+ bhs G_M6839_IG11
mov w3, #24
mov x4, #16
umaddl x2, w2, w3, x4
@@ -436,7 +434,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
add w24, w24, #1
b G_M6839_IG09
;; size=156 bbWeight=0 PerfScore 0.00
-G_M6839_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20 x22]
; byrRegs -[x19]
movz x0, #0xD1FFAB1E // code for System.Reflection.Throw:OutOfBounds()
@@ -447,7 +445,7 @@ G_M6839_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG16: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
; gcrRegs +[x20]
; byrRegs +[x19]
add w21, w21, #1
@@ -456,17 +454,17 @@ G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldr w0, [x0, #0x08]
; gcrRegs -[x0]
cmp w0, w21
- ble G_M6839_IG21
+ ble G_M6839_IG20
;; size=20 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref
+G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref
b G_M6839_IG07
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20]
; byrRegs -[x19]
mov w0, w21
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG20: ; bbWeight=0.00, epilog, nogc, extend
+G_M6839_IG19: ; bbWeight=0.00, epilog, nogc, extend
ldp x25, x26, [sp, #0x90]
ldp x23, x24, [sp, #0x80]
ldp x21, x22, [sp, #0x70]
@@ -474,10 +472,10 @@ G_M6839_IG20: ; bbWeight=0.00, epilog, nogc, extend
ldp fp, lr, [sp], #0xA0
ret lr
;; size=24 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG21: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M6839_IG20: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
movn w0, #0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG22: ; bbWeight=0, epilog, nogc, extend
+G_M6839_IG21: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x90]
ldp x23, x24, [sp, #0x80]
ldp x21, x22, [sp, #0x70]
@@ -485,7 +483,7 @@ G_M6839_IG22: ; bbWeight=0, epilog, nogc, extend
ldp fp, lr, [sp], #0xA0
ret lr
;; size=24 bbWeight=0 PerfScore 0.00
-G_M6839_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M6839_IG22: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
stp fp, lr, [sp, #-0x60]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
@@ -494,10 +492,10 @@ G_M6839_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x3, fp, #160
str x3, [sp, #0x18]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M6839_IG24: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
- adr x0, [G_M6839_IG21]
+G_M6839_IG23: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+ adr x0, [G_M6839_IG20]
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG25: ; bbWeight=0, funclet epilog, nogc, extend
+G_M6839_IG24: ; bbWeight=0, funclet epilog, nogc, extend
ldp x25, x26, [sp, #0x50]
ldp x23, x24, [sp, #0x40]
ldp x21, x22, [sp, #0x30]
@@ -560,4 +558,4 @@ Unwind Info:
*************** EH table for Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int
1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M6839_IG06..G_M6839_IG19) handled by [G_M6839_IG23..END) (class: 1000150)
+EH#0: try [G_M6839_IG06..G_M6839_IG18) handled by [G_M6839_IG22..END) (class: 1000150)
coreclr_tests.run.osx.arm64.checked.mch
+0 (0.00%) : 24833.dasm - Simple2_Array_Test:TestEntryPoint():int (Tier1-OSR)
@@ -82,22 +82,24 @@ G_M25589_IG09: ; bbWeight=1.00, gcrefRegs=1000000 {x24}, byrefRegs=0000 {
cmp w22, w21
blt G_M25589_IG03
;; size=12 bbWeight=1.00 PerfScore 2.00
-G_M25589_IG10: ; bbWeight=0.10, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
- add w23, w23, #1
- cmp w23, w21
- bge G_M25589_IG12
+G_M25589_IG10: ; bbWeight=0.09, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
+ b G_M25589_IG12
+ ;; size=4 bbWeight=0.09 PerfScore 0.09
+G_M25589_IG11: ; bbWeight=0.10, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
mov w22, wzr
cmp w21, #0
bgt G_M25589_IG03
- ;; size=24 bbWeight=0.10 PerfScore 0.40
-G_M25589_IG11: ; bbWeight=0.04, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
- b G_M25589_IG10
- ;; size=4 bbWeight=0.04 PerfScore 0.04
-G_M25589_IG12: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
+ ;; size=12 bbWeight=0.10 PerfScore 0.20
+G_M25589_IG12: ; bbWeight=0.10, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+ add w23, w23, #1
+ cmp w23, w21
+ blt G_M25589_IG11
+ ;; size=12 bbWeight=0.10 PerfScore 0.20
+G_M25589_IG13: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
mov w23, wzr
- b G_M25589_IG24
+ b G_M25589_IG25
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25589_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25589_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x24]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -110,7 +112,7 @@ G_M25589_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
mov w0, #1
;; size=36 bbWeight=0 PerfScore 0.00
-G_M25589_IG14: ; bbWeight=0, epilog, nogc, extend
+G_M25589_IG15: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -119,24 +121,24 @@ G_M25589_IG14: ; bbWeight=0, epilog, nogc, extend
add sp, sp, #96
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-G_M25589_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, gcvars, byref
+G_M25589_IG16: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[x24]
mov w22, wzr
- b G_M25589_IG23
- ;; size=8 bbWeight=0 PerfScore 0.00
-G_M25589_IG16: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
- mov w20, wzr
- b G_M25589_IG22
+ b G_M25589_IG24
;; size=8 bbWeight=0 PerfScore 0.00
G_M25589_IG17: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
- mov w19, wzr
- b G_M25589_IG21
+ mov w20, wzr
+ b G_M25589_IG23
;; size=8 bbWeight=0 PerfScore 0.00
G_M25589_IG18: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
- mov w26, wzr
- b G_M25589_IG20
+ mov w19, wzr
+ b G_M25589_IG22
;; size=8 bbWeight=0 PerfScore 0.00
G_M25589_IG19: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
+ mov w26, wzr
+ b G_M25589_IG21
+ ;; size=8 bbWeight=0 PerfScore 0.00
+G_M25589_IG20: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
mov x0, x24
; gcrRegs +[x0]
mov w1, w23
@@ -149,33 +151,33 @@ G_M25589_IG19: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {},
add x25, x25, w0, SXTW
add w26, w26, #1
;; size=32 bbWeight=0 PerfScore 0.00
-G_M25589_IG20: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG21: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w26, w19
- blt G_M25589_IG19
+ blt G_M25589_IG20
add w19, w19, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25589_IG21: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG22: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w19, w20
- blt G_M25589_IG18
+ blt G_M25589_IG19
add w20, w20, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25589_IG22: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG23: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w20, w22
- blt G_M25589_IG17
+ blt G_M25589_IG18
add w22, w22, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25589_IG23: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG24: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w22, w23
- blt G_M25589_IG16
+ blt G_M25589_IG17
add w23, w23, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25589_IG24: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG25: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w23, w21
- blt G_M25589_IG15
+ blt G_M25589_IG16
movz x0, #0xD1FFAB1E
movk x0, #3 LSL #16
cmp x25, x0
- bne G_M25589_IG13
+ bne G_M25589_IG14
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -188,7 +190,7 @@ G_M25589_IG24: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {},
; gcr arg pop 0
mov w0, #100
;; size=60 bbWeight=0 PerfScore 0.00
-G_M25589_IG25: ; bbWeight=0, epilog, nogc, extend
+G_M25589_IG26: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -198,7 +200,7 @@ G_M25589_IG25: ; bbWeight=0, epilog, nogc, extend
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 444, prolog size 44, PerfScore 772.00, instruction count 111, allocated bytes for code 444 (MethodHash=b6269c0a) for method Simple2_Array_Test:TestEntryPoint():int (Tier1-OSR)
+; Total bytes of code 444, prolog size 44, PerfScore 772.05, instruction count 111, allocated bytes for code 444 (MethodHash=b6269c0a) for method Simple2_Array_Test:TestEntryPoint():int (Tier1-OSR)
; ============================================================
Unwind Info:
+0 (0.00%) : 28465.dasm - Simple2ArrayTest:Main():int (Tier1-OSR)
@@ -52,7 +52,7 @@ G_M25584_IG05: ; bbWeight=9.10, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
ldr w20, [fp, #0x90] // [V05 loc5]
ldr w21, [fp, #0xAC] // [V00 loc0]
cmp w20, w21
- bge G_M25584_IG12
+ bge G_M25584_IG11
;; size=16 bbWeight=9.10 PerfScore 50.04
G_M25584_IG06: ; bbWeight=8.27, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
ldp w23, w22, [fp, #0x98] // [V03 loc3], [V02 loc2]
@@ -85,27 +85,29 @@ G_M25584_IG09: ; bbWeight=1.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
cmp w23, w21
blt G_M25584_IG03
;; size=12 bbWeight=1.00 PerfScore 2.00
-G_M25584_IG10: ; bbWeight=0.10, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
- add w22, w22, #1
- cmp w22, w21
- bge G_M25584_IG13
- mov w23, wzr
- cmp w21, #0
- bgt G_M25584_IG03
- ;; size=24 bbWeight=0.10 PerfScore 0.40
-G_M25584_IG11: ; bbWeight=0.04, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
- b G_M25584_IG10
- ;; size=4 bbWeight=0.04 PerfScore 0.04
-G_M25584_IG12: ; bbWeight=4.55, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M25584_IG10: ; bbWeight=0.09, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+ b G_M25584_IG13
+ ;; size=4 bbWeight=0.09 PerfScore 0.09
+G_M25584_IG11: ; bbWeight=4.55, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
ldp w23, w22, [fp, #0x98] // [V03 loc3], [V02 loc2]
ldr w24, [fp, #0x94] // [V04 loc4]
b G_M25584_IG08
;; size=12 bbWeight=4.55 PerfScore 22.75
-G_M25584_IG13: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M25584_IG12: ; bbWeight=0.10, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+ mov w23, wzr
+ cmp w21, #0
+ bgt G_M25584_IG03
+ ;; size=12 bbWeight=0.10 PerfScore 0.20
+G_M25584_IG13: ; bbWeight=0.10, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+ add w22, w22, #1
+ cmp w22, w21
+ blt G_M25584_IG12
+ ;; size=12 bbWeight=0.10 PerfScore 0.20
+G_M25584_IG14: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
mov w22, wzr
- b G_M25584_IG25
+ b G_M25584_IG26
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25584_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25584_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -118,7 +120,7 @@ G_M25584_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
mov w0, #1
;; size=36 bbWeight=0 PerfScore 0.00
-G_M25584_IG15: ; bbWeight=0, epilog, nogc, extend
+G_M25584_IG16: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -127,24 +129,24 @@ G_M25584_IG15: ; bbWeight=0, epilog, nogc, extend
add sp, sp, #96
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-G_M25584_IG16: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+G_M25584_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[x19]
mov w23, wzr
- b G_M25584_IG24
- ;; size=8 bbWeight=0 PerfScore 0.00
-G_M25584_IG17: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
- mov w24, wzr
- b G_M25584_IG23
+ b G_M25584_IG25
;; size=8 bbWeight=0 PerfScore 0.00
G_M25584_IG18: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
- mov w20, wzr
- b G_M25584_IG22
+ mov w24, wzr
+ b G_M25584_IG24
;; size=8 bbWeight=0 PerfScore 0.00
G_M25584_IG19: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
- mov w25, wzr
- b G_M25584_IG21
+ mov w20, wzr
+ b G_M25584_IG23
;; size=8 bbWeight=0 PerfScore 0.00
G_M25584_IG20: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+ mov w25, wzr
+ b G_M25584_IG22
+ ;; size=8 bbWeight=0 PerfScore 0.00
+G_M25584_IG21: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
mov x0, x19
; gcrRegs +[x0]
mov w1, w22
@@ -159,29 +161,29 @@ G_M25584_IG20: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
add w25, w25, #1
str x26, [fp, #0x80] // [V07 loc7]
;; size=40 bbWeight=0 PerfScore 0.00
-G_M25584_IG21: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG22: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w25, w20
- blt G_M25584_IG20
+ blt G_M25584_IG21
add w20, w20, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25584_IG22: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG23: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w20, w24
- blt G_M25584_IG19
+ blt G_M25584_IG20
add w24, w24, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25584_IG23: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG24: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w24, w23
- blt G_M25584_IG18
+ blt G_M25584_IG19
add w23, w23, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25584_IG24: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG25: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w23, w22
- blt G_M25584_IG17
+ blt G_M25584_IG18
add w22, w22, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25584_IG25: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG26: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w22, w21
- blt G_M25584_IG16
+ blt G_M25584_IG17
mov x0, x19
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for Simple2_Array_Test:test(int[,,,]):int
@@ -192,12 +194,12 @@ G_M25584_IG25: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
; gcrRegs -[x0 x19]
; gcr arg pop 0
cmp w0, #4
- bne G_M25584_IG14
+ bne G_M25584_IG15
movz x0, #0xD1FFAB1E
movk x0, #3 LSL #16
ldr x26, [fp, #0x80] // [V07 loc7]
cmp x26, x0
- bne G_M25584_IG14
+ bne G_M25584_IG15
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -209,7 +211,7 @@ G_M25584_IG25: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
; gcr arg pop 0
mov w0, #100
;; size=96 bbWeight=0 PerfScore 0.00
-G_M25584_IG26: ; bbWeight=0, epilog, nogc, extend
+G_M25584_IG27: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -219,7 +221,7 @@ G_M25584_IG26: ; bbWeight=0, epilog, nogc, extend
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 512, prolog size 28, PerfScore 883.53, instruction count 128, allocated bytes for code 512 (MethodHash=75279c0f) for method Simple2_Array_Test:Main():int (Tier1-OSR)
+; Total bytes of code 512, prolog size 28, PerfScore 883.57, instruction count 128, allocated bytes for code 512 (MethodHash=75279c0f) for method Simple2_Array_Test:Main():int (Tier1-OSR)
; ============================================================
Unwind Info:
+0 (0.00%) : 279051.dasm - JitTestlcsmixedlcs_cs.LCS:TestEntryPoint():int (Tier1-OSR)
@@ -101,7 +101,7 @@
;
; Lcl frame size = 48
-G_M23463_IG01: ; bbWeight=1, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
+G_M23463_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x90]!
stp x19, x20, [sp, #0x40]
stp x21, x22, [sp, #0x50]
@@ -152,11 +152,11 @@ G_M23463_IG05: ; bbWeight=2.38, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
ldp w2, w6, [x21, #0x10]
sxtw w27, w2
cmp w5, w27
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w2, [x21, #0x1C]
sub w7, w4, w2
cmp w7, w6
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w2, w5, w6, w7
ubfiz x2, x2, #3, #32
add x2, x2, #32
@@ -168,11 +168,11 @@ G_M23463_IG05: ; bbWeight=2.38, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
sub w8, w0, w5
ldp w0, w5, [x2, #0x10]
cmp w8, w0
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w0, [x2, #0x1C]
sub w9, w1, w0
cmp w9, w5
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w0, w8, w5, w9
ubfiz x0, x0, #3, #32
add x0, x0, #32
@@ -203,10 +203,10 @@ G_M23463_IG05: ; bbWeight=2.38, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
stp w5, w4, [fp, #0x24] // [V31 tmp23], [V30 tmp22]
ldp w2, w0, [x20, #0x20]
cmp w25, #6
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w1, [x20, #0x28]
cmp w25, #7
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w6, [x20, #0x2C]
stp w2, w0, [fp, #0x30] // [V12 tmp4], [V12 tmp4+0x04]
stp w1, w6, [fp, #0x38] // [V12 tmp4+0x08], [V12 tmp4+0x0c]
@@ -239,10 +239,10 @@ G_M23463_IG06: ; bbWeight=14.29, gcrefRegs=F80000 {x19 x20 x21 x22 x23},
;; size=4 bbWeight=14.29 PerfScore 14.29
G_M23463_IG07: ; bbWeight=14.29, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
cmp w24, #5
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w2, [x19, #0x24]
cmp w25, #5
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w0, [x20, #0x24]
cmp w2, w0
bge G_M23463_IG10
@@ -255,12 +255,12 @@ G_M23463_IG09: ; bbWeight=85.71, gcrefRegs=F80000 {x19 x20 x21 x22 x23},
ldp w3, w4, [x19, #0x10]
sub w5, w3, w27
cmp w5, w28
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w6, [x21, #0x14]
ldr w2, [x21, #0x1C]
sub w7, w4, w2
cmp w7, w6
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w2, w5, w6, w7
ubfiz x2, x2, #3, #32
add x2, x2, #32
@@ -271,31 +271,31 @@ G_M23463_IG09: ; bbWeight=85.71, gcrefRegs=F80000 {x19 x20 x21 x22 x23},
sub w0, w8, w0
ldp w1, w3, [x2, #0x10]
cmp w0, w1
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w1, [x2, #0x1C]
sub w1, w9, w1
cmp w1, w3
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w0, w0, w3, w1
ubfiz x0, x0, #3, #32
add x0, x0, #32
ldr x2, [x2, x0]
ldp w0, w1, [x19, #0x20]
cmp w25, #6
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w3, [x20, #0x28]
cmp w25, #7
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w4, [x20, #0x2C]
ldr w5, [x2, #0x18]
sub w0, w0, w5
ldp w5, w6, [x2, #0x10]
cmp w0, w5
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w5, [x2, #0x1C]
sub w1, w1, w5
cmp w1, w6
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w0, w0, w6, w1
ubfiz x0, x0, #3, #32
add x0, x0, #32
@@ -361,9 +361,9 @@ G_M23463_IG13: ; bbWeight=0.56, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
cmp w0, w2
blt G_M23463_IG12
;; size=28 bbWeight=0.56 PerfScore 5.30
-G_M23463_IG14: ; bbWeight=0.05, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, byrefRegs=18000000 {x27 x28}, byref
+G_M23463_IG14: ; bbWeight=0.08, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, byrefRegs=18000000 {x27 x28}, byref
b G_M23463_IG17
- ;; size=4 bbWeight=0.05 PerfScore 0.05
+ ;; size=4 bbWeight=0.08 PerfScore 0.08
G_M23463_IG15: ; bbWeight=0.39, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, byrefRegs=10000000 {x28}, byref
; byrRegs -[x27]
add x27, x19, #24
@@ -377,11 +377,11 @@ G_M23463_IG16: ; bbWeight=0.09, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
sub w2, w2, w4
ldp w4, w6, [x21, #0x10]
cmp w2, w4
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w4, [x21, #0x1C]
sub w4, w0, w4
cmp w4, w6
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w2, w2, w6, w4
ubfiz x2, x2, #3, #32
add x2, x2, #32
@@ -443,38 +443,14 @@ G_M23463_IG20: ; bbWeight=0.02, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
ldr w0, [x20, #0x10]
; byrRegs -[x0]
cmp w1, w0
- bge G_M23463_IG22
+ bge G_M23463_IG27
b G_M23463_IG19
;; size=32 bbWeight=0.02 PerfScore 0.23
-G_M23463_IG21: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x19-x23]
+G_M23463_IG21: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs -[x19 x22]
; byrRegs -[x3 x27-x28]
- bl CORINFO_HELP_RNGCHKFAIL
- ; gcr arg pop 0
- ;; size=4 bbWeight=0 PerfScore 0.00
-G_M23463_IG22: ; bbWeight=0, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref
- ; gcrRegs +[x20-x23]
- mov x0, x22
- ; gcrRegs +[x0]
- mov x1, x21
- ; gcrRegs +[x1]
- mov x2, x23
- ; gcrRegs +[x2]
- mov x3, x20
- ; gcrRegs +[x3]
- movz x4, #0xD1FFAB1E // code for JitTest_lcsmixed_lcs_cs.LCS:findLCS(int[,,,][,,,],int[,][,][,][,],ushort[][],int[])
- movk x4, #0xD1FFAB1E LSL #16
- movk x4, #1 LSL #32
- ldr x4, [x4]
- blr x4
- ; gcrRegs -[x0-x3 x22]
- ; gcr arg pop 0
- mov w1, wzr
- b G_M23463_IG24
- ;; size=44 bbWeight=0 PerfScore 0.00
-G_M23463_IG23: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
cmp w1, w25
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
add x0, x20, #16
; byrRegs +[x0]
ubfiz x2, x1, #2, #32
@@ -484,13 +460,13 @@ G_M23463_IG23: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
str w2, [x0]
add w1, w1, #1
;; size=36 bbWeight=0 PerfScore 0.00
-G_M23463_IG24: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M23463_IG22: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
; byrRegs -[x0]
cmp w1, #8
- blt G_M23463_IG23
+ blt G_M23463_IG21
ldr w1, [x23, #0x08]
cmp w1, #0
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr x1, [x23, #0x10]
; gcrRegs +[x1]
mov x0, x21
@@ -517,7 +493,7 @@ G_M23463_IG24: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
blr x2
; gcrRegs -[x1]
; gcr arg pop 0
- cbz w0, G_M23463_IG26
+ cbz w0, G_M23463_IG24
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -529,7 +505,7 @@ G_M23463_IG24: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
; gcr arg pop 0
mov w0, #100
;; size=128 bbWeight=0 PerfScore 0.00
-G_M23463_IG25: ; bbWeight=0, epilog, nogc, extend
+G_M23463_IG23: ; bbWeight=0, epilog, nogc, extend
ldp x27, x28, [sp, #0x80]
ldp x25, x26, [sp, #0x70]
ldp x23, x24, [sp, #0x60]
@@ -539,7 +515,7 @@ G_M23463_IG25: ; bbWeight=0, epilog, nogc, extend
add sp, sp, #0xD1FFAB1E
ret lr
;; size=32 bbWeight=0 PerfScore 0.00
-G_M23463_IG26: ; bbWeight=0, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M23463_IG24: ; bbWeight=0, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -551,7 +527,7 @@ G_M23463_IG26: ; bbWeight=0, gcVars=00000000000000000000000000000000 {},
; gcr arg pop 0
mov w0, wzr
;; size=36 bbWeight=0 PerfScore 0.00
-G_M23463_IG27: ; bbWeight=0, epilog, nogc, extend
+G_M23463_IG25: ; bbWeight=0, epilog, nogc, extend
ldp x27, x28, [sp, #0x80]
ldp x25, x26, [sp, #0x70]
ldp x23, x24, [sp, #0x60]
@@ -561,8 +537,32 @@ G_M23463_IG27: ; bbWeight=0, epilog, nogc, extend
add sp, sp, #0xD1FFAB1E
ret lr
;; size=32 bbWeight=0 PerfScore 0.00
+G_M23463_IG26: ; bbWeight=0, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+ bl CORINFO_HELP_RNGCHKFAIL
+ ; gcr arg pop 0
+ ;; size=4 bbWeight=0 PerfScore 0.00
+G_M23463_IG27: ; bbWeight=0, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref
+ ; gcrRegs +[x20-x23]
+ mov x0, x22
+ ; gcrRegs +[x0]
...
libraries_tests.run.osx.arm64.Release.mch
-4 (-1.18%) : 96357.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -43,19 +43,19 @@ G_M8081_IG03: ; bbWeight=1.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
; gcrRegs +[x21]
ldr x0, [x21]
cmp x0, x20
- bne G_M8081_IG16
+ bne G_M8081_IG15
ldrb w0, [x21, #0x4C]
- cbnz w0, G_M8081_IG17
+ cbnz w0, G_M8081_IG16
ldr x0, [x21, #0x30]
; gcrRegs +[x0]
ldapur w0, [x0, #0x34]
; gcrRegs -[x0]
mov w1, #0xD1FFAB1E
tst w0, w1
- beq G_M8081_IG18
+ beq G_M8081_IG17
ldp w0, w1, [x21, #0x38]
cmp w0, w1
- beq G_M8081_IG09
+ beq G_M8081_IG10
;; size=56 bbWeight=1.02 PerfScore 24.59
G_M8081_IG04: ; bbWeight=1.02, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
ldr x0, [x21, #0x28]
@@ -64,7 +64,7 @@ G_M8081_IG04: ; bbWeight=1.02, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
sxtw w2, w1
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M8081_IG15
+ bhs G_M8081_IG14
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -79,22 +79,33 @@ G_M8081_IG05: ; bbWeight=1.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
add w1, w1, #1
str w1, [x19, #0x24]
cmn w0, #1
- beq G_M8081_IG13
+ beq G_M8081_IG12
;; size=20 bbWeight=1.02 PerfScore 6.15
G_M8081_IG06: ; bbWeight=1.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #10
- beq G_M8081_IG12
+ beq G_M8081_IG09
;; size=8 bbWeight=1.02 PerfScore 1.54
G_M8081_IG07: ; bbWeight=1.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #13
beq G_M8081_IG03
;; size=8 bbWeight=1.00 PerfScore 1.50
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[x19]
- b G_M8081_IG11
- ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[x19 x21]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
+ ldp fp, lr, [sp], #0x30
+ ret lr
+ ;; size=16 bbWeight=1.00 PerfScore 5.00
+G_M8081_IG09: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+ ; gcrRegs +[x19]
+ str wzr, [x19, #0x24]
+ ldr w0, [x19, #0x20]
+ add w0, w0, #1
+ str w0, [x19, #0x20]
+ b G_M8081_IG03
+ ;; size=20 bbWeight=0.02 PerfScore 0.15
+G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[x21]
mov x0, x21
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for System.IO.StreamReader:ReadBuffer():int:this
@@ -106,41 +117,26 @@ G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
; gcr arg pop 0
cbnz w0, G_M8081_IG04
;; size=28 bbWeight=0.00 PerfScore 0.01
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
; gcrRegs -[x21]
movn w0, #0
b G_M8081_IG05
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
- ; gcrRegs -[x19]
- ldr x21, [sp, #0x28]
- ldp x19, x20, [sp, #0x18]
- ldp fp, lr, [sp], #0x30
- ret lr
- ;; size=16 bbWeight=1.00 PerfScore 5.00
-G_M8081_IG12: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs +[x19]
- str wzr, [x19, #0x24]
- ldr w0, [x19, #0x20]
- add w0, w0, #1
- str w0, [x19, #0x20]
- b G_M8081_IG03
- ;; size=20 bbWeight=0.02 PerfScore 0.15
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
movn w0, #0
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
ldr x21, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
; gcrRegs +[x19 x21]
mov x0, x21
; gcrRegs +[x0]
@@ -152,7 +148,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}
; gcr arg pop 0
b G_M8081_IG05
;; size=24 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x19] +[x21]
mov x0, x21
; gcrRegs +[x0]
@@ -165,7 +161,7 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
; gcr arg pop 0
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // code for System.IO.StreamReader:ThrowAsyncIOInProgress()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -175,7 +171,7 @@ G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 340, prolog size 20, PerfScore 61.45, instruction count 85, allocated bytes for code 340 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 336, prolog size 20, PerfScore 60.95, instruction count 84, allocated bytes for code 336 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
@@ -186,7 +182,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 85 (0x00055) Actual length = 340 (0x000154)
+ Function Length : 84 (0x00054) Actual length = 336 (0x000150)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-1.18%) : 120065.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -43,19 +43,19 @@ G_M8081_IG03: ; bbWeight=1.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
; gcrRegs +[x21]
ldr x0, [x21]
cmp x0, x20
- bne G_M8081_IG16
+ bne G_M8081_IG15
ldrb w0, [x21, #0x4C]
- cbnz w0, G_M8081_IG17
+ cbnz w0, G_M8081_IG16
ldr x0, [x21, #0x30]
; gcrRegs +[x0]
ldapur w0, [x0, #0x34]
; gcrRegs -[x0]
mov w1, #0xD1FFAB1E
tst w0, w1
- beq G_M8081_IG18
+ beq G_M8081_IG17
ldp w0, w1, [x21, #0x38]
cmp w0, w1
- beq G_M8081_IG09
+ beq G_M8081_IG10
;; size=56 bbWeight=1.02 PerfScore 24.59
G_M8081_IG04: ; bbWeight=1.02, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
ldr x0, [x21, #0x28]
@@ -64,7 +64,7 @@ G_M8081_IG04: ; bbWeight=1.02, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
sxtw w2, w1
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M8081_IG15
+ bhs G_M8081_IG14
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -79,22 +79,33 @@ G_M8081_IG05: ; bbWeight=1.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
add w1, w1, #1
str w1, [x19, #0x24]
cmn w0, #1
- beq G_M8081_IG13
+ beq G_M8081_IG12
;; size=20 bbWeight=1.02 PerfScore 6.15
G_M8081_IG06: ; bbWeight=1.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #10
- beq G_M8081_IG12
+ beq G_M8081_IG09
;; size=8 bbWeight=1.02 PerfScore 1.54
G_M8081_IG07: ; bbWeight=1.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #13
beq G_M8081_IG03
;; size=8 bbWeight=1.00 PerfScore 1.50
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[x19]
- b G_M8081_IG11
- ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[x19 x21]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
+ ldp fp, lr, [sp], #0x30
+ ret lr
+ ;; size=16 bbWeight=1.00 PerfScore 5.00
+G_M8081_IG09: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+ ; gcrRegs +[x19]
+ str wzr, [x19, #0x24]
+ ldr w0, [x19, #0x20]
+ add w0, w0, #1
+ str w0, [x19, #0x20]
+ b G_M8081_IG03
+ ;; size=20 bbWeight=0.02 PerfScore 0.15
+G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[x21]
mov x0, x21
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for System.IO.StreamReader:ReadBuffer():int:this
@@ -106,41 +117,26 @@ G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
; gcr arg pop 0
cbnz w0, G_M8081_IG04
;; size=28 bbWeight=0.00 PerfScore 0.01
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
; gcrRegs -[x21]
movn w0, #0
b G_M8081_IG05
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
- ; gcrRegs -[x19]
- ldr x21, [sp, #0x28]
- ldp x19, x20, [sp, #0x18]
- ldp fp, lr, [sp], #0x30
- ret lr
- ;; size=16 bbWeight=1.00 PerfScore 5.00
-G_M8081_IG12: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs +[x19]
- str wzr, [x19, #0x24]
- ldr w0, [x19, #0x20]
- add w0, w0, #1
- str w0, [x19, #0x20]
- b G_M8081_IG03
- ;; size=20 bbWeight=0.02 PerfScore 0.15
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
movn w0, #0
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
ldr x21, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
; gcrRegs +[x19 x21]
mov x0, x21
; gcrRegs +[x0]
@@ -152,7 +148,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}
; gcr arg pop 0
b G_M8081_IG05
;; size=24 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x19] +[x21]
mov x0, x21
; gcrRegs +[x0]
@@ -165,7 +161,7 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
; gcr arg pop 0
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // code for System.IO.StreamReader:ThrowAsyncIOInProgress()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #2 LSL #32
@@ -175,7 +171,7 @@ G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 340, prolog size 20, PerfScore 61.47, instruction count 85, allocated bytes for code 340 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 336, prolog size 20, PerfScore 60.97, instruction count 84, allocated bytes for code 336 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
@@ -186,7 +182,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 85 (0x00055) Actual length = 340 (0x000154)
+ Function Length : 84 (0x00054) Actual length = 336 (0x000150)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-1.18%) : 177933.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -43,19 +43,19 @@ G_M8081_IG03: ; bbWeight=1.03, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
; gcrRegs +[x21]
ldr x0, [x21]
cmp x0, x20
- bne G_M8081_IG16
+ bne G_M8081_IG15
ldrb w0, [x21, #0x4C]
- cbnz w0, G_M8081_IG17
+ cbnz w0, G_M8081_IG16
ldr x0, [x21, #0x30]
; gcrRegs +[x0]
ldapur w0, [x0, #0x34]
; gcrRegs -[x0]
mov w1, #0xD1FFAB1E
tst w0, w1
- beq G_M8081_IG18
+ beq G_M8081_IG17
ldp w0, w1, [x21, #0x38]
cmp w0, w1
- beq G_M8081_IG09
+ beq G_M8081_IG10
;; size=56 bbWeight=1.03 PerfScore 24.60
G_M8081_IG04: ; bbWeight=1.03, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
ldr x0, [x21, #0x28]
@@ -64,7 +64,7 @@ G_M8081_IG04: ; bbWeight=1.03, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
sxtw w2, w1
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M8081_IG15
+ bhs G_M8081_IG14
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -79,22 +79,33 @@ G_M8081_IG05: ; bbWeight=1.03, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
add w1, w1, #1
str w1, [x19, #0x24]
cmn w0, #1
- beq G_M8081_IG13
+ beq G_M8081_IG12
;; size=20 bbWeight=1.03 PerfScore 6.15
G_M8081_IG06: ; bbWeight=1.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #10
- beq G_M8081_IG12
+ beq G_M8081_IG09
;; size=8 bbWeight=1.02 PerfScore 1.54
G_M8081_IG07: ; bbWeight=1.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #13
beq G_M8081_IG03
;; size=8 bbWeight=1.00 PerfScore 1.50
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[x19]
- b G_M8081_IG11
- ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[x19 x21]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
+ ldp fp, lr, [sp], #0x30
+ ret lr
+ ;; size=16 bbWeight=1.00 PerfScore 5.00
+G_M8081_IG09: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+ ; gcrRegs +[x19]
+ str wzr, [x19, #0x24]
+ ldr w0, [x19, #0x20]
+ add w0, w0, #1
+ str w0, [x19, #0x20]
+ b G_M8081_IG03
+ ;; size=20 bbWeight=0.02 PerfScore 0.15
+G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[x21]
mov x0, x21
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for System.IO.StreamReader:ReadBuffer():int:this
@@ -106,41 +117,26 @@ G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
; gcr arg pop 0
cbnz w0, G_M8081_IG04
;; size=28 bbWeight=0.00 PerfScore 0.01
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
; gcrRegs -[x21]
movn w0, #0
b G_M8081_IG05
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
- ; gcrRegs -[x19]
- ldr x21, [sp, #0x28]
- ldp x19, x20, [sp, #0x18]
- ldp fp, lr, [sp], #0x30
- ret lr
- ;; size=16 bbWeight=1.00 PerfScore 5.00
-G_M8081_IG12: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs +[x19]
- str wzr, [x19, #0x24]
- ldr w0, [x19, #0x20]
- add w0, w0, #1
- str w0, [x19, #0x20]
- b G_M8081_IG03
- ;; size=20 bbWeight=0.02 PerfScore 0.15
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
movn w0, #0
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
ldr x21, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
; gcrRegs +[x19 x21]
mov x0, x21
; gcrRegs +[x0]
@@ -152,7 +148,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}
; gcr arg pop 0
b G_M8081_IG05
;; size=24 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x19] +[x21]
mov x0, x21
; gcrRegs +[x0]
@@ -165,7 +161,7 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
; gcr arg pop 0
brk_unix #0
;; size=28 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // code for System.IO.StreamReader:ThrowAsyncIOInProgress()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -175,7 +171,7 @@ G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 340, prolog size 20, PerfScore 61.49, instruction count 85, allocated bytes for code 340 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 336, prolog size 20, PerfScore 60.99, instruction count 84, allocated bytes for code 336 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
@@ -186,7 +182,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 85 (0x00055) Actual length = 340 (0x000154)
+ Function Length : 84 (0x00054) Actual length = 336 (0x000150)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+0 (0.00%) : 339748.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
@@ -93,7 +93,7 @@ G_M10115_IG02: ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
ldr w0, [x20, #0x28]
tbnz w0, #24, G_M10115_IG22
mov w22, wzr
- tbnz w19, #29, G_M10115_IG38
+ tbnz w19, #29, G_M10115_IG37
ldr x0, [x20, #0x18]
; gcrRegs +[x0]
ldr x0, [x0, #0x08]
@@ -109,32 +109,32 @@ G_M10115_IG03: ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
; gcrRegs +[x0]
ldr w26, [x0, #0x08]
cmp w23, w26
- bhs G_M10115_IG37
+ bhs G_M10115_IG36
add x27, x0, #12
; byrRegs +[x27]
ldrh w0, [x27, w23, UXTW #2]
; gcrRegs -[x0]
cmp w0, #58
- bne G_M10115_IG43
+ bne G_M10115_IG42
tbz w19, #20, G_M10115_IG06
;; size=48 bbWeight=1 PerfScore 15.00
G_M10115_IG04: ; bbWeight=0.99, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref, isz
cmp w24, w26
- bhs G_M10115_IG37
+ bhs G_M10115_IG36
ldrh w0, [x27, w24, UXTW #2]
cmp w0, #92
- beq G_M10115_IG44
+ beq G_M10115_IG43
add w0, w24, #1
cmp w0, w26
- bhs G_M10115_IG37
+ bhs G_M10115_IG36
ldrh w0, [x27, w0, UXTW #2]
cmp w0, #92
- beq G_M10115_IG44
+ beq G_M10115_IG43
;; size=44 bbWeight=0.99 PerfScore 12.39
G_M10115_IG05: ; bbWeight=0.99, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref, isz
add w24, w24, #2
tst w19, #0xD1FFAB1E
- bne G_M10115_IG28
+ bne G_M10115_IG26
;; size=12 bbWeight=0.99 PerfScore 1.98
G_M10115_IG06: ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x25]
@@ -153,18 +153,18 @@ G_M10115_IG07: ; bbWeight=0.90, gcrefRegs=300001 {x0 x20 x21}, byrefRegs=
G_M10115_IG08: ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
and w0, w19, #0xD1FFAB1E
cmp w0, #112, LSL #12
- beq G_M10115_IG30
+ beq G_M10115_IG29
;; size=12 bbWeight=1 PerfScore 2.00
G_M10115_IG09: ; bbWeight=0.99, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
- tbnz w19, #27, G_M10115_IG30
+ tbnz w19, #27, G_M10115_IG29
strh w24, [x21, #0x3A]
ldr w0, [x20, #0x28]
and w0, w0, #0xD1FFAB1E
cmp w0, #80, LSL #12
- beq G_M10115_IG27
+ beq G_M10115_IG28
;; size=24 bbWeight=0.99 PerfScore 6.94
G_M10115_IG10: ; bbWeight=0.95, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
- tbnz w19, #21, G_M10115_IG32
+ tbnz w19, #21, G_M10115_IG31
;; size=4 bbWeight=0.95 PerfScore 0.95
G_M10115_IG11: ; bbWeight=0.95, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
strh w24, [x21, #0x3C]
@@ -175,7 +175,7 @@ G_M10115_IG11: ; bbWeight=0.95, gcrefRegs=300000 {x20 x21}, byrefRegs=000
csel x19, x19, x0, eq
strh w24, [x21, #0x40]
mov w3, wzr
- tbnz x19, #33, G_M10115_IG33
+ tbnz x19, #33, G_M10115_IG32
;; size=36 bbWeight=0.95 PerfScore 5.70
G_M10115_IG12: ; bbWeight=0.95, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
ldrh w4, [x21, #0x46]
@@ -189,7 +189,7 @@ G_M10115_IG13: ; bbWeight=0.90, gcrefRegs=300000 {x20 x21}, byrefRegs=000
ldr x0, [x20, #0x08]
;; size=12 bbWeight=0.90 PerfScore 6.33
G_M10115_IG14: ; bbWeight=0.90, gcrefRegs=300001 {x0 x20 x21}, byrefRegs=0000 {}, byref, isz
- cbz x0, G_M10115_IG34
+ cbz x0, G_M10115_IG33
add x0, x0, #12
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -234,9 +234,9 @@ G_M10115_IG18: ; bbWeight=4.28, gcrefRegs=300000 {x20 x21}, byrefRegs=000
blt G_M10115_IG17
;; size=20 bbWeight=4.28 PerfScore 19.27
G_M10115_IG19: ; bbWeight=0.86, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
- cbz w3, G_M10115_IG35
+ cbz w3, G_M10115_IG34
cmp w28, w1
- beq G_M10115_IG35
+ beq G_M10115_IG34
strh w1, [x21, #0x3E]
orr x19, x19, #0xD1FFAB1E
;; size=20 bbWeight=0.86 PerfScore 3.44
@@ -250,7 +250,7 @@ G_M10115_IG22: ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
orr x19, x19, #0xD1FFAB1E
add x0, x20, #32
; byrRegs +[x0]
- cbz x0, G_M10115_IG36
+ cbz x0, G_M10115_IG35
mov x1, x21
; gcrRegs +[x1]
mov x2, xzr
@@ -286,39 +286,35 @@ G_M10115_IG24: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M10115_IG25: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0002 {x1}, gcvars, byref, isz
; byrRegs +[x1]
mov x0, x3
- tbz w0, #30, G_M10115_IG23
- ;; size=8 bbWeight=1 PerfScore 1.50
-G_M10115_IG26: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[x1]
- b G_M10115_IG24
- ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M10115_IG27: ; bbWeight=0.04, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
- ; gcrRegs +[x20-x21]
+ tbnz w0, #30, G_M10115_IG24
+ b G_M10115_IG23
+ ;; size=12 bbWeight=1 PerfScore 2.50
+G_M10115_IG26: ; bbWeight=0.04, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref
+ ; gcrRegs +[x20-x21 x25]
+ ; byrRegs -[x1] +[x27]
+ uxth w23, w19
+ ;; size=4 bbWeight=0.04 PerfScore 0.02
+G_M10115_IG27: ; bbWeight=0.04, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref, isz
+ cmp w24, w23
+ bge G_M10115_IG06
+ cmp w24, w26
+ bhs G_M10115_IG36
+ ldrh w0, [x27, w24, UXTW #2]
+ cmp w0, #47
+ beq G_M10115_IG44
+ cmp w0, #92
+ beq G_M10115_IG44
+ b G_M10115_IG06
+ ;; size=40 bbWeight=0.04 PerfScore 0.44
+G_M10115_IG28: ; bbWeight=0.04, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
+ ; gcrRegs -[x25]
+ ; byrRegs -[x27]
strh w24, [x21, #0x3C]
strh w19, [x21, #0x40]
and x19, x19, #0xD1FFAB1E
b G_M10115_IG22
;; size=16 bbWeight=0.04 PerfScore 0.14
-G_M10115_IG28: ; bbWeight=0.04, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref
- ; gcrRegs +[x25]
- ; byrRegs +[x27]
- uxth w23, w19
- ;; size=4 bbWeight=0.04 PerfScore 0.02
-G_M10115_IG29: ; bbWeight=0.04, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref, isz
- cmp w24, w23
- bge G_M10115_IG06
- cmp w24, w26
- bhs G_M10115_IG37
- ldrh w0, [x27, w24, UXTW #2]
- cmp w0, #47
- beq G_M10115_IG45
- cmp w0, #92
- beq G_M10115_IG45
- b G_M10115_IG06
- ;; size=40 bbWeight=0.04 PerfScore 0.44
-G_M10115_IG30: ; bbWeight=0.01, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x25]
- ; byrRegs -[x27]
+G_M10115_IG29: ; bbWeight=0.01, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
strh w19, [x21, #0x3A]
ldrh w0, [x21, #0x3A]
strh w0, [x21, #0x3C]
@@ -329,26 +325,26 @@ G_M10115_IG30: ; bbWeight=0.01, gcrefRegs=300000 {x20 x21}, byrefRegs=000
csel x19, x19, x0, eq
b G_M10115_IG22
;; size=36 bbWeight=0.01 PerfScore 0.08
-G_M10115_IG31: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
+G_M10115_IG30: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
add w24, w24, #1
;; size=4 bbWeight=0 PerfScore 0.00
-G_M10115_IG32: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG31: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
ldr x0, [x20, #0x08]
; gcrRegs +[x0]
ldr w1, [x0, #0x08]
cmp w24, w1
- bhs G_M10115_IG37
+ bhs G_M10115_IG36
add x0, x0, #12
; gcrRegs -[x0]
; byrRegs +[x0]
ldrh w0, [x0, w24, UXTW #2]
; byrRegs -[x0]
cmp w0, #64
- bne G_M10115_IG31
+ bne G_M10115_IG30
add w24, w24, #1
b G_M10115_IG11
;; size=40 bbWeight=0 PerfScore 0.00
-G_M10115_IG33: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
+G_M10115_IG32: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
ldr x0, [x20, #0x10]
; gcrRegs +[x0]
ldr w0, [x0, #0x08]
@@ -356,16 +352,16 @@ G_M10115_IG33: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
strh w0, [x21, #0x46]
b G_M10115_IG12
;; size=16 bbWeight=0 PerfScore 0.00
-G_M10115_IG34: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
+G_M10115_IG33: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
mov x0, xzr
b G_M10115_IG15
;; size=8 bbWeight=0 PerfScore 0.00
-G_M10115_IG35: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
+G_M10115_IG34: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
mov x0, #0xD1FFAB1E
orr x19, x19, x0
b G_M10115_IG20
;; size=12 bbWeight=0 PerfScore 0.00
-G_M10115_IG36: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M10115_IG35: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20-x21]
movz x0, #0xD1FFAB1E // code for System.ThrowHelper:ThrowNullReferenceException()
movk x0, #0xD1FFAB1E LSL #16
@@ -375,16 +371,16 @@ G_M10115_IG36: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M10115_IG37: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M10115_IG36: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M10115_IG38: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
+G_M10115_IG37: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs +[x20-x21]
mov w24, wzr
- b G_M10115_IG40
+ b G_M10115_IG39
;; size=8 bbWeight=0 PerfScore 0.00
-G_M10115_IG39: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
+G_M10115_IG38: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
add w24, w24, #1
add x0, x21, #56
; byrRegs +[x0]
@@ -392,13 +388,13 @@ G_M10115_IG39: ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
add w1, w1, #1
...
+4 (+0.46%) : 573026.dasm - System.Buffers.Text.Base64:DecodeWithWhiteSpaceBlockwise(System.ReadOnlySpan1[ubyte],System.Span
1[ubyte],byref,byref,ubyte):int (Tier1)
@@ -77,7 +77,7 @@
; V65 tmp48 [V65,T32] ( 2, 0 ) byref -> x26 "field V44._reference (fldOffset=0x0)" P-INDEP
; V66 tmp49 [V66,T33] ( 2, 0 ) int -> x27 "field V44._length (fldOffset=0x8)" P-INDEP
; V67 tmp50 [V67,T07] ( 5, 7 ) byref -> x22 "V00.[000..008)"
-; V68 tmp51 [V68,T02] ( 10, 12 ) int -> x23 "V00.[008..012)"
+; V68 tmp51 [V68,T02] ( 11, 12 ) int -> x23 "V00.[008..012)"
; V69 GsCookie [V69 ] ( 1, 1 ) long -> [fp+0x48] do-not-enreg[X] addr-exposed "GSSecurityCookie"
; V70 cse0 [V70,T04] ( 3, 12 ) int -> x0 "CSE - aggressive"
; V71 cse1 [V71,T17] ( 3, 3 ) int -> x25 "CSE - aggressive"
@@ -242,13 +242,13 @@ G_M35087_IG11: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
;; size=28 bbWeight=1 PerfScore 7.00
G_M35087_IG12: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=1580000 {x19 x20 x22 x24}, gcvars, byref, isz
; byrRegs +[x19-x20 x22 x24]
- cbnz w23, G_M35087_IG03
+ cbz w23, G_M35087_IG10
;; size=4 bbWeight=1 PerfScore 1.00
-G_M35087_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[x19-x20 x22 x24]
- b G_M35087_IG10
+G_M35087_IG13: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=1580000 {x19 x20 x22 x24}, byref
+ b G_M35087_IG03
;; size=4 bbWeight=0.50 PerfScore 0.50
G_M35087_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ ; byrRegs -[x19-x20 x22 x24]
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
@@ -316,8 +316,9 @@ G_M35087_IG21: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=1580000 {x19 x2
; gcr arg pop 0
str x26, [fp, #0x20] // [V01 arg1]
str w27, [fp, #0x28] // [V01 arg1+0x08]
- b G_M35087_IG12
- ;; size=80 bbWeight=0 PerfScore 0.00
+ cbnz w23, G_M35087_IG03
+ b G_M35087_IG10
+ ;; size=84 bbWeight=0 PerfScore 0.00
G_M35087_IG22: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=580000 {x19 x20 x22}, byref
; byrRegs -[x24 x26]
mov w0, wzr
@@ -386,7 +387,7 @@ G_M35087_IG27: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 876, prolog size 68, PerfScore 147.50, instruction count 219, allocated bytes for code 876 (MethodHash=91d476f0) for method System.Buffers.Text.Base64:DecodeWithWhiteSpaceBlockwise(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref,byref,ubyte):int (Tier1)
+; Total bytes of code 880, prolog size 68, PerfScore 147.50, instruction count 220, allocated bytes for code 880 (MethodHash=91d476f0) for method System.Buffers.Text.Base64:DecodeWithWhiteSpaceBlockwise(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref,byref,ubyte):int (Tier1)
; ============================================================
Unwind Info:
@@ -397,7 +398,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 219 (0x000db) Actual length = 876 (0x00036c)
+ Function Length : 220 (0x000dc) Actual length = 880 (0x000370)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+4 (+0.51%) : 491169.dasm - System.Security.Cryptography.X509Certificates.CertificatePolicyChain:ReadExtendedKeyUsageExtension(ubyte[]):System.Collections.Generic.HashSet`1System.String
@@ -134,7 +134,7 @@ G_M49541_IG02: ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
;; size=72 bbWeight=1 PerfScore 16.00
G_M49541_IG03: ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x0]
- cbz x19, G_M49541_IG08
+ cbz x19, G_M49541_IG09
add x21, x19, #16
; byrRegs +[x21]
ldr w19, [x19, #0x08]
@@ -191,7 +191,7 @@ G_M49541_IG04: ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=200000 {x2
ldr x1, [x1]
blr x1
; gcr arg pop 0
- cbnz w21, G_M49541_IG09
+ cbnz w21, G_M49541_IG08
;; size=176 bbWeight=1 PerfScore 43.50
G_M49541_IG05: ; bbWeight=2.11, gcrefRegs=100000 {x20}, byrefRegs=800000 {x23}, byref, isz
cbz w22, G_M49541_IG10
@@ -257,15 +257,9 @@ G_M49541_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
brk_unix #0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M49541_IG08: ; bbWeight=0, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+G_M49541_IG08: ; bbWeight=0, gcrefRegs=100000 {x20}, byrefRegs=800000 {x23}, byref, isz
; gcrRegs +[x20]
- mov x21, xzr
- ; byrRegs +[x21]
- mov w19, wzr
- b G_M49541_IG04
- ;; size=12 bbWeight=0 PerfScore 0.00
-G_M49541_IG09: ; bbWeight=0, gcrefRegs=100000 {x20}, byrefRegs=800000 {x23}, byref, isz
- ; byrRegs -[x21] +[x23]
+ ; byrRegs +[x23]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #1 LSL #32
@@ -309,10 +303,18 @@ G_M49541_IG09: ; bbWeight=0, gcrefRegs=100000 {x20}, byrefRegs=800000 {x2
blr x1
; gcrRegs -[x0 x19]
; gcr arg pop 0
- cbnz w22, G_M49541_IG06
- ;; size=128 bbWeight=0 PerfScore 0.00
-G_M49541_IG10: ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+ cbz w22, G_M49541_IG10
+ b G_M49541_IG06
+ ;; size=132 bbWeight=0 PerfScore 0.00
+G_M49541_IG09: ; bbWeight=0, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
; byrRegs -[x23]
+ mov x21, xzr
+ ; byrRegs +[x21]
+ mov w19, wzr
+ b G_M49541_IG04
+ ;; size=12 bbWeight=0 PerfScore 0.00
+G_M49541_IG10: ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+ ; byrRegs -[x21]
mov x0, x20
; gcrRegs +[x0]
;; size=4 bbWeight=1 PerfScore 0.50
@@ -383,7 +385,7 @@ G_M49541_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
brk_unix #0
;; size=88 bbWeight=0 PerfScore 0.00
-; Total bytes of code 784, prolog size 56, PerfScore 125.16, instruction count 196, allocated bytes for code 784 (MethodHash=f09d3e7a) for method System.Security.Cryptography.X509Certificates.CertificatePolicyChain:ReadExtendedKeyUsageExtension(ubyte[]):System.Collections.Generic.HashSet`1[System.String] (Tier1)
+; Total bytes of code 788, prolog size 56, PerfScore 125.16, instruction count 197, allocated bytes for code 788 (MethodHash=f09d3e7a) for method System.Security.Cryptography.X509Certificates.CertificatePolicyChain:ReadExtendedKeyUsageExtension(ubyte[]):System.Collections.Generic.HashSet`1[System.String] (Tier1)
; ============================================================
Unwind Info:
@@ -394,7 +396,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 168 (0x000a8) Actual length = 672 (0x0002a0)
+ Function Length : 169 (0x000a9) Actual length = 676 (0x0002a4)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Details
Improvements/regressions per collection
Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
benchmarks.run.osx.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
benchmarks.run_pgo.osx.arm64.checked.mch |
3 |
2 |
0 |
1 |
-20 |
+0 |
benchmarks.run_tiered.osx.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
coreclr_tests.run.osx.arm64.checked.mch |
3 |
0 |
0 |
3 |
-0 |
+0 |
libraries.crossgen2.osx.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
libraries.pmi.osx.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
libraries_tests.run.osx.arm64.Release.mch |
72 |
58 |
2 |
12 |
-276 |
+8 |
librariestestsnotieredcompilation.run.osx.arm64.Release.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
realworld.run.osx.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
|
78 |
60 |
2 |
16 |
-296 |
+8 |
Context information
Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
benchmarks.run.osx.arm64.checked.mch |
24,860 |
4 |
24,856 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_pgo.osx.arm64.checked.mch |
83,817 |
48,088 |
35,729 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_tiered.osx.arm64.checked.mch |
48,124 |
37,350 |
10,774 |
0 (0.00%) |
0 (0.00%) |
coreclr_tests.run.osx.arm64.checked.mch |
585,886 |
356,765 |
229,121 |
2 (0.00%) |
2 (0.00%) |
libraries.crossgen2.osx.arm64.checked.mch |
234,105 |
15 |
234,090 |
0 (0.00%) |
0 (0.00%) |
libraries.pmi.osx.arm64.checked.mch |
316,348 |
18 |
316,330 |
0 (0.00%) |
0 (0.00%) |
libraries_tests.run.osx.arm64.Release.mch |
643,885 |
468,829 |
175,056 |
0 (0.00%) |
0 (0.00%) |
librariestestsnotieredcompilation.run.osx.arm64.Release.mch |
302,301 |
21,597 |
280,704 |
0 (0.00%) |
0 (0.00%) |
realworld.run.osx.arm64.checked.mch |
31,542 |
3 |
31,539 |
0 (0.00%) |
0 (0.00%) |
|
2,270,868 |
932,669 |
1,338,199 |
2 (0.00%) |
2 (0.00%) |
jit-analyze output
benchmarks.run_pgo.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 34442140 (overridden on cmd)
Total bytes of diff: 34442120 (overridden on cmd)
Total bytes of delta: -20 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
-16 : 57524.dasm (-0.28 % of base)
-4 : 59793.dasm (-1.08 % of base)
2 total files with Code Size differences (2 improved, 0 regressed), 1 unchanged.
Top method improvements (bytes):
-16 (-0.28 % of base) : 57524.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-4 (-1.08 % of base) : 59793.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
Top method improvements (percentages):
-4 (-1.08 % of base) : 59793.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
-16 (-0.28 % of base) : 57524.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
2 total methods with Code Size differences (2 improved, 0 regressed).
coreclr_tests.run.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 486433300 (overridden on cmd)
Total bytes of diff: 486433300 (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), 3 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
libraries_tests.run.osx.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 324596964 (overridden on cmd)
Total bytes of diff: 324596696 (overridden on cmd)
Total bytes of delta: -268 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
4 : 491169.dasm (0.51 % of base)
4 : 573026.dasm (0.46 % of base)
Top file improvements (bytes):
-16 : 603438.dasm (-0.28 % of base)
-16 : 90363.dasm (-0.28 % of base)
-16 : 55304.dasm (-0.28 % of base)
-12 : 157979.dasm (-0.21 % of base)
-4 : 126746.dasm (-1.18 % of base)
-4 : 177933.dasm (-1.18 % of base)
-4 : 230205.dasm (-1.18 % of base)
-4 : 241865.dasm (-1.18 % of base)
-4 : 246278.dasm (-1.18 % of base)
-4 : 288405.dasm (-1.18 % of base)
-4 : 305265.dasm (-1.18 % of base)
-4 : 318680.dasm (-0.74 % of base)
-4 : 342765.dasm (-1.18 % of base)
-4 : 441097.dasm (-1.18 % of base)
-4 : 472040.dasm (-1.18 % of base)
-4 : 544604.dasm (-1.18 % of base)
-4 : 639473.dasm (-1.18 % of base)
-4 : 120065.dasm (-1.18 % of base)
-4 : 285240.dasm (-1.18 % of base)
-4 : 291990.dasm (-1.18 % of base)
34 total files with Code Size differences (32 improved, 2 regressed), 12 unchanged.
Top method regressions (bytes):
4 (0.46 % of base) : 573026.dasm - System.Buffers.Text.Base64:DecodeWithWhiteSpaceBlockwise(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref,byref,ubyte):int (Tier1)
4 (0.51 % of base) : 491169.dasm - System.Security.Cryptography.X509Certificates.CertificatePolicyChain:ReadExtendedKeyUsageExtension(ubyte[]):System.Collections.Generic.HashSet`1[System.String] (Tier1)
Top method improvements (bytes):
-16 (-0.28 % of base) : 603438.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-16 (-0.28 % of base) : 90363.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-16 (-0.28 % of base) : 55304.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-12 (-0.21 % of base) : 157979.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-4 (-0.74 % of base) : 318680.dasm - System.SpanTests.SpanTests:EndsWithNoMatch_Long() (Tier1-OSR)
-4 (-0.78 % of base) : 318201.dasm - System.SpanTests.SpanTests:StartsWithNoMatch_Long() (Tier1-OSR)
-4 (-0.61 % of base) : 50898.dasm - System.Xml.XmlTextReaderImpl:EatWhitespaces(System.Text.StringBuilder):int:this (Tier1)
-4 (-1.18 % of base) : 126746.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 177933.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 230205.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 241865.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 246278.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 288405.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 305265.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 342765.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 441097.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 472040.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 544604.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 639473.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 120065.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
Top method regressions (percentages):
4 (0.51 % of base) : 491169.dasm - System.Security.Cryptography.X509Certificates.CertificatePolicyChain:ReadExtendedKeyUsageExtension(ubyte[]):System.Collections.Generic.HashSet`1[System.String] (Tier1)
4 (0.46 % of base) : 573026.dasm - System.Buffers.Text.Base64:DecodeWithWhiteSpaceBlockwise(System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref,byref,ubyte):int (Tier1)
Top method improvements (percentages):
-4 (-1.18 % of base) : 126746.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 177933.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 230205.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 241865.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 246278.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 288405.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 305265.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 342765.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 441097.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 472040.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 544604.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 639473.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 120065.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 285240.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 291990.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 499324.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 106310.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 290658.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 313385.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.18 % of base) : 318925.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
windows arm64
Diffs are based on 2,341,108 contexts (938,449 MinOpts, 1,402,659 FullOpts).
MISSED contexts: 9 (0.00%)
Overall (-664 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
benchmarks.run_pgo.windows.arm64.checked.mch |
45,573,052 |
-20 |
coreclr_tests.run.windows.arm64.checked.mch |
495,287,164 |
+0 |
libraries_tests.run.windows.arm64.Release.mch |
330,811,772 |
-644 |
FullOpts (-664 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
benchmarks.run_pgo.windows.arm64.checked.mch |
29,561,656 |
-20 |
coreclr_tests.run.windows.arm64.checked.mch |
156,598,060 |
+0 |
libraries_tests.run.windows.arm64.Release.mch |
127,378,176 |
-644 |
Example diffs
benchmarks.run_pgo.windows.arm64.checked.mch
-4 (-1.08%) : 65675.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
@@ -54,7 +54,7 @@ G_M4144_IG02: ; bbWeight=1, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, by
add w7, w6, w7
sub w7, w7, #1
ldr w9, [x1, #0x10]
- b G_M4144_IG10
+ b G_M4144_IG08
;; size=24 bbWeight=1 PerfScore 11.00
G_M4144_IG03: ; bbWeight=0.82, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
ldr w4, [x1, #0x1C]
@@ -64,51 +64,43 @@ G_M4144_IG03: ; bbWeight=0.82, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {},
G_M4144_IG04: ; bbWeight=1.00, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
add w5, w5, #1
cmp w4, w5
- bge G_M4144_IG07
+ blt G_M4144_IG14
;; size=12 bbWeight=1.00 PerfScore 2.00
-G_M4144_IG05: ; bbWeight=0.05, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
- b G_M4144_IG15
- ;; size=4 bbWeight=0.05 PerfScore 0.05
-G_M4144_IG06: ; bbWeight=0.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
- ldr w5, [x1, #0x1C]
- cmp w4, w5
- blt G_M4144_IG15
- ;; size=12 bbWeight=0.10 PerfScore 0.45
-G_M4144_IG07: ; bbWeight=0.91, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG05: ; bbWeight=0.91, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
ldr w10, [x1, #0x20]
cmp w3, w10
blt G_M4144_IG04
;; size=12 bbWeight=0.91 PerfScore 4.10
-G_M4144_IG08: ; bbWeight=0.46, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG06: ; bbWeight=0.46, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
mov w4, w10
;; size=4 bbWeight=0.46 PerfScore 0.23
-G_M4144_IG09: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG07: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
sxtw w3, w6
;; size=4 bbWeight=9.10 PerfScore 4.55
-G_M4144_IG10: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG08: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
cmp w7, w3
- blt G_M4144_IG13
+ blt G_M4144_IG11
;; size=8 bbWeight=9.10 PerfScore 13.65
-G_M4144_IG11: ; bbWeight=8.27, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG09: ; bbWeight=8.27, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
ldr w10, [x2, #0x1C]
sub w10, w5, w10
ldr w11, [x2, #0x10]
;; size=12 bbWeight=8.27 PerfScore 53.76
-G_M4144_IG12: ; bbWeight=90.90, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG10: ; bbWeight=90.90, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
sxtw w13, w10
cmp w13, w11
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
ldr w14, [x2, #0x14]
ldr w12, [x2, #0x20]
sub w12, w4, w12
cmp w12, w14
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
madd w13, w13, w14, w12
ldr w14, [x2, #0x18]
ldr w12, [x2, #0x24]
sub w12, w3, w12
cmp w12, w14
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
madd w13, w13, w14, w12
ubfiz x13, x13, #2, #32
add x13, x13, #40
@@ -116,17 +108,17 @@ G_M4144_IG12: ; bbWeight=90.90, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}
sub w14, w5, w14
ldp w12, w15, [x1, #0x10]
cmp w14, w12
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
ldr w12, [x1, #0x20]
sub w12, w4, w12
cmp w12, w15
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
madd w14, w14, w15, w12
ldr w12, [x1, #0x18]
ldr w15, [x1, #0x24]
sub w15, w3, w15
cmp w15, w12
- bhs G_M4144_IG18
+ bhs G_M4144_IG17
madd w14, w14, w12, w15
ubfiz x14, x14, #2, #32
add x14, x14, #40
@@ -134,24 +126,29 @@ G_M4144_IG12: ; bbWeight=90.90, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}
str w14, [x2, x13]
add w3, w3, #1
cmp w7, w3
- bge G_M4144_IG12
+ bge G_M4144_IG10
;; size=160 bbWeight=90.90 PerfScore 5090.46
-G_M4144_IG13: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG11: ; bbWeight=9.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
add w4, w4, #1
ldr w3, [x1, #0x20]
add w3, w3, w8
sub w3, w3, #1
cmp w3, w4
- bge G_M4144_IG09
+ bge G_M4144_IG07
;; size=24 bbWeight=9.10 PerfScore 54.59
-G_M4144_IG14: ; bbWeight=0.82, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG12: ; bbWeight=0.82, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
b G_M4144_IG03
;; size=4 bbWeight=0.82 PerfScore 0.82
-G_M4144_IG15: ; bbWeight=0.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG13: ; bbWeight=0.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
+ ldr w5, [x1, #0x1C]
+ cmp w4, w5
+ bge G_M4144_IG05
+ ;; size=12 bbWeight=0.10 PerfScore 0.45
+G_M4144_IG14: ; bbWeight=0.10, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref, isz
sub w0, w0, #1
- cbnz w0, G_M4144_IG06
+ cbnz w0, G_M4144_IG13
;; size=8 bbWeight=0.10 PerfScore 0.15
-G_M4144_IG16: ; bbWeight=0, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
+G_M4144_IG15: ; bbWeight=0, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, byref
mov x0, x1
; gcrRegs +[x0]
mov x1, x2
@@ -164,18 +161,18 @@ G_M4144_IG16: ; bbWeight=0, gcrefRegs=0006 {x1 x2}, byrefRegs=0000 {}, by
; gcrRegs -[x0-x1]
; gcr arg pop 0
;; size=28 bbWeight=0 PerfScore 0.00
-G_M4144_IG17: ; bbWeight=0, epilog, nogc, extend
+G_M4144_IG16: ; bbWeight=0, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
add sp, sp, #80
ret lr
;; size=12 bbWeight=0 PerfScore 0.00
-G_M4144_IG18: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M4144_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
brk_windows #0
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 372, prolog size 24, PerfScore 5249.58, instruction count 93, allocated bytes for code 372 (MethodHash=aa90efcf) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
+; Total bytes of code 368, prolog size 24, PerfScore 5249.53, instruction count 92, allocated bytes for code 368 (MethodHash=aa90efcf) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
; ============================================================
Unwind Info:
@@ -186,7 +183,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 93 (0x0005d) Actual length = 372 (0x000174)
+ Function Length : 92 (0x0005c) Actual length = 368 (0x000170)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-16 (-0.28%) : 63710.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
@@ -139,7 +139,7 @@
; V127 tmp121 [V127,T121] ( 2, 0 ) ref -> x1 class-hnd single-def "spilling QMark2" <Microsoft.CodeAnalysis.CSharp.Syntax.QualifiedNameSyntax>
;* V128 tmp122 [V128 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V129 tmp123 [V129 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
-; V130 tmp124 [V130,T09] ( 41, 1.33) ref -> x0 "Single return block return value"
+; V130 tmp124 [V130,T09] ( 42, 1.33) ref -> x0 "Single return block return value"
; V131 tmp125 [V131,T122] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V132 tmp126 [V132,T123] ( 2, 0 ) ref -> x1 single-def "argument with side effect"
; V133 tmp127 [V133,T124] ( 2, 0 ) ref -> x2 single-def "argument with side effect"
@@ -282,7 +282,7 @@ G_M29879_IG09: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
; gcrRegs -[x0] +[x19-x21]
mov w1, #0xD1FFAB1E
cmp w24, w1
- bne G_M29879_IG158
+ bne G_M29879_IG157
b G_M29879_IG137
;; size=16 bbWeight=0 PerfScore 0.00
G_M29879_IG10: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
@@ -291,8 +291,8 @@ G_M29879_IG10: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
beq G_M29879_IG79
mov w1, #0xD1FFAB1E
cmp w24, w1
- bne G_M29879_IG158
- b G_M29879_IG149
+ bne G_M29879_IG157
+ b G_M29879_IG148
;; size=28 bbWeight=0 PerfScore 0.00
G_M29879_IG11: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
mov w1, #0xD1FFAB1E
@@ -312,16 +312,16 @@ G_M29879_IG11: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
G_M29879_IG12: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
mov w1, #0xD1FFAB1E
cmp w24, w1
- bne G_M29879_IG158
- b G_M29879_IG155
+ bne G_M29879_IG157
+ b G_M29879_IG154
;; size=16 bbWeight=0 PerfScore 0.00
G_M29879_IG13: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
mov w1, #0xD1FFAB1E
cmp w24, w1
- beq G_M29879_IG145
+ beq G_M29879_IG144
mov w1, #0xD1FFAB1E
cmp w24, w1
- bne G_M29879_IG158
+ bne G_M29879_IG157
b G_M29879_IG130
;; size=28 bbWeight=0 PerfScore 0.00
G_M29879_IG14: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
@@ -2291,24 +2291,19 @@ G_M29879_IG138: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0
movk x3, #0xD1FFAB1E LSL #16
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
- ;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG139: ; bbWeight=0, epilog, nogc, extend
- ldr x25, [sp, #0x78]
- ldp x23, x24, [sp, #0x68]
- ldp x21, x22, [sp, #0x58]
- ldp x19, x20, [sp, #0x48]
- ldp fp, lr, [sp], #0x80
- br x3
+ blr x3
+ ; gcrRegs -[x1-x2 x19-x21]
; gcr arg pop 0
- ;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG140: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
- ; gcrRegs -[x0-x2]
+ b G_M29879_IG07
+ ;; size=36 bbWeight=0 PerfScore 0.00
+G_M29879_IG139: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs -[x0] +[x19-x21]
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
- beq G_M29879_IG141
+ beq G_M29879_IG140
mov x0, x1
mov x1, x19
; gcrRegs +[x1]
@@ -2317,7 +2312,7 @@ G_M29879_IG140: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
brk_windows #0
;; size=40 bbWeight=0 PerfScore 0.00
-G_M29879_IG141: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M29879_IG140: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x0] +[x19-x21]
mov x1, x19
; gcrRegs +[x1]
@@ -2330,7 +2325,7 @@ G_M29879_IG141: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG142: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG141: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2339,7 +2334,7 @@ G_M29879_IG142: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG143: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M29879_IG142: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[x0-x2]
mov x0, x20
; gcrRegs +[x0]
@@ -2352,7 +2347,7 @@ G_M29879_IG143: ; bbWeight=0, gcVars=000000000000000000000000000000000000
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG144: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG143: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2361,7 +2356,7 @@ G_M29879_IG144: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG145: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M29879_IG144: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[x0-x2]
mov x0, x20
; gcrRegs +[x0]
@@ -2374,7 +2369,7 @@ G_M29879_IG145: ; bbWeight=0, gcVars=000000000000000000000000000000000000
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG146: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG145: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2383,7 +2378,7 @@ G_M29879_IG146: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG147: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M29879_IG146: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[x0-x2]
mov x0, x20
; gcrRegs +[x0]
@@ -2396,7 +2391,7 @@ G_M29879_IG147: ; bbWeight=0, gcVars=000000000000000000000000000000000000
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG148: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG147: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2405,14 +2400,14 @@ G_M29879_IG148: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG149: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M29879_IG148: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[x0-x2]
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
- beq G_M29879_IG150
+ beq G_M29879_IG149
mov x0, x1
mov x1, x19
; gcrRegs +[x1]
@@ -2421,7 +2416,7 @@ G_M29879_IG149: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
brk_windows #0
;; size=40 bbWeight=0 PerfScore 0.00
-G_M29879_IG150: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M29879_IG149: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x0] +[x19-x21]
mov x1, x19
; gcrRegs +[x1]
@@ -2434,7 +2429,7 @@ G_M29879_IG150: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG151: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG150: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2443,14 +2438,14 @@ G_M29879_IG151: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG152: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M29879_IG151: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[x0-x2]
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
- beq G_M29879_IG153
+ beq G_M29879_IG152
mov x0, x1
mov x1, x19
; gcrRegs +[x1]
@@ -2459,7 +2454,7 @@ G_M29879_IG152: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
brk_windows #0
;; size=40 bbWeight=0 PerfScore 0.00
-G_M29879_IG153: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M29879_IG152: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x0] +[x19-x21]
mov x1, x19
; gcrRegs +[x1]
@@ -2472,7 +2467,7 @@ G_M29879_IG153: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0
movk x3, #0xD1FFAB1E LSL #32
ldr x3, [x3]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M29879_IG154: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG153: ; bbWeight=0, epilog, nogc, extend
ldr x25, [sp, #0x78]
ldp x23, x24, [sp, #0x68]
ldp x21, x22, [sp, #0x58]
@@ -2481,14 +2476,14 @@ G_M29879_IG154: ; bbWeight=0, epilog, nogc, extend
br x3
; gcr arg pop 0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG155: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M29879_IG154: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[x0-x2]
ldr x0, [x19]
movz x1, #0xD1FFAB1E
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
cmp x0, x1
- beq G_M29879_IG156
+ beq G_M29879_IG155
mov x0, x1
mov x1, x19
; gcrRegs +[x1]
@@ -2497,7 +2492,7 @@ G_M29879_IG155: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
brk_windows #0
;; size=40 bbWeight=0 PerfScore 0.00
-G_M29879_IG156: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M29879_IG155: ; bbWeight=0, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x0] +[x19-x21]
mov x1, x19
; gcrRegs +[x1]
...
+0 (0.00%) : 69369.dasm - Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int (Tier1)
@@ -169,14 +169,14 @@ G_M6839_IG06: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldr w0, [x0, #0x08]
; gcrRegs -[x0]
cmp w0, #0
- ble G_M6839_IG21
+ ble G_M6839_IG20
;; size=96 bbWeight=0.00 PerfScore 0.04
G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
ldr x0, [x19, #0x10]
; gcrRegs +[x0]
ldr w1, [x0, #0x08]
cmp w21, w1
- bhs G_M6839_IG12
+ bhs G_M6839_IG11
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -188,40 +188,40 @@ G_M6839_IG07: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldp x0, x1, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
sub x2, x0, x1
cmp w2, #3
- blt G_M6839_IG17
+ blt G_M6839_IG16
cmp x1, x0
- beq G_M6839_IG16
+ beq G_M6839_IG15
add x0, x1, #1
str x0, [fp, #0x48] // [V05 loc1+0x18]
ldrb w0, [x1]
ldr w23, [x22, #0x08]
cmp w23, #0
- bls G_M6839_IG12
+ bls G_M6839_IG11
ldrb w1, [x22, #0x10]
cmp w0, w1
- bne G_M6839_IG17
+ bne G_M6839_IG16
ldp x1, x0, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
cmp x0, x1
- beq G_M6839_IG16
+ beq G_M6839_IG15
add x1, x0, #1
str x1, [fp, #0x48] // [V05 loc1+0x18]
ldrb w0, [x0]
cmp w23, #1
- bls G_M6839_IG12
+ bls G_M6839_IG11
ldrb w1, [x22, #0x11]
cmp w0, w1
- bne G_M6839_IG17
+ bne G_M6839_IG16
ldp x1, x0, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
cmp x0, x1
- beq G_M6839_IG16
+ beq G_M6839_IG15
add x1, x0, #1
str x1, [fp, #0x48] // [V05 loc1+0x18]
ldrb w0, [x0]
cmp w23, #2
- bls G_M6839_IG12
+ bls G_M6839_IG11
ldrb w1, [x22, #0x12]
cmp w0, w1
- bne G_M6839_IG17
+ bne G_M6839_IG16
mov w24, #3
cmp w23, #3
ble G_M6839_IG10
@@ -246,7 +246,7 @@ G_M6839_IG08: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=8000
mov w1, #64
cmp w0, #29
ccmp w0, w1, 0, ne
- beq G_M6839_IG13
+ beq G_M6839_IG12
;; size=68 bbWeight=0.00 PerfScore 0.03
G_M6839_IG09: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
add w24, w24, #1
@@ -257,20 +257,18 @@ G_M6839_IG10: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
; gcrRegs -[x22]
ldp x0, x1, [fp, #0x40] // [V05 loc1+0x10], [V05 loc1+0x18]
sub x0, x0, x1
- cbnz w0, G_M6839_IG17
+ cbnz w0, G_M6839_IG16
cmp w23, w24
- bne G_M6839_IG17
- ;; size=20 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG11: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ bne G_M6839_IG16
+ b G_M6839_IG18
+ ;; size=24 bbWeight=0.00 PerfScore 0.01
+G_M6839_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20]
; byrRegs -[x19]
- b G_M6839_IG19
- ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG12: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG12: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
; gcrRegs +[x20 x22]
; byrRegs +[x19]
add x0, fp, #48 // [V05 loc1]
@@ -284,7 +282,7 @@ G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
lsr w1, w1, #24
uxtb w25, w1
cmp w25, #2
- bne G_M6839_IG14
+ bne G_M6839_IG13
movz x1, #0xD1FFAB1E // code for System.Reflection.Metadata.TypeDefinitionHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeDefinitionHandle
movk x1, #0xD1FFAB1E LSL #16
movk x1, #0xD1FFAB1E LSL #32
@@ -330,9 +328,9 @@ G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
blr x1
; gcr arg pop 0
sxtw w1, w0
- b G_M6839_IG15
+ b G_M6839_IG14
;; size=192 bbWeight=0 PerfScore 0.00
-G_M6839_IG14: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG13: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
cmp w25, #1
bne G_M6839_IG10
movz x1, #0xD1FFAB1E // code for System.Reflection.Metadata.TypeReferenceHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeReferenceHandle
@@ -381,7 +379,7 @@ G_M6839_IG14: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
; gcr arg pop 0
sxtw w1, w0
;; size=160 bbWeight=0 PerfScore 0.00
-G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG14: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
movz x0, #0xD1FFAB1E // box for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -390,7 +388,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
ldr x0, [x0, #0x08]
add w2, w24, #1
cmp w2, w23
- bhs G_M6839_IG12
+ bhs G_M6839_IG11
add x2, x22, #16
; byrRegs +[x2]
add w3, w24, #1
@@ -398,7 +396,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
; byrRegs -[x2]
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M6839_IG12
+ bhs G_M6839_IG11
mov w3, #24
mov x4, #16
umaddl x2, w2, w3, x4
@@ -436,7 +434,7 @@ G_M6839_IG15: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {
add w24, w24, #1
b G_M6839_IG09
;; size=156 bbWeight=0 PerfScore 0.00
-G_M6839_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20 x22]
; byrRegs -[x19]
movz x0, #0xD1FFAB1E // code for System.Reflection.Throw:OutOfBounds()
@@ -447,7 +445,7 @@ G_M6839_IG16: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
brk_windows #0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG16: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
; gcrRegs +[x20]
; byrRegs +[x19]
add w21, w21, #1
@@ -456,17 +454,17 @@ G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldr w0, [x0, #0x08]
; gcrRegs -[x0]
cmp w0, w21
- ble G_M6839_IG21
+ ble G_M6839_IG20
;; size=20 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref
+G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref
b G_M6839_IG07
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20]
; byrRegs -[x19]
mov w0, w21
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG20: ; bbWeight=0.00, epilog, nogc, extend
+G_M6839_IG19: ; bbWeight=0.00, epilog, nogc, extend
ldp x25, x26, [sp, #0x90]
ldp x23, x24, [sp, #0x80]
ldp x21, x22, [sp, #0x70]
@@ -474,10 +472,10 @@ G_M6839_IG20: ; bbWeight=0.00, epilog, nogc, extend
ldp fp, lr, [sp], #0xA0
ret lr
;; size=24 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG21: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M6839_IG20: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
movn w0, #0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG22: ; bbWeight=0, epilog, nogc, extend
+G_M6839_IG21: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x90]
ldp x23, x24, [sp, #0x80]
ldp x21, x22, [sp, #0x70]
@@ -485,7 +483,7 @@ G_M6839_IG22: ; bbWeight=0, epilog, nogc, extend
ldp fp, lr, [sp], #0xA0
ret lr
;; size=24 bbWeight=0 PerfScore 0.00
-G_M6839_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M6839_IG22: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
stp fp, lr, [sp, #-0x60]!
stp x19, x20, [sp, #0x20]
stp x21, x22, [sp, #0x30]
@@ -494,10 +492,10 @@ G_M6839_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x3, fp, #160
str x3, [sp, #0x18]
;; size=28 bbWeight=0 PerfScore 0.00
-G_M6839_IG24: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
- adr x0, [G_M6839_IG21]
+G_M6839_IG23: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+ adr x0, [G_M6839_IG20]
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG25: ; bbWeight=0, funclet epilog, nogc, extend
+G_M6839_IG24: ; bbWeight=0, funclet epilog, nogc, extend
ldp x25, x26, [sp, #0x50]
ldp x23, x24, [sp, #0x40]
ldp x21, x22, [sp, #0x30]
@@ -560,4 +558,4 @@ Unwind Info:
*************** EH table for Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int
1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M6839_IG06..G_M6839_IG19) handled by [G_M6839_IG23..END) (class: 1000150)
+EH#0: try [G_M6839_IG06..G_M6839_IG18) handled by [G_M6839_IG22..END) (class: 1000150)
coreclr_tests.run.windows.arm64.checked.mch
+0 (0.00%) : 494474.dasm - JitTest_lcsmixed_lcs_cs.LCS:TestEntryPoint():int (Tier1-OSR)
@@ -101,7 +101,7 @@
;
; Lcl frame size = 48
-G_M23463_IG01: ; bbWeight=1, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
+G_M23463_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x90]!
stp x19, x20, [sp, #0x40]
stp x21, x22, [sp, #0x50]
@@ -152,11 +152,11 @@ G_M23463_IG05: ; bbWeight=2.38, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
ldp w2, w6, [x21, #0x10]
sxtw w27, w2
cmp w5, w27
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w2, [x21, #0x1C]
sub w7, w4, w2
cmp w7, w6
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w2, w5, w6, w7
ubfiz x2, x2, #3, #32
add x2, x2, #32
@@ -168,11 +168,11 @@ G_M23463_IG05: ; bbWeight=2.38, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
sub w8, w0, w5
ldp w0, w5, [x2, #0x10]
cmp w8, w0
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w0, [x2, #0x1C]
sub w9, w1, w0
cmp w9, w5
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w0, w8, w5, w9
ubfiz x0, x0, #3, #32
add x0, x0, #32
@@ -203,10 +203,10 @@ G_M23463_IG05: ; bbWeight=2.38, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
stp w5, w4, [fp, #0x24] // [V31 tmp23], [V30 tmp22]
ldp w2, w0, [x20, #0x20]
cmp w25, #6
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w1, [x20, #0x28]
cmp w25, #7
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w6, [x20, #0x2C]
stp w2, w0, [fp, #0x30] // [V12 tmp4], [V12 tmp4+0x04]
stp w1, w6, [fp, #0x38] // [V12 tmp4+0x08], [V12 tmp4+0x0c]
@@ -239,10 +239,10 @@ G_M23463_IG06: ; bbWeight=14.29, gcrefRegs=F80000 {x19 x20 x21 x22 x23},
;; size=4 bbWeight=14.29 PerfScore 14.29
G_M23463_IG07: ; bbWeight=14.29, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
cmp w24, #5
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w2, [x19, #0x24]
cmp w25, #5
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w0, [x20, #0x24]
cmp w2, w0
bge G_M23463_IG10
@@ -255,12 +255,12 @@ G_M23463_IG09: ; bbWeight=85.71, gcrefRegs=F80000 {x19 x20 x21 x22 x23},
ldp w3, w4, [x19, #0x10]
sub w5, w3, w27
cmp w5, w28
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w6, [x21, #0x14]
ldr w2, [x21, #0x1C]
sub w7, w4, w2
cmp w7, w6
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w2, w5, w6, w7
ubfiz x2, x2, #3, #32
add x2, x2, #32
@@ -271,31 +271,31 @@ G_M23463_IG09: ; bbWeight=85.71, gcrefRegs=F80000 {x19 x20 x21 x22 x23},
sub w0, w8, w0
ldp w1, w3, [x2, #0x10]
cmp w0, w1
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w1, [x2, #0x1C]
sub w1, w9, w1
cmp w1, w3
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w0, w0, w3, w1
ubfiz x0, x0, #3, #32
add x0, x0, #32
ldr x2, [x2, x0]
ldp w0, w1, [x19, #0x20]
cmp w25, #6
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w3, [x20, #0x28]
cmp w25, #7
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr w4, [x20, #0x2C]
ldr w5, [x2, #0x18]
sub w0, w0, w5
ldp w5, w6, [x2, #0x10]
cmp w0, w5
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w5, [x2, #0x1C]
sub w1, w1, w5
cmp w1, w6
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w0, w0, w6, w1
ubfiz x0, x0, #3, #32
add x0, x0, #32
@@ -361,9 +361,9 @@ G_M23463_IG13: ; bbWeight=0.56, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
cmp w0, w2
blt G_M23463_IG12
;; size=28 bbWeight=0.56 PerfScore 5.30
-G_M23463_IG14: ; bbWeight=0.05, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, byrefRegs=18000000 {x27 x28}, byref
+G_M23463_IG14: ; bbWeight=0.08, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, byrefRegs=18000000 {x27 x28}, byref
b G_M23463_IG17
- ;; size=4 bbWeight=0.05 PerfScore 0.05
+ ;; size=4 bbWeight=0.08 PerfScore 0.08
G_M23463_IG15: ; bbWeight=0.39, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, byrefRegs=10000000 {x28}, byref
; byrRegs -[x27]
add x27, x19, #24
@@ -377,11 +377,11 @@ G_M23463_IG16: ; bbWeight=0.09, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
sub w2, w2, w4
ldp w4, w6, [x21, #0x10]
cmp w2, w4
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
ldr w4, [x21, #0x1C]
sub w4, w0, w4
cmp w4, w6
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
madd w2, w2, w6, w4
ubfiz x2, x2, #3, #32
add x2, x2, #32
@@ -443,38 +443,14 @@ G_M23463_IG20: ; bbWeight=0.02, gcrefRegs=F80000 {x19 x20 x21 x22 x23}, b
ldr w0, [x20, #0x10]
; byrRegs -[x0]
cmp w1, w0
- bge G_M23463_IG22
+ bge G_M23463_IG27
b G_M23463_IG19
;; size=32 bbWeight=0.02 PerfScore 0.23
-G_M23463_IG21: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x19-x23]
+G_M23463_IG21: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs -[x19 x22]
; byrRegs -[x3 x27-x28]
- bl CORINFO_HELP_RNGCHKFAIL
- ; gcr arg pop 0
- ;; size=4 bbWeight=0 PerfScore 0.00
-G_M23463_IG22: ; bbWeight=0, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref
- ; gcrRegs +[x20-x23]
- mov x0, x22
- ; gcrRegs +[x0]
- mov x1, x21
- ; gcrRegs +[x1]
- mov x2, x23
- ; gcrRegs +[x2]
- mov x3, x20
- ; gcrRegs +[x3]
- movz x4, #0xD1FFAB1E // code for JitTest_lcsmixed_lcs_cs.LCS:findLCS(int[,,,][,,,],int[,][,][,][,],ushort[][],int[])
- movk x4, #0xD1FFAB1E LSL #16
- movk x4, #0xD1FFAB1E LSL #32
- ldr x4, [x4]
- blr x4
- ; gcrRegs -[x0-x3 x22]
- ; gcr arg pop 0
- mov w1, wzr
- b G_M23463_IG24
- ;; size=44 bbWeight=0 PerfScore 0.00
-G_M23463_IG23: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
cmp w1, w25
- bhs G_M23463_IG21
+ bhs G_M23463_IG26
add x0, x20, #16
; byrRegs +[x0]
ubfiz x2, x1, #2, #32
@@ -484,13 +460,13 @@ G_M23463_IG23: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
str w2, [x0]
add w1, w1, #1
;; size=36 bbWeight=0 PerfScore 0.00
-G_M23463_IG24: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M23463_IG22: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
; byrRegs -[x0]
cmp w1, #8
- blt G_M23463_IG23
+ blt G_M23463_IG21
ldr w1, [x23, #0x08]
cmp w1, #0
- bls G_M23463_IG21
+ bls G_M23463_IG26
ldr x1, [x23, #0x10]
; gcrRegs +[x1]
mov x0, x21
@@ -517,7 +493,7 @@ G_M23463_IG24: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
blr x2
; gcrRegs -[x1]
; gcr arg pop 0
- cbz w0, G_M23463_IG26
+ cbz w0, G_M23463_IG24
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -529,7 +505,7 @@ G_M23463_IG24: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=00
; gcr arg pop 0
mov w0, #100
;; size=128 bbWeight=0 PerfScore 0.00
-G_M23463_IG25: ; bbWeight=0, epilog, nogc, extend
+G_M23463_IG23: ; bbWeight=0, epilog, nogc, extend
ldp x27, x28, [sp, #0x80]
ldp x25, x26, [sp, #0x70]
ldp x23, x24, [sp, #0x60]
@@ -539,7 +515,7 @@ G_M23463_IG25: ; bbWeight=0, epilog, nogc, extend
add sp, sp, #0xD1FFAB1E
ret lr
;; size=32 bbWeight=0 PerfScore 0.00
-G_M23463_IG26: ; bbWeight=0, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M23463_IG24: ; bbWeight=0, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -551,7 +527,7 @@ G_M23463_IG26: ; bbWeight=0, gcVars=00000000000000000000000000000000 {},
; gcr arg pop 0
mov w0, wzr
;; size=36 bbWeight=0 PerfScore 0.00
-G_M23463_IG27: ; bbWeight=0, epilog, nogc, extend
+G_M23463_IG25: ; bbWeight=0, epilog, nogc, extend
ldp x27, x28, [sp, #0x80]
ldp x25, x26, [sp, #0x70]
ldp x23, x24, [sp, #0x60]
@@ -561,8 +537,32 @@ G_M23463_IG27: ; bbWeight=0, epilog, nogc, extend
add sp, sp, #0xD1FFAB1E
ret lr
;; size=32 bbWeight=0 PerfScore 0.00
+G_M23463_IG26: ; bbWeight=0, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+ bl CORINFO_HELP_RNGCHKFAIL
+ ; gcr arg pop 0
+ ;; size=4 bbWeight=0 PerfScore 0.00
+G_M23463_IG27: ; bbWeight=0, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref
+ ; gcrRegs +[x20-x23]
+ mov x0, x22
+ ; gcrRegs +[x0]
...
+0 (0.00%) : 342235.dasm - Simple2ArrayTest:Main():int (Tier1-OSR)
@@ -52,7 +52,7 @@ G_M25584_IG05: ; bbWeight=9.10, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
ldr w20, [fp, #0x90] // [V05 loc5]
ldr w21, [fp, #0xAC] // [V00 loc0]
cmp w20, w21
- bge G_M25584_IG12
+ bge G_M25584_IG11
;; size=16 bbWeight=9.10 PerfScore 50.04
G_M25584_IG06: ; bbWeight=8.27, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
ldp w23, w22, [fp, #0x98] // [V03 loc3], [V02 loc2]
@@ -85,27 +85,29 @@ G_M25584_IG09: ; bbWeight=1.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
cmp w23, w21
blt G_M25584_IG03
;; size=12 bbWeight=1.00 PerfScore 2.00
-G_M25584_IG10: ; bbWeight=0.10, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
- add w22, w22, #1
- cmp w22, w21
- bge G_M25584_IG13
- mov w23, wzr
- cmp w21, #0
- bgt G_M25584_IG03
- ;; size=24 bbWeight=0.10 PerfScore 0.40
-G_M25584_IG11: ; bbWeight=0.04, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
- b G_M25584_IG10
- ;; size=4 bbWeight=0.04 PerfScore 0.04
-G_M25584_IG12: ; bbWeight=4.55, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M25584_IG10: ; bbWeight=0.09, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+ b G_M25584_IG13
+ ;; size=4 bbWeight=0.09 PerfScore 0.09
+G_M25584_IG11: ; bbWeight=4.55, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
ldp w23, w22, [fp, #0x98] // [V03 loc3], [V02 loc2]
ldr w24, [fp, #0x94] // [V04 loc4]
b G_M25584_IG08
;; size=12 bbWeight=4.55 PerfScore 22.75
-G_M25584_IG13: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M25584_IG12: ; bbWeight=0.10, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+ mov w23, wzr
+ cmp w21, #0
+ bgt G_M25584_IG03
+ ;; size=12 bbWeight=0.10 PerfScore 0.20
+G_M25584_IG13: ; bbWeight=0.10, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+ add w22, w22, #1
+ cmp w22, w21
+ blt G_M25584_IG12
+ ;; size=12 bbWeight=0.10 PerfScore 0.20
+G_M25584_IG14: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
mov w22, wzr
- b G_M25584_IG25
+ b G_M25584_IG26
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25584_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25584_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -118,7 +120,7 @@ G_M25584_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
mov w0, #1
;; size=36 bbWeight=0 PerfScore 0.00
-G_M25584_IG15: ; bbWeight=0, epilog, nogc, extend
+G_M25584_IG16: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -127,24 +129,24 @@ G_M25584_IG15: ; bbWeight=0, epilog, nogc, extend
add sp, sp, #96
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-G_M25584_IG16: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+G_M25584_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[x19]
mov w23, wzr
- b G_M25584_IG24
- ;; size=8 bbWeight=0 PerfScore 0.00
-G_M25584_IG17: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
- mov w24, wzr
- b G_M25584_IG23
+ b G_M25584_IG25
;; size=8 bbWeight=0 PerfScore 0.00
G_M25584_IG18: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
- mov w20, wzr
- b G_M25584_IG22
+ mov w24, wzr
+ b G_M25584_IG24
;; size=8 bbWeight=0 PerfScore 0.00
G_M25584_IG19: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
- mov w25, wzr
- b G_M25584_IG21
+ mov w20, wzr
+ b G_M25584_IG23
;; size=8 bbWeight=0 PerfScore 0.00
G_M25584_IG20: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+ mov w25, wzr
+ b G_M25584_IG22
+ ;; size=8 bbWeight=0 PerfScore 0.00
+G_M25584_IG21: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
mov x0, x19
; gcrRegs +[x0]
mov w1, w22
@@ -159,29 +161,29 @@ G_M25584_IG20: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
add w25, w25, #1
str x26, [fp, #0x80] // [V07 loc7]
;; size=40 bbWeight=0 PerfScore 0.00
-G_M25584_IG21: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG22: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w25, w20
- blt G_M25584_IG20
+ blt G_M25584_IG21
add w20, w20, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25584_IG22: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG23: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w20, w24
- blt G_M25584_IG19
+ blt G_M25584_IG20
add w24, w24, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25584_IG23: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG24: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w24, w23
- blt G_M25584_IG18
+ blt G_M25584_IG19
add w23, w23, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25584_IG24: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG25: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w23, w22
- blt G_M25584_IG17
+ blt G_M25584_IG18
add w22, w22, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25584_IG25: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG26: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w22, w21
- blt G_M25584_IG16
+ blt G_M25584_IG17
mov x0, x19
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for Simple2_Array_Test:test(int[,,,]):int
@@ -192,12 +194,12 @@ G_M25584_IG25: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
; gcrRegs -[x0 x19]
; gcr arg pop 0
cmp w0, #4
- bne G_M25584_IG14
+ bne G_M25584_IG15
movz x0, #0xD1FFAB1E
movk x0, #3 LSL #16
ldr x26, [fp, #0x80] // [V07 loc7]
cmp x26, x0
- bne G_M25584_IG14
+ bne G_M25584_IG15
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -209,7 +211,7 @@ G_M25584_IG25: ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
; gcr arg pop 0
mov w0, #100
;; size=96 bbWeight=0 PerfScore 0.00
-G_M25584_IG26: ; bbWeight=0, epilog, nogc, extend
+G_M25584_IG27: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -219,7 +221,7 @@ G_M25584_IG26: ; bbWeight=0, epilog, nogc, extend
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 512, prolog size 28, PerfScore 883.53, instruction count 128, allocated bytes for code 512 (MethodHash=75279c0f) for method Simple2_Array_Test:Main():int (Tier1-OSR)
+; Total bytes of code 512, prolog size 28, PerfScore 883.57, instruction count 128, allocated bytes for code 512 (MethodHash=75279c0f) for method Simple2_Array_Test:Main():int (Tier1-OSR)
; ============================================================
Unwind Info:
+0 (0.00%) : 338708.dasm - Simple2ArrayTest:TestEntryPoint():int (Tier1-OSR)
@@ -82,22 +82,24 @@ G_M25589_IG09: ; bbWeight=1.00, gcrefRegs=1000000 {x24}, byrefRegs=0000 {
cmp w22, w21
blt G_M25589_IG03
;; size=12 bbWeight=1.00 PerfScore 2.00
-G_M25589_IG10: ; bbWeight=0.10, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
- add w23, w23, #1
- cmp w23, w21
- bge G_M25589_IG12
+G_M25589_IG10: ; bbWeight=0.09, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
+ b G_M25589_IG12
+ ;; size=4 bbWeight=0.09 PerfScore 0.09
+G_M25589_IG11: ; bbWeight=0.10, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
mov w22, wzr
cmp w21, #0
bgt G_M25589_IG03
- ;; size=24 bbWeight=0.10 PerfScore 0.40
-G_M25589_IG11: ; bbWeight=0.04, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
- b G_M25589_IG10
- ;; size=4 bbWeight=0.04 PerfScore 0.04
-G_M25589_IG12: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
+ ;; size=12 bbWeight=0.10 PerfScore 0.20
+G_M25589_IG12: ; bbWeight=0.10, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+ add w23, w23, #1
+ cmp w23, w21
+ blt G_M25589_IG11
+ ;; size=12 bbWeight=0.10 PerfScore 0.20
+G_M25589_IG13: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
mov w23, wzr
- b G_M25589_IG24
+ b G_M25589_IG25
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25589_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25589_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x24]
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
@@ -110,7 +112,7 @@ G_M25589_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
mov w0, #1
;; size=36 bbWeight=0 PerfScore 0.00
-G_M25589_IG14: ; bbWeight=0, epilog, nogc, extend
+G_M25589_IG15: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -119,24 +121,24 @@ G_M25589_IG14: ; bbWeight=0, epilog, nogc, extend
add sp, sp, #96
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-G_M25589_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, gcvars, byref
+G_M25589_IG16: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[x24]
mov w22, wzr
- b G_M25589_IG23
- ;; size=8 bbWeight=0 PerfScore 0.00
-G_M25589_IG16: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
- mov w20, wzr
- b G_M25589_IG22
+ b G_M25589_IG24
;; size=8 bbWeight=0 PerfScore 0.00
G_M25589_IG17: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
- mov w19, wzr
- b G_M25589_IG21
+ mov w20, wzr
+ b G_M25589_IG23
;; size=8 bbWeight=0 PerfScore 0.00
G_M25589_IG18: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
- mov w26, wzr
- b G_M25589_IG20
+ mov w19, wzr
+ b G_M25589_IG22
;; size=8 bbWeight=0 PerfScore 0.00
G_M25589_IG19: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
+ mov w26, wzr
+ b G_M25589_IG21
+ ;; size=8 bbWeight=0 PerfScore 0.00
+G_M25589_IG20: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
mov x0, x24
; gcrRegs +[x0]
mov w1, w23
@@ -149,33 +151,33 @@ G_M25589_IG19: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {},
add x25, x25, w0, SXTW
add w26, w26, #1
;; size=32 bbWeight=0 PerfScore 0.00
-G_M25589_IG20: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG21: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w26, w19
- blt G_M25589_IG19
+ blt G_M25589_IG20
add w19, w19, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25589_IG21: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG22: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w19, w20
- blt G_M25589_IG18
+ blt G_M25589_IG19
add w20, w20, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25589_IG22: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG23: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w20, w22
- blt G_M25589_IG17
+ blt G_M25589_IG18
add w22, w22, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25589_IG23: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG24: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w22, w23
- blt G_M25589_IG16
+ blt G_M25589_IG17
add w23, w23, #1
;; size=12 bbWeight=0 PerfScore 0.00
-G_M25589_IG24: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG25: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
cmp w23, w21
- blt G_M25589_IG15
+ blt G_M25589_IG16
movz x0, #0xD1FFAB1E
movk x0, #3 LSL #16
cmp x25, x0
- bne G_M25589_IG13
+ bne G_M25589_IG14
movz x0, #0xD1FFAB1E
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -188,7 +190,7 @@ G_M25589_IG24: ; bbWeight=0, gcrefRegs=1000000 {x24}, byrefRegs=0000 {},
; gcr arg pop 0
mov w0, #100
;; size=60 bbWeight=0 PerfScore 0.00
-G_M25589_IG25: ; bbWeight=0, epilog, nogc, extend
+G_M25589_IG26: ; bbWeight=0, epilog, nogc, extend
ldp x25, x26, [sp, #0x40]
ldp x23, x24, [sp, #0x30]
ldp x21, x22, [sp, #0x20]
@@ -198,7 +200,7 @@ G_M25589_IG25: ; bbWeight=0, epilog, nogc, extend
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-; Total bytes of code 444, prolog size 44, PerfScore 772.00, instruction count 111, allocated bytes for code 444 (MethodHash=b6269c0a) for method Simple2_Array_Test:TestEntryPoint():int (Tier1-OSR)
+; Total bytes of code 444, prolog size 44, PerfScore 772.05, instruction count 111, allocated bytes for code 444 (MethodHash=b6269c0a) for method Simple2_Array_Test:TestEntryPoint():int (Tier1-OSR)
; ============================================================
Unwind Info:
libraries_tests.run.windows.arm64.Release.mch
-4 (-1.16%) : 4693.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -43,9 +43,9 @@ G_M8081_IG03: ; bbWeight=1.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
; gcrRegs +[x21]
ldr x0, [x21]
cmp x0, x20
- bne G_M8081_IG16
+ bne G_M8081_IG15
ldrb w0, [x21, #0x4C]
- cbnz w0, G_M8081_IG17
+ cbnz w0, G_M8081_IG16
ldr x0, [x21, #0x30]
; gcrRegs +[x0]
add x0, x0, #52
@@ -55,10 +55,10 @@ G_M8081_IG03: ; bbWeight=1.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
; byrRegs -[x0]
mov w1, #0xD1FFAB1E
tst w0, w1
- beq G_M8081_IG18
+ beq G_M8081_IG17
ldp w0, w1, [x21, #0x38]
cmp w0, w1
- beq G_M8081_IG09
+ beq G_M8081_IG10
;; size=60 bbWeight=1.05 PerfScore 25.65
G_M8081_IG04: ; bbWeight=1.05, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
ldr x0, [x21, #0x28]
@@ -67,7 +67,7 @@ G_M8081_IG04: ; bbWeight=1.05, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
sxtw w2, w1
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M8081_IG15
+ bhs G_M8081_IG14
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -82,22 +82,33 @@ G_M8081_IG05: ; bbWeight=1.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
add w1, w1, #1
str w1, [x19, #0x24]
cmn w0, #1
- beq G_M8081_IG13
+ beq G_M8081_IG12
;; size=20 bbWeight=1.05 PerfScore 6.28
G_M8081_IG06: ; bbWeight=1.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #10
- beq G_M8081_IG12
+ beq G_M8081_IG09
;; size=8 bbWeight=1.05 PerfScore 1.57
G_M8081_IG07: ; bbWeight=1.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #13
beq G_M8081_IG03
;; size=8 bbWeight=1.02 PerfScore 1.54
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[x19]
- b G_M8081_IG11
- ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[x19 x21]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
+ ldp fp, lr, [sp], #0x30
+ ret lr
+ ;; size=16 bbWeight=1.00 PerfScore 5.00
+G_M8081_IG09: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+ ; gcrRegs +[x19]
+ str wzr, [x19, #0x24]
+ ldr w0, [x19, #0x20]
+ add w0, w0, #1
+ str w0, [x19, #0x20]
+ b G_M8081_IG03
+ ;; size=20 bbWeight=0.02 PerfScore 0.15
+G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[x21]
mov x0, x21
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for System.IO.StreamReader:ReadBuffer():int:this
@@ -109,41 +120,26 @@ G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
; gcr arg pop 0
cbnz w0, G_M8081_IG04
;; size=28 bbWeight=0.00 PerfScore 0.01
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
; gcrRegs -[x21]
movn w0, #0
b G_M8081_IG05
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
- ; gcrRegs -[x19]
- ldr x21, [sp, #0x28]
- ldp x19, x20, [sp, #0x18]
- ldp fp, lr, [sp], #0x30
- ret lr
- ;; size=16 bbWeight=1.00 PerfScore 5.00
-G_M8081_IG12: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs +[x19]
- str wzr, [x19, #0x24]
- ldr w0, [x19, #0x20]
- add w0, w0, #1
- str w0, [x19, #0x20]
- b G_M8081_IG03
- ;; size=20 bbWeight=0.02 PerfScore 0.15
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
movn w0, #0
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
ldr x21, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
; gcrRegs +[x19 x21]
mov x0, x21
; gcrRegs +[x0]
@@ -155,7 +151,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}
; gcr arg pop 0
b G_M8081_IG05
;; size=24 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x19] +[x21]
mov x0, x21
; gcrRegs +[x0]
@@ -168,7 +164,7 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
; gcr arg pop 0
brk_windows #0
;; size=28 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // code for System.IO.StreamReader:ThrowAsyncIOInProgress()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -178,7 +174,7 @@ G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_windows #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 344, prolog size 20, PerfScore 63.20, instruction count 86, allocated bytes for code 344 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 340, prolog size 20, PerfScore 62.70, instruction count 85, allocated bytes for code 340 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
@@ -189,7 +185,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 86 (0x00056) Actual length = 344 (0x000158)
+ Function Length : 85 (0x00055) Actual length = 340 (0x000154)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-1.16%) : 67361.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -43,9 +43,9 @@ G_M8081_IG03: ; bbWeight=1.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
; gcrRegs +[x21]
ldr x0, [x21]
cmp x0, x20
- bne G_M8081_IG16
+ bne G_M8081_IG15
ldrb w0, [x21, #0x4C]
- cbnz w0, G_M8081_IG17
+ cbnz w0, G_M8081_IG16
ldr x0, [x21, #0x30]
; gcrRegs +[x0]
add x0, x0, #52
@@ -55,10 +55,10 @@ G_M8081_IG03: ; bbWeight=1.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
; byrRegs -[x0]
mov w1, #0xD1FFAB1E
tst w0, w1
- beq G_M8081_IG18
+ beq G_M8081_IG17
ldp w0, w1, [x21, #0x38]
cmp w0, w1
- beq G_M8081_IG09
+ beq G_M8081_IG10
;; size=60 bbWeight=1.05 PerfScore 25.60
G_M8081_IG04: ; bbWeight=1.05, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
ldr x0, [x21, #0x28]
@@ -67,7 +67,7 @@ G_M8081_IG04: ; bbWeight=1.05, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
sxtw w2, w1
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M8081_IG15
+ bhs G_M8081_IG14
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -82,22 +82,33 @@ G_M8081_IG05: ; bbWeight=1.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
add w1, w1, #1
str w1, [x19, #0x24]
cmn w0, #1
- beq G_M8081_IG13
+ beq G_M8081_IG12
;; size=20 bbWeight=1.05 PerfScore 6.27
G_M8081_IG06: ; bbWeight=1.04, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #10
- beq G_M8081_IG12
+ beq G_M8081_IG09
;; size=8 bbWeight=1.04 PerfScore 1.57
G_M8081_IG07: ; bbWeight=1.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #13
beq G_M8081_IG03
;; size=8 bbWeight=1.02 PerfScore 1.53
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[x19]
- b G_M8081_IG11
- ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[x19 x21]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
+ ldp fp, lr, [sp], #0x30
+ ret lr
+ ;; size=16 bbWeight=1.00 PerfScore 5.00
+G_M8081_IG09: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+ ; gcrRegs +[x19]
+ str wzr, [x19, #0x24]
+ ldr w0, [x19, #0x20]
+ add w0, w0, #1
+ str w0, [x19, #0x20]
+ b G_M8081_IG03
+ ;; size=20 bbWeight=0.02 PerfScore 0.15
+G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[x21]
mov x0, x21
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for System.IO.StreamReader:ReadBuffer():int:this
@@ -109,41 +120,26 @@ G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
; gcr arg pop 0
cbnz w0, G_M8081_IG04
;; size=28 bbWeight=0.00 PerfScore 0.01
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
; gcrRegs -[x21]
movn w0, #0
b G_M8081_IG05
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
- ; gcrRegs -[x19]
- ldr x21, [sp, #0x28]
- ldp x19, x20, [sp, #0x18]
- ldp fp, lr, [sp], #0x30
- ret lr
- ;; size=16 bbWeight=1.00 PerfScore 5.00
-G_M8081_IG12: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs +[x19]
- str wzr, [x19, #0x24]
- ldr w0, [x19, #0x20]
- add w0, w0, #1
- str w0, [x19, #0x20]
- b G_M8081_IG03
- ;; size=20 bbWeight=0.02 PerfScore 0.15
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
movn w0, #0
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
ldr x21, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
; gcrRegs +[x19 x21]
mov x0, x21
; gcrRegs +[x0]
@@ -155,7 +151,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}
; gcr arg pop 0
b G_M8081_IG05
;; size=24 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x19] +[x21]
mov x0, x21
; gcrRegs +[x0]
@@ -168,7 +164,7 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
; gcr arg pop 0
brk_windows #0
;; size=28 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // code for System.IO.StreamReader:ThrowAsyncIOInProgress()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -178,7 +174,7 @@ G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_windows #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 344, prolog size 20, PerfScore 63.10, instruction count 86, allocated bytes for code 344 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 340, prolog size 20, PerfScore 62.60, instruction count 85, allocated bytes for code 340 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
@@ -189,7 +185,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 86 (0x00056) Actual length = 344 (0x000158)
+ Function Length : 85 (0x00055) Actual length = 340 (0x000154)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
-4 (-1.16%) : 101777.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -43,9 +43,9 @@ G_M8081_IG03: ; bbWeight=1.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
; gcrRegs +[x21]
ldr x0, [x21]
cmp x0, x20
- bne G_M8081_IG16
+ bne G_M8081_IG15
ldrb w0, [x21, #0x4C]
- cbnz w0, G_M8081_IG17
+ cbnz w0, G_M8081_IG16
ldr x0, [x21, #0x30]
; gcrRegs +[x0]
add x0, x0, #52
@@ -55,10 +55,10 @@ G_M8081_IG03: ; bbWeight=1.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
; byrRegs -[x0]
mov w1, #0xD1FFAB1E
tst w0, w1
- beq G_M8081_IG18
+ beq G_M8081_IG17
ldp w0, w1, [x21, #0x38]
cmp w0, w1
- beq G_M8081_IG09
+ beq G_M8081_IG10
;; size=60 bbWeight=1.05 PerfScore 25.61
G_M8081_IG04: ; bbWeight=1.05, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
ldr x0, [x21, #0x28]
@@ -67,7 +67,7 @@ G_M8081_IG04: ; bbWeight=1.05, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
sxtw w2, w1
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M8081_IG15
+ bhs G_M8081_IG14
add x0, x0, #16
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -82,22 +82,33 @@ G_M8081_IG05: ; bbWeight=1.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
add w1, w1, #1
str w1, [x19, #0x24]
cmn w0, #1
- beq G_M8081_IG13
+ beq G_M8081_IG12
;; size=20 bbWeight=1.05 PerfScore 6.27
G_M8081_IG06: ; bbWeight=1.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #10
- beq G_M8081_IG12
+ beq G_M8081_IG09
;; size=8 bbWeight=1.05 PerfScore 1.57
G_M8081_IG07: ; bbWeight=1.02, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
cmp w0, #13
beq G_M8081_IG03
;; size=8 bbWeight=1.02 PerfScore 1.53
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[x19]
- b G_M8081_IG11
- ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M8081_IG09: ; bbWeight=0.02, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[x19 x21]
+ ldr x21, [sp, #0x28]
+ ldp x19, x20, [sp, #0x18]
+ ldp fp, lr, [sp], #0x30
+ ret lr
+ ;; size=16 bbWeight=1.00 PerfScore 5.00
+G_M8081_IG09: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+ ; gcrRegs +[x19]
+ str wzr, [x19, #0x24]
+ ldr w0, [x19, #0x20]
+ add w0, w0, #1
+ str w0, [x19, #0x20]
+ b G_M8081_IG03
+ ;; size=20 bbWeight=0.02 PerfScore 0.15
+G_M8081_IG10: ; bbWeight=0.02, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[x21]
mov x0, x21
; gcrRegs +[x0]
movz x1, #0xD1FFAB1E // code for System.IO.StreamReader:ReadBuffer():int:this
@@ -109,41 +120,26 @@ G_M8081_IG09: ; bbWeight=0.02, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
; gcr arg pop 0
cbnz w0, G_M8081_IG04
;; size=28 bbWeight=0.02 PerfScore 0.11
-G_M8081_IG10: ; bbWeight=0.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M8081_IG11: ; bbWeight=0.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
; gcrRegs -[x21]
movn w0, #0
b G_M8081_IG05
;; size=8 bbWeight=0.01 PerfScore 0.01
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
- ; gcrRegs -[x19]
- ldr x21, [sp, #0x28]
- ldp x19, x20, [sp, #0x18]
- ldp fp, lr, [sp], #0x30
- ret lr
- ;; size=16 bbWeight=1.00 PerfScore 5.00
-G_M8081_IG12: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs +[x19]
- str wzr, [x19, #0x24]
- ldr w0, [x19, #0x20]
- add w0, w0, #1
- str w0, [x19, #0x20]
- b G_M8081_IG03
- ;; size=20 bbWeight=0.02 PerfScore 0.15
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x19]
movn w0, #0
;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
ldr x21, [sp, #0x28]
ldp x19, x20, [sp, #0x18]
ldp fp, lr, [sp], #0x30
ret lr
;; size=16 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
; gcrRegs +[x19 x21]
mov x0, x21
; gcrRegs +[x0]
@@ -155,7 +151,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}
; gcr arg pop 0
b G_M8081_IG05
;; size=24 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x19] +[x21]
mov x0, x21
; gcrRegs +[x0]
@@ -168,7 +164,7 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
; gcr arg pop 0
brk_windows #0
;; size=28 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movz x0, #0xD1FFAB1E // code for System.IO.StreamReader:ThrowAsyncIOInProgress()
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -178,7 +174,7 @@ G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
brk_windows #0
;; size=24 bbWeight=0 PerfScore 0.00
-; Total bytes of code 344, prolog size 20, PerfScore 63.23, instruction count 86, allocated bytes for code 344 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 340, prolog size 20, PerfScore 62.73, instruction count 85, allocated bytes for code 340 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
@@ -189,7 +185,7 @@ Unwind Info:
E bit : 0
X bit : 0
Vers : 0
- Function Length : 86 (0x00056) Actual length = 344 (0x000158)
+ Function Length : 85 (0x00055) Actual length = 340 (0x000154)
---- Epilog scopes ----
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
+0 (0.00%) : 155812.dasm - Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int (Tier1)
@@ -182,14 +182,14 @@ G_M6839_IG06: ; bbWeight=0.06, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldr w1, [x1, #0x08]
; gcrRegs -[x1]
cmp w1, #0
- ble G_M6839_IG26
+ ble G_M6839_IG25
;; size=96 bbWeight=0.06 PerfScore 1.76
G_M6839_IG07: ; bbWeight=0.07, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
ldr x1, [x19, #0x10]
; gcrRegs +[x1]
ldr w0, [x1, #0x08]
cmp w21, w0
- bhs G_M6839_IG23
+ bhs G_M6839_IG22
add x1, x1, #16
; gcrRegs -[x1]
; byrRegs +[x1]
@@ -201,41 +201,41 @@ G_M6839_IG07: ; bbWeight=0.07, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldp x1, x0, [fp, #0x48] // [V05 loc1+0x10], [V05 loc1+0x18]
sub x1, x1, x0
cmp w1, #3
- blt G_M6839_IG19
+ blt G_M6839_IG18
ldp x0, x1, [fp, #0x48] // [V05 loc1+0x10], [V05 loc1+0x18]
cmp x1, x0
- beq G_M6839_IG25
+ beq G_M6839_IG24
add x0, x1, #1
str x0, [fp, #0x50] // [V05 loc1+0x18]
ldrb w1, [x1]
ldr w23, [x22, #0x08]
cmp w23, #0
- bls G_M6839_IG23
+ bls G_M6839_IG22
ldrb w0, [x22, #0x10]
cmp w1, w0
- bne G_M6839_IG19
+ bne G_M6839_IG18
ldp x0, x1, [fp, #0x48] // [V05 loc1+0x10], [V05 loc1+0x18]
cmp x1, x0
- beq G_M6839_IG25
+ beq G_M6839_IG24
add x0, x1, #1
str x0, [fp, #0x50] // [V05 loc1+0x18]
ldrb w1, [x1]
cmp w23, #1
- bls G_M6839_IG23
+ bls G_M6839_IG22
ldrb w0, [x22, #0x11]
cmp w1, w0
- bne G_M6839_IG19
+ bne G_M6839_IG18
ldp x0, x1, [fp, #0x48] // [V05 loc1+0x10], [V05 loc1+0x18]
cmp x1, x0
- beq G_M6839_IG25
+ beq G_M6839_IG24
add x0, x1, #1
str x0, [fp, #0x50] // [V05 loc1+0x18]
ldrb w1, [x1]
cmp w23, #2
- bls G_M6839_IG23
+ bls G_M6839_IG22
ldrb w0, [x22, #0x12]
cmp w1, w0
- bne G_M6839_IG19
+ bne G_M6839_IG18
mov w24, #3
cmp w23, #3
ble G_M6839_IG13
@@ -261,11 +261,11 @@ G_M6839_IG08: ; bbWeight=0.07, gcrefRegs=500000 {x20 x22}, byrefRegs=8000
str x1, [fp, #0x50] // [V05 loc1+0x18]
sub w1, w0, #17
cmp w1, #1
- bls G_M6839_IG22
+ bls G_M6839_IG21
;; size=80 bbWeight=0.07 PerfScore 1.75
G_M6839_IG09: ; bbWeight=0.06, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
cmp w0, #255
- bgt G_M6839_IG24
+ bgt G_M6839_IG23
uxtb w25, w0
;; size=12 bbWeight=0.06 PerfScore 0.12
G_M6839_IG10: ; bbWeight=0.07, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
@@ -280,7 +280,7 @@ G_M6839_IG11: ; bbWeight=0.07, gcrefRegs=500000 {x20 x22}, byrefRegs=8000
mov w0, #64
cmp w25, #29
ccmp w25, w0, 0, ne
- beq G_M6839_IG16
+ beq G_M6839_IG15
;; size=16 bbWeight=0.07 PerfScore 0.17
G_M6839_IG12: ; bbWeight=0.13, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
add w24, w24, #1
@@ -291,20 +291,15 @@ G_M6839_IG13: ; bbWeight=0.07, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
; gcrRegs -[x22]
ldp x0, x1, [fp, #0x48] // [V05 loc1+0x10], [V05 loc1+0x18]
sub x0, x0, x1
- cbnz w0, G_M6839_IG19
+ cbnz w0, G_M6839_IG18
;; size=12 bbWeight=0.07 PerfScore 0.30
G_M6839_IG14: ; bbWeight=0.06, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
cmp w23, w24
- bne G_M6839_IG19
- ;; size=8 bbWeight=0.06 PerfScore 0.09
-G_M6839_IG15: ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[x20]
- ; byrRegs -[x19]
- b G_M6839_IG28
- ;; size=4 bbWeight=0.03 PerfScore 0.03
-G_M6839_IG16: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
- ; gcrRegs +[x20 x22]
- ; byrRegs +[x19]
+ bne G_M6839_IG18
+ b G_M6839_IG27
+ ;; size=12 bbWeight=0.06 PerfScore 0.15
+G_M6839_IG15: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+ ; gcrRegs +[x22]
add x0, fp, #56 // [V05 loc1]
movz x1, #0xD1FFAB1E // code for System.Reflection.Metadata.BlobReader:ReadTypeHandle():System.Reflection.Metadata.EntityHandle:this
movk x1, #0xD1FFAB1E LSL #16
@@ -316,9 +311,9 @@ G_M6839_IG16: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=8000
lsr w1, w1, #24
uxtb w25, w1
cmp w25, #2
- beq G_M6839_IG21
+ beq G_M6839_IG20
;; size=44 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG16: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
cmp w25, #1
bne G_M6839_IG13
movz x1, #0xD1FFAB1E // code for System.Reflection.Metadata.TypeReferenceHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeReferenceHandle
@@ -368,7 +363,7 @@ G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=8000
; gcr arg pop 0
sxtw w1, w0
;; size=164 bbWeight=0.00 PerfScore 0.01
-G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
movz x0, #0xD1FFAB1E // box for <unknown class>:<unknown field>
movk x0, #0xD1FFAB1E LSL #16
movk x0, #0xD1FFAB1E LSL #32
@@ -377,14 +372,14 @@ G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=8000
ldr x0, [x0, #0x08]
add w26, w24, #1
cmp w26, w23
- bhs G_M6839_IG23
+ bhs G_M6839_IG22
add x2, x22, #16
; byrRegs +[x2]
ldrb w2, [x2, w26, UXTW #2]
; byrRegs -[x2]
ldr w3, [x0, #0x08]
cmp w2, w3
- bhs G_M6839_IG23
+ bhs G_M6839_IG22
mov w3, #24
mov x4, #16
umaddl x2, w2, w3, x4
@@ -422,7 +417,7 @@ G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=8000
sxtw w24, w26
b G_M6839_IG12
;; size=152 bbWeight=0.00 PerfScore 0.02
-G_M6839_IG19: ; bbWeight=0.07, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG18: ; bbWeight=0.07, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
; gcrRegs -[x22]
add w21, w21, #1
ldr x0, [x19, #0x10]
@@ -430,12 +425,12 @@ G_M6839_IG19: ; bbWeight=0.07, gcrefRegs=100000 {x20}, byrefRegs=80000 {x
ldr w0, [x0, #0x08]
; gcrRegs -[x0]
cmp w0, w21
- ble G_M6839_IG26
+ ble G_M6839_IG25
;; size=20 bbWeight=0.07 PerfScore 0.53
-G_M6839_IG20: ; bbWeight=0.03, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref
+G_M6839_IG19: ; bbWeight=0.03, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref
b G_M6839_IG07
;; size=4 bbWeight=0.03 PerfScore 0.03
-G_M6839_IG21: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M6839_IG20: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref, isz
; gcrRegs +[x22]
movz x1, #0xD1FFAB1E // code for System.Reflection.Metadata.TypeDefinitionHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeDefinitionHandle
movk x1, #0xD1FFAB1E LSL #16
@@ -483,25 +478,25 @@ G_M6839_IG21: ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=8000
blr x1
; gcr arg pop 0
sxtw w1, w0
- b G_M6839_IG18
+ b G_M6839_IG17
;; size=152 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG22: ; bbWeight=0.01, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref
+G_M6839_IG21: ; bbWeight=0.01, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref
mov w25, #64
b G_M6839_IG10
;; size=8 bbWeight=0.01 PerfScore 0.02
-G_M6839_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG22: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20 x22]
; byrRegs -[x19]
bl CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG24: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref
+G_M6839_IG23: ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=80000 {x19}, byref
; gcrRegs +[x20 x22]
; byrRegs +[x19]
mov w25, wzr
b G_M6839_IG10
;; size=8 bbWeight=0 PerfScore 0.00
-G_M6839_IG25: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x20 x22]
; byrRegs -[x19]
movz x0, #0xD1FFAB1E // code for System.Reflection.Throw:OutOfBounds()
@@ -512,10 +507,10 @@ G_M6839_IG25: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
brk_windows #0
;; size=24 bbWeight=0 PerfScore 0.00
-G_M6839_IG26: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG25: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
movn w0, #0
;; size=4 bbWeight=0 PerfScore 0.00
-G_M6839_IG27: ; bbWeight=0, epilog, nogc, extend
+G_M6839_IG26: ; bbWeight=0, epilog, nogc, extend
ldr x27, [sp, #0xA8]
ldp x25, x26, [sp, #0x98]
ldp x23, x24, [sp, #0x88]
@@ -524,10 +519,10 @@ G_M6839_IG27: ; bbWeight=0, epilog, nogc, extend
ldp fp, lr, [sp], #0xB0
ret lr
;; size=28 bbWeight=0 PerfScore 0.00
-G_M6839_IG28: ; bbWeight=0.06, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M6839_IG27: ; bbWeight=0.06, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov w0, w21
;; size=4 bbWeight=0.06 PerfScore 0.03
-G_M6839_IG29: ; bbWeight=0.06, epilog, nogc, extend
+G_M6839_IG28: ; bbWeight=0.06, epilog, nogc, extend
ldr x27, [sp, #0xA8]
ldp x25, x26, [sp, #0x98]
ldp x23, x24, [sp, #0x88]
@@ -536,7 +531,7 @@ G_M6839_IG29: ; bbWeight=0.06, epilog, nogc, extend
ldp fp, lr, [sp], #0xB0
ret lr
;; size=28 bbWeight=0.06 PerfScore 0.48
-G_M6839_IG30: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M6839_IG29: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
stp fp, lr, [sp, #-0x60]!
stp x19, x20, [sp, #0x18]
stp x21, x22, [sp, #0x28]
@@ -546,10 +541,10 @@ G_M6839_IG30: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
add x3, fp, #176
...
+0 (0.00%) : 275116.dasm - System.Globalization.CompareInfo:StartsWithOrdinalHelper(System.ReadOnlySpan1[ushort],System.ReadOnlySpan
1[ushort],int,ulong):ubyte:this (Tier1)
@@ -97,7 +97,7 @@ G_M16885_IG02: ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=1800000 {x
blr x1
; gcr arg pop 0
ldrb w0, [x21, #0x2C]
- cbz w0, G_M16885_IG24
+ cbz w0, G_M16885_IG23
tst w22, #4
cset x0, eq
;; size=68 bbWeight=1 PerfScore 17.50
@@ -164,7 +164,7 @@ G_M16885_IG09: ; bbWeight=0.16, gcrefRegs=200000 {x21}, byrefRegs=0000 {}
;; size=20 bbWeight=0.16 PerfScore 0.89
G_M16885_IG10: ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x21]
- cbnz x25, G_M16885_IG23
+ cbnz x25, G_M16885_IG22
;; size=4 bbWeight=0.12 PerfScore 0.12
G_M16885_IG11: ; bbWeight=0.12, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w0, #1
@@ -246,24 +246,22 @@ G_M16885_IG21: ; bbWeight=0.01, gcrefRegs=200000 {x21}, byrefRegs=0000 {}
movk x7, #0xD1FFAB1E LSL #16
movk x7, #0xD1FFAB1E LSL #32
ldrb w4, [x7, w2, UXTW #2]
- cbnz w4, G_M16885_IG13
- ;; size=20 bbWeight=0.01 PerfScore 0.04
-G_M16885_IG22: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ cbz w4, G_M16885_IG18
+ b G_M16885_IG13
+ ;; size=24 bbWeight=0.01 PerfScore 0.04
+G_M16885_IG22: ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x21]
- b G_M16885_IG18
- ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M16885_IG23: ; bbWeight=0.02, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
str w19, [x25]
b G_M16885_IG11
;; size=8 bbWeight=0.02 PerfScore 0.04
-G_M16885_IG24: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=1800000 {x23 x24}, byref
+G_M16885_IG23: ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=1800000 {x23 x24}, byref
; gcrRegs +[x21]
; byrRegs +[x23-x24]
mov w0, wzr
b G_M16885_IG03
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 544, prolog size 56, PerfScore 8693.51, instruction count 136, allocated bytes for code 544 (MethodHash=20c8be0a) for method System.Globalization.CompareInfo:StartsWithOrdinalHelper(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,ulong):ubyte:this (Tier1)
+; Total bytes of code 544, prolog size 56, PerfScore 8693.52, instruction count 136, allocated bytes for code 544 (MethodHash=20c8be0a) for method System.Globalization.CompareInfo:StartsWithOrdinalHelper(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,ulong):ubyte:this (Tier1)
; ============================================================
Unwind Info:
+0 (0.00%) : 334224.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
@@ -92,7 +92,7 @@ G_M10115_IG02: ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
ldr w0, [x20, #0x28]
tbnz w0, #24, G_M10115_IG14
mov w22, wzr
- tbnz w19, #29, G_M10115_IG37
+ tbnz w19, #29, G_M10115_IG36
ldr x0, [x20, #0x18]
; gcrRegs +[x0]
ldr x0, [x0, #0x08]
@@ -108,32 +108,32 @@ G_M10115_IG03: ; bbWeight=1.15, gcrefRegs=300000 {x20 x21}, byrefRegs=000
; gcrRegs +[x0]
ldr w26, [x0, #0x08]
cmp w23, w26
- bhs G_M10115_IG36
+ bhs G_M10115_IG35
add x27, x0, #12
; byrRegs +[x27]
ldrh w0, [x27, w23, UXTW #2]
; gcrRegs -[x0]
cmp w0, #58
- bne G_M10115_IG23
+ bne G_M10115_IG22
;; size=44 bbWeight=1.15 PerfScore 16.07
G_M10115_IG04: ; bbWeight=1, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref, isz
tbz w19, #20, G_M10115_IG06
cmp w24, w26
- bhs G_M10115_IG36
+ bhs G_M10115_IG35
ldrh w0, [x27, w24, UXTW #2]
cmp w0, #92
- beq G_M10115_IG42
+ beq G_M10115_IG41
add w0, w24, #1
cmp w0, w26
- bhs G_M10115_IG36
+ bhs G_M10115_IG35
ldrh w0, [x27, w0, UXTW #2]
cmp w0, #92
- beq G_M10115_IG42
+ beq G_M10115_IG41
;; size=48 bbWeight=1 PerfScore 13.50
G_M10115_IG05: ; bbWeight=1, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref, isz
add w24, w24, #2
tst w19, #0xD1FFAB1E
- bne G_M10115_IG25
+ bne G_M10115_IG24
;; size=12 bbWeight=1 PerfScore 2.00
G_M10115_IG06: ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[x25]
@@ -149,16 +149,16 @@ G_M10115_IG06: ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
G_M10115_IG07: ; bbWeight=1, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
and w0, w19, #0xD1FFAB1E
cmp w0, #112, LSL #12
- beq G_M10115_IG24
+ beq G_M10115_IG23
;; size=12 bbWeight=1 PerfScore 2.00
G_M10115_IG08: ; bbWeight=0.98, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
- tbnz w19, #27, G_M10115_IG24
+ tbnz w19, #27, G_M10115_IG23
strh w24, [x21, #0x3A]
ldr w0, [x20, #0x28]
and w0, w0, #0xD1FFAB1E
cmp w0, #80, LSL #12
- beq G_M10115_IG43
- tbnz w19, #21, G_M10115_IG20
+ beq G_M10115_IG42
+ tbnz w19, #21, G_M10115_IG19
;; size=28 bbWeight=0.98 PerfScore 7.85
G_M10115_IG09: ; bbWeight=0.98, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
strh w24, [x21, #0x3C]
@@ -169,7 +169,7 @@ G_M10115_IG09: ; bbWeight=0.98, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs
csel x19, x19, x0, eq
strh w24, [x21, #0x40]
mov w28, wzr
- tbnz x19, #33, G_M10115_IG19
+ tbnz x19, #33, G_M10115_IG18
;; size=36 bbWeight=0.98 PerfScore 5.89
G_M10115_IG10: ; bbWeight=0.98, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
ldrh w0, [x21, #0x46]
@@ -181,7 +181,7 @@ G_M10115_IG10: ; bbWeight=0.98, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs
ldr x0, [x20, #0x08]
;; size=24 bbWeight=0.98 PerfScore 11.29
G_M10115_IG11: ; bbWeight=0.98, gcrefRegs=B00001 {x0 x20 x21 x23}, byrefRegs=0000 {}, byref, isz
- cbz x0, G_M10115_IG28
+ cbz x0, G_M10115_IG27
add x0, x0, #12
; gcrRegs -[x0]
; byrRegs +[x0]
@@ -193,7 +193,7 @@ G_M10115_IG12: ; bbWeight=0.98, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs
; byrRegs -[x0 x3]
ldrh w0, [x3, w24, SXTW #2]
cmp w0, #58
- beq G_M10115_IG29
+ beq G_M10115_IG28
;; size=12 bbWeight=0.98 PerfScore 4.42
G_M10115_IG13: ; bbWeight=0.98, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x23]
@@ -203,7 +203,7 @@ G_M10115_IG14: ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
orr x19, x19, #0xD1FFAB1E
add x0, x20, #32
; byrRegs +[x0]
- cbz x0, G_M10115_IG35
+ cbz x0, G_M10115_IG34
mov x1, x21
; gcrRegs +[x1]
mov x2, xzr
@@ -239,14 +239,12 @@ G_M10115_IG16: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M10115_IG17: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0002 {x1}, gcvars, byref, isz
; byrRegs +[x1]
mov x0, x3
- tbz w0, #30, G_M10115_IG15
- ;; size=8 bbWeight=1 PerfScore 1.50
-G_M10115_IG18: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; byrRegs -[x1]
- b G_M10115_IG16
- ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M10115_IG19: ; bbWeight=0.30, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref
+ tbnz w0, #30, G_M10115_IG16
+ b G_M10115_IG15
+ ;; size=12 bbWeight=1 PerfScore 2.50
+G_M10115_IG18: ; bbWeight=0.30, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref
; gcrRegs +[x20-x21 x23]
+ ; byrRegs -[x1]
ldr x0, [x20, #0x10]
; gcrRegs +[x0]
ldr w0, [x0, #0x08]
@@ -254,33 +252,33 @@ G_M10115_IG19: ; bbWeight=0.30, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs
strh w0, [x21, #0x46]
b G_M10115_IG10
;; size=16 bbWeight=0.30 PerfScore 2.37
-G_M10115_IG20: ; bbWeight=0.20, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG19: ; bbWeight=0.20, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
ldr x0, [x20, #0x08]
; gcrRegs +[x0]
ldr w1, [x0, #0x08]
cmp w24, w1
- bhs G_M10115_IG36
+ bhs G_M10115_IG35
add x0, x0, #12
; gcrRegs -[x0]
; byrRegs +[x0]
ldrh w2, [x0, w24, UXTW #2]
cmp w2, #64
- beq G_M10115_IG22
+ beq G_M10115_IG21
;; size=32 bbWeight=0.20 PerfScore 2.55
-G_M10115_IG21: ; bbWeight=0.20, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0001 {x0}, byref, isz
+G_M10115_IG20: ; bbWeight=0.20, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0001 {x0}, byref, isz
add w24, w24, #1
cmp w24, w1
- bhs G_M10115_IG36
+ bhs G_M10115_IG35
ldrh w2, [x0, w24, UXTW #2]
cmp w2, #64
- bne G_M10115_IG21
+ bne G_M10115_IG20
;; size=24 bbWeight=0.20 PerfScore 1.32
-G_M10115_IG22: ; bbWeight=0.20, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref
+G_M10115_IG21: ; bbWeight=0.20, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref
; byrRegs -[x0]
add w24, w24, #1
b G_M10115_IG09
;; size=8 bbWeight=0.20 PerfScore 0.31
-G_M10115_IG23: ; bbWeight=0.15, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
+G_M10115_IG22: ; bbWeight=0.15, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
; gcrRegs -[x23]
add x0, x21, #56
; byrRegs +[x0]
@@ -290,7 +288,7 @@ G_M10115_IG23: ; bbWeight=0.15, gcrefRegs=300000 {x20 x21}, byrefRegs=000
mov w23, w24
b G_M10115_IG03
;; size=24 bbWeight=0.15 PerfScore 0.96
-G_M10115_IG24: ; bbWeight=0.02, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
+G_M10115_IG23: ; bbWeight=0.02, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
; byrRegs -[x0]
strh w19, [x21, #0x3A]
ldrh w0, [x21, #0x3A]
@@ -302,85 +300,85 @@ G_M10115_IG24: ; bbWeight=0.02, gcrefRegs=300000 {x20 x21}, byrefRegs=000
csel x19, x19, x0, eq
b G_M10115_IG14
;; size=36 bbWeight=0.02 PerfScore 0.17
-G_M10115_IG25: ; bbWeight=0, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref
+G_M10115_IG24: ; bbWeight=0, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref
; gcrRegs +[x25]
; byrRegs +[x27]
uxth w0, w19
- b G_M10115_IG27
+ b G_M10115_IG26
;; size=8 bbWeight=0 PerfScore 0.00
-G_M10115_IG26: ; bbWeight=0, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref
+G_M10115_IG25: ; bbWeight=0, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref
mov w22, #1
add w24, w24, #1
;; size=8 bbWeight=0 PerfScore 0.00
-G_M10115_IG27: ; bbWeight=0, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref, isz
+G_M10115_IG26: ; bbWeight=0, gcrefRegs=2300000 {x20 x21 x25}, byrefRegs=8000000 {x27}, byref, isz
cmp w24, w0
bge G_M10115_IG06
cmp w24, w26
- bhs G_M10115_IG36
+ bhs G_M10115_IG35
ldrh w1, [x27, w24, UXTW #2]
cmp w1, #47
- beq G_M10115_IG26
+ beq G_M10115_IG25
ldrh w1, [x27, w24, UXTW #2]
cmp w1, #92
- beq G_M10115_IG26
+ beq G_M10115_IG25
b G_M10115_IG06
;; size=44 bbWeight=0 PerfScore 0.00
-G_M10115_IG28: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref
+G_M10115_IG27: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref
; gcrRegs -[x25] +[x23]
; byrRegs -[x27]
mov x3, xzr
b G_M10115_IG12
;; size=8 bbWeight=0 PerfScore 0.00
-G_M10115_IG29: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG28: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
mov w0, wzr
add w24, w24, #1
ldrh w1, [x21, #0x46]
cmp w24, w1
- bge G_M10115_IG32
+ bge G_M10115_IG31
ldrh w0, [x3, w24, SXTW #2]
sub w0, w0, #48
cmp w0, #9
- bhi G_M10115_IG32
+ bhi G_M10115_IG31
mov w28, #1
mov x1, #0xD1FFAB1E
orr x1, x19, x1
cmp w0, #0
csel x19, x19, x1, ne
- b G_M10115_IG31
+ b G_M10115_IG30
;; size=60 bbWeight=0 PerfScore 0.00
-G_M10115_IG30: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG29: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
ldrh w1, [x3, w24, SXTW #2]
sub w1, w1, #48
cmp w1, #9
- bhi G_M10115_IG32
+ bhi G_M10115_IG31
mov w2, #10
madd w0, w0, w2, w1
;; size=24 bbWeight=0 PerfScore 0.00
-G_M10115_IG31: ; bbWeight=0, gcrefRegs=B00000 {x20 x21 x23}, byrefRegs=0000 {}, byref, isz
...
Details
Improvements/regressions per collection
Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
benchmarks.run.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
benchmarks.run_pgo.windows.arm64.checked.mch |
3 |
2 |
0 |
1 |
-20 |
+0 |
benchmarks.run_tiered.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
coreclr_tests.run.windows.arm64.checked.mch |
3 |
0 |
0 |
3 |
-0 |
+0 |
libraries.crossgen2.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
libraries.pmi.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
libraries_tests.run.windows.arm64.Release.mch |
163 |
150 |
0 |
13 |
-644 |
+0 |
librariestestsnotieredcompilation.run.windows.arm64.Release.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
realworld.run.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
smoke_tests.nativeaot.windows.arm64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
|
169 |
152 |
0 |
17 |
-664 |
+0 |
Context information
Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
benchmarks.run.windows.arm64.checked.mch |
24,446 |
4 |
24,442 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_pgo.windows.arm64.checked.mch |
96,121 |
48,079 |
48,042 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_tiered.windows.arm64.checked.mch |
49,360 |
36,713 |
12,647 |
0 (0.00%) |
0 (0.00%) |
coreclr_tests.run.windows.arm64.checked.mch |
595,403 |
362,592 |
232,811 |
1 (0.00%) |
1 (0.00%) |
libraries.crossgen2.windows.arm64.checked.mch |
244,149 |
15 |
244,134 |
3 (0.00%) |
3 (0.00%) |
libraries.pmi.windows.arm64.checked.mch |
305,575 |
6 |
305,569 |
3 (0.00%) |
3 (0.00%) |
libraries_tests.run.windows.arm64.Release.mch |
651,606 |
469,431 |
182,175 |
0 (0.00%) |
0 (0.00%) |
librariestestsnotieredcompilation.run.windows.arm64.Release.mch |
317,077 |
21,598 |
295,479 |
0 (0.00%) |
0 (0.00%) |
realworld.run.windows.arm64.checked.mch |
33,211 |
3 |
33,208 |
0 (0.00%) |
0 (0.00%) |
smoke_tests.nativeaot.windows.arm64.checked.mch |
24,160 |
8 |
24,152 |
2 (0.01%) |
2 (0.01%) |
|
2,341,108 |
938,449 |
1,402,659 |
9 (0.00%) |
9 (0.00%) |
jit-analyze output
benchmarks.run_pgo.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 45573052 (overridden on cmd)
Total bytes of diff: 45573032 (overridden on cmd)
Total bytes of delta: -20 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
-16 : 63710.dasm (-0.28 % of base)
-4 : 65675.dasm (-1.08 % of base)
2 total files with Code Size differences (2 improved, 0 regressed), 1 unchanged.
Top method improvements (bytes):
-16 (-0.28 % of base) : 63710.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-4 (-1.08 % of base) : 65675.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
Top method improvements (percentages):
-4 (-1.08 % of base) : 65675.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
-16 (-0.28 % of base) : 63710.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
2 total methods with Code Size differences (2 improved, 0 regressed).
coreclr_tests.run.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 495287164 (overridden on cmd)
Total bytes of diff: 495287164 (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), 3 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
libraries_tests.run.windows.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 330811772 (overridden on cmd)
Total bytes of diff: 330811128 (overridden on cmd)
Total bytes of delta: -644 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
-16 : 57516.dasm (-0.28 % of base)
-16 : 595573.dasm (-0.28 % of base)
-16 : 87157.dasm (-0.28 % of base)
-12 : 157939.dasm (-0.21 % of base)
-4 : 101777.dasm (-1.16 % of base)
-4 : 130333.dasm (-1.16 % of base)
-4 : 175001.dasm (-1.16 % of base)
-4 : 184393.dasm (-1.16 % of base)
-4 : 214581.dasm (-1.16 % of base)
-4 : 233049.dasm (-1.16 % of base)
-4 : 264857.dasm (-1.16 % of base)
-4 : 273025.dasm (-1.16 % of base)
-4 : 324796.dasm (-0.71 % of base)
-4 : 594430.dasm (-0.90 % of base)
-4 : 633920.dasm (-1.16 % of base)
-4 : 649648.dasm (-1.16 % of base)
-4 : 67361.dasm (-1.16 % of base)
-4 : 110225.dasm (-1.16 % of base)
-4 : 180661.dasm (-1.16 % of base)
-4 : 215073.dasm (-1.16 % of base)
33 total files with Code Size differences (33 improved, 0 regressed), 13 unchanged.
Top method improvements (bytes):
-16 (-0.28 % of base) : 57516.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-16 (-0.28 % of base) : 595573.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-16 (-0.28 % of base) : 87157.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-12 (-0.21 % of base) : 157939.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-4 (-0.71 % of base) : 324796.dasm - System.SpanTests.ReadOnlySpanTests:SequenceCompareToWithSingleMismatch_Byte() (Tier1-OSR)
-4 (-0.90 % of base) : 594430.dasm - System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ulong]:IsHighPriorityNullableFor(System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[ulong],uint):ubyte (Tier1)
-4 (-1.16 % of base) : 101777.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 130333.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 175001.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 184393.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 214581.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 233049.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 264857.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 273025.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 633920.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 649648.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 67361.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 110225.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 180661.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 215073.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
Top method improvements (percentages):
-4 (-1.16 % of base) : 101777.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 130333.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 175001.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 184393.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 214581.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 233049.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 264857.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 273025.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 633920.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 649648.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 67361.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 110225.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 180661.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 215073.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 215677.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 238409.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 109193.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 129677.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 120513.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-4 (-1.16 % of base) : 236509.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
windows x64
Diffs are based on 2,512,209 contexts (997,391 MinOpts, 1,514,818 FullOpts).
MISSED contexts: 3 (0.00%)
Overall (-323 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
aspnet.run.windows.x64.checked.mch |
47,040,723 |
+24 |
benchmarks.run_pgo.windows.x64.checked.mch |
36,232,799 |
+15 |
coreclr_tests.run.windows.x64.checked.mch |
393,207,052 |
+0 |
libraries_tests.run.windows.x64.Release.mch |
282,129,292 |
-362 |
FullOpts (-323 bytes)
Collection |
Base size (bytes) |
Diff size (bytes) |
aspnet.run.windows.x64.checked.mch |
28,549,674 |
+24 |
benchmarks.run_pgo.windows.x64.checked.mch |
22,062,143 |
+15 |
coreclr_tests.run.windows.x64.checked.mch |
120,418,198 |
+0 |
libraries_tests.run.windows.x64.Release.mch |
106,270,974 |
-362 |
Example diffs
aspnet.run.windows.x64.checked.mch
+0 (0.00%) : 127805.dasm - System.Globalization.CompareInfo:StartsWithOrdinalHelper(System.ReadOnlySpan1[ushort],System.ReadOnlySpan
1[ushort],int,ulong):ubyte:this (Tier1)
@@ -100,16 +100,16 @@ G_M16885_IG03: ; bbWeight=4.22, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
movzx rdi, word ptr [rbx]
movzx rbp, word ptr [rsi]
cmp edi, 128
- jge G_M16885_IG20
+ jge G_M16885_IG19
cmp ebp, 128
- jge G_M16885_IG20
+ jge G_M16885_IG19
mov r14d, edi
mov r15, 0xD1FFAB1E ; static handle
cmp byte ptr [r14+r15], 0
- jne G_M16885_IG20
+ jne G_M16885_IG19
mov r14d, ebp
cmp byte ptr [r14+r15], 0
- jne G_M16885_IG20
+ jne G_M16885_IG19
cmp edi, ebp
jne SHORT G_M16885_IG11
;; size=72 bbWeight=4.22 PerfScore 69.60
@@ -130,16 +130,16 @@ G_M16885_IG06: ; bbWeight=0.40, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
G_M16885_IG07: ; bbWeight=0.38, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
movzx r11, word ptr [rbx]
cmp r11d, 128
- jge G_M16885_IG20
+ jge G_M16885_IG19
mov r15, 0xD1FFAB1E ; static handle
cmp byte ptr [r11+r15], 0
- jne G_M16885_IG20
+ jne G_M16885_IG19
;; size=38 bbWeight=0.38 PerfScore 2.87
G_M16885_IG08: ; bbWeight=0.40, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx]
mov rcx, qword ptr [rsp+0xA0]
test rcx, rcx
- jne SHORT G_M16885_IG19
+ jne SHORT G_M16885_IG18
;; size=13 bbWeight=0.40 PerfScore 0.90
G_M16885_IG09: ; bbWeight=0.40, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov eax, 1
@@ -163,7 +163,7 @@ G_M16885_IG11: ; bbWeight=0.60, gcVars=0000000000000000 {}, gcrefRegs=000
;; size=13 bbWeight=0.60 PerfScore 1.50
G_M16885_IG12: ; bbWeight=0.60, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
cmp word ptr [rbx+0x02], 128
- jae SHORT G_M16885_IG20
+ jae SHORT G_M16885_IG19
;; size=8 bbWeight=0.60 PerfScore 2.40
G_M16885_IG13: ; bbWeight=0.60, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
mov r11d, r8d
@@ -173,7 +173,7 @@ G_M16885_IG13: ; bbWeight=0.60, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
;; size=13 bbWeight=0.60 PerfScore 1.49
G_M16885_IG14: ; bbWeight=0.59, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
cmp word ptr [rsi+0x02], 128
- jae SHORT G_M16885_IG20
+ jae SHORT G_M16885_IG19
;; size=8 bbWeight=0.59 PerfScore 2.37
G_M16885_IG15: ; bbWeight=0.60, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
@@ -193,20 +193,18 @@ G_M16885_IG17: ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=000
; gcrRegs +[rcx]
movzx r11, word ptr [rsi]
cmp r11d, 128
- jge SHORT G_M16885_IG20
+ jge SHORT G_M16885_IG19
mov r15, 0xD1FFAB1E ; static handle
cmp byte ptr [r11+r15], 0
- jne SHORT G_M16885_IG20
- ;; size=30 bbWeight=0.00 PerfScore 0.02
-G_M16885_IG18: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rcx]
+ jne SHORT G_M16885_IG19
jmp SHORT G_M16885_IG15
- ;; size=2 bbWeight=0.00 PerfScore 0.00
-G_M16885_IG19: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ;; size=32 bbWeight=0.00 PerfScore 0.02
+G_M16885_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs -[rcx]
mov dword ptr [rcx], r8d
jmp SHORT G_M16885_IG09
;; size=5 bbWeight=0 PerfScore 0.00
-G_M16885_IG20: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+G_M16885_IG19: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
; gcrRegs +[rcx]
mov dword ptr [rsp+0x20], edx
mov dword ptr [rsp+0x28], r9d
@@ -220,7 +218,7 @@ G_M16885_IG20: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
; gcr arg pop 0
nop
;; size=39 bbWeight=0 PerfScore 0.00
-G_M16885_IG21: ; bbWeight=0, epilog, nogc, extend
+G_M16885_IG20: ; bbWeight=0, epilog, nogc, extend
add rsp, 72
pop rbx
pop rbp
+0 (0.00%) : 12034.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
@@ -93,7 +93,7 @@ G_M10115_IG02: ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
jne G_M10115_IG14
xor ebp, ebp
test ebx, 0xD1FFAB1E
- jne G_M10115_IG20
+ jne G_M10115_IG19
mov rcx, gword ptr [rsi+0x18]
; gcrRegs +[rcx]
mov rcx, gword ptr [rcx+0x08]
@@ -109,27 +109,27 @@ G_M10115_IG03: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
; gcrRegs +[rcx]
mov r12d, dword ptr [rcx+0x08]
cmp r14d, r12d
- jae G_M10115_IG19
+ jae G_M10115_IG18
mov edx, r14d
cmp word ptr [rcx+2*rdx+0x0C], 58
- jne G_M10115_IG25
+ jne G_M10115_IG24
test ebx, 0xD1FFAB1E
je SHORT G_M10115_IG04
mov rcx, r13
cmp r15d, r12d
- jae G_M10115_IG19
+ jae G_M10115_IG18
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 92
- je G_M10115_IG26
+ je G_M10115_IG25
mov rcx, r13
lea edx, [r15+0x01]
cmp edx, r12d
- jae G_M10115_IG19
+ jae G_M10115_IG18
cmp word ptr [rcx+2*rdx+0x0C], 92
- je G_M10115_IG26
+ je G_M10115_IG25
add r15d, 2
test ebx, 0xD1FFAB1E
- jne G_M10115_IG27
+ jne G_M10115_IG26
;; size=121 bbWeight=1 PerfScore 25.00
G_M10115_IG04: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx r13]
@@ -146,16 +146,16 @@ G_M10115_IG05: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
mov ecx, ebx
and ecx, 0xD1FFAB1E
cmp ecx, 0xD1FFAB1E
- je G_M10115_IG30
+ je G_M10115_IG29
test ebx, 0xD1FFAB1E
- jne G_M10115_IG30
+ jne G_M10115_IG29
mov word ptr [rdi+0x3A], r15w
mov ecx, dword ptr [rsi+0x28]
and ecx, 0xD1FFAB1E
cmp ecx, 0xD1FFAB1E
- je G_M10115_IG31
+ je G_M10115_IG30
test ebx, 0xD1FFAB1E
- jne G_M10115_IG33
+ jne G_M10115_IG32
;; size=70 bbWeight=1 PerfScore 8.75
G_M10115_IG06: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
mov word ptr [rdi+0x3C], r15w
@@ -169,7 +169,7 @@ G_M10115_IG06: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
xor eax, eax
mov rcx, 0xD1FFAB1E
test rbx, rcx
- jne G_M10115_IG34
+ jne G_M10115_IG33
;; size=55 bbWeight=1 PerfScore 5.25
G_M10115_IG07: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
movzx r10, word ptr [rdi+0x46]
@@ -183,7 +183,7 @@ G_M10115_IG07: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
;; size=27 bbWeight=1 PerfScore 8.50
G_M10115_IG08: ; bbWeight=1, gcrefRegs=00C2 {rcx rsi rdi}, byrefRegs=0000 {}, byref
test rcx, rcx
- je G_M10115_IG35
+ je G_M10115_IG34
add rcx, 12
; gcrRegs -[rcx]
; byrRegs +[rcx]
@@ -227,9 +227,9 @@ G_M10115_IG10: ; bbWeight=4, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
;; size=33 bbWeight=4 PerfScore 25.00
G_M10115_IG11: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
test eax, eax
- je G_M10115_IG36
+ je G_M10115_IG35
cmp r14d, edx
- je G_M10115_IG36
+ je G_M10115_IG35
mov word ptr [rdi+0x3E], dx
or rbx, 0xD1FFAB1E
;; size=28 bbWeight=1 PerfScore 3.75
@@ -245,7 +245,7 @@ G_M10115_IG14: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
lea rcx, bword ptr [rsi+0x20]
; byrRegs +[rcx]
test rcx, rcx
- je G_M10115_IG37
+ je G_M10115_IG36
mov rdx, rdi
; gcrRegs +[rdx]
xor r8, r8
@@ -290,69 +290,67 @@ G_M10115_IG17: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
; byrRegs +[rsi]
mov rcx, rax
test ecx, 0xD1FFAB1E
+ jne SHORT G_M10115_IG16
mov rax, rcx
- je SHORT G_M10115_IG15
- ;; size=14 bbWeight=1 PerfScore 1.75
-G_M10115_IG18: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ jmp SHORT G_M10115_IG15
+ ;; size=16 bbWeight=1 PerfScore 3.75
+G_M10115_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; byrRegs -[rsi]
- jmp SHORT G_M10115_IG16
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M10115_IG19: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M10115_IG20: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG19: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rsi rdi]
xor r15d, r15d
- jmp SHORT G_M10115_IG22
+ jmp SHORT G_M10115_IG21
;; size=5 bbWeight=0 PerfScore 0.00
-G_M10115_IG21: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG20: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
inc r15d
lea rax, bword ptr [rdi+0x38]
; byrRegs +[rax]
inc word ptr [rax]
;; size=10 bbWeight=0 PerfScore 0.00
-G_M10115_IG22: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG21: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
; byrRegs -[rax]
mov rcx, gword ptr [rsi+0x08]
; gcrRegs +[rcx]
cmp r15d, dword ptr [rcx+0x08]
- jae SHORT G_M10115_IG19
+ jae SHORT G_M10115_IG18
mov eax, r15d
movzx rcx, word ptr [rcx+2*rax+0x0C]
; gcrRegs -[rcx]
call [System.UriHelper:IsLWS(ushort):ubyte]
; gcr arg pop 0
test eax, eax
- jne SHORT G_M10115_IG21
+ jne SHORT G_M10115_IG20
test ebx, 0xD1FFAB1E
je G_M10115_IG04
add r15d, 2
movzx rax, bx
- jmp SHORT G_M10115_IG24
+ jmp SHORT G_M10115_IG23
;; size=49 bbWeight=0 PerfScore 0.00
-G_M10115_IG23: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG22: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
inc r15d
;; size=3 bbWeight=0 PerfScore 0.00
-G_M10115_IG24: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG23: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
cmp r15d, eax
jge G_M10115_IG04
mov rcx, gword ptr [rsi+0x08]
; gcrRegs +[rcx]
cmp r15d, dword ptr [rcx+0x08]
- jae SHORT G_M10115_IG19
+ jae SHORT G_M10115_IG18
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 47
- je SHORT G_M10115_IG23
+ je SHORT G_M10115_IG22
mov rcx, gword ptr [rsi+0x08]
cmp r15d, dword ptr [rcx+0x08]
- jae SHORT G_M10115_IG19
+ jae SHORT G_M10115_IG18
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 92
- je SHORT G_M10115_IG23
+ je SHORT G_M10115_IG22
jmp G_M10115_IG04
;; size=56 bbWeight=0 PerfScore 0.00
-G_M10115_IG25: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG24: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
lea rax, bword ptr [rdi+0x38]
; byrRegs +[rax]
@@ -360,7 +358,7 @@ G_M10115_IG25: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
mov r14d, r15d
jmp G_M10115_IG03
;; size=15 bbWeight=0 PerfScore 0.00
-G_M10115_IG26: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M10115_IG25: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
; gcrRegs +[r13]
; byrRegs -[rax]
mov ebp, 1
@@ -368,31 +366,31 @@ G_M10115_IG26: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000
test ebx, 0xD1FFAB1E
je G_M10115_IG04
;; size=21 bbWeight=0 PerfScore 0.00
-G_M10115_IG27: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG26: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref, isz
movzx rax, bx
- jmp SHORT G_M10115_IG29
+ jmp SHORT G_M10115_IG28
;; size=5 bbWeight=0 PerfScore 0.00
-G_M10115_IG28: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M10115_IG27: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
mov ebp, 1
inc r15d
;; size=8 bbWeight=0 PerfScore 0.00
-G_M10115_IG29: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG28: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref, isz
cmp r15d, eax
jge G_M10115_IG04
mov rcx, r13
; gcrRegs +[rcx]
cmp r15d, r12d
- jae G_M10115_IG19
+ jae G_M10115_IG18
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 47
- je SHORT G_M10115_IG28
+ je SHORT G_M10115_IG27
mov rcx, r13
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 92
- je SHORT G_M10115_IG28
+ je SHORT G_M10115_IG27
jmp G_M10115_IG04
;; size=51 bbWeight=0 PerfScore 0.00
-G_M10115_IG30: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG29: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx r13]
mov word ptr [rdi+0x3A], bx
movzx rax, word ptr [rdi+0x3A]
@@ -406,27 +404,27 @@ G_M10115_IG30: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
cmovne rbx, rax
jmp G_M10115_IG14
;; size=45 bbWeight=0 PerfScore 0.00
-G_M10115_IG31: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG30: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
mov word ptr [rdi+0x3C], r15w
mov word ptr [rdi+0x40], bx
and rbx, -0x10000
...
+0 (0.00%) : 19466.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
@@ -93,7 +93,7 @@ G_M10115_IG02: ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
jne G_M10115_IG15
xor ebp, ebp
test ebx, 0xD1FFAB1E
- jne G_M10115_IG21
+ jne G_M10115_IG20
mov rcx, gword ptr [rsi+0x18]
; gcrRegs +[rcx]
mov rcx, gword ptr [rcx+0x08]
@@ -109,27 +109,27 @@ G_M10115_IG03: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
; gcrRegs +[rcx]
mov r12d, dword ptr [rcx+0x08]
cmp r14d, r12d
- jae G_M10115_IG20
+ jae G_M10115_IG19
mov edx, r14d
cmp word ptr [rcx+2*rdx+0x0C], 58
- jne G_M10115_IG26
+ jne G_M10115_IG25
test ebx, 0xD1FFAB1E
je SHORT G_M10115_IG04
mov rcx, r13
cmp r15d, r12d
- jae G_M10115_IG20
+ jae G_M10115_IG19
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 92
- je G_M10115_IG27
+ je G_M10115_IG26
mov rcx, r13
lea edx, [r15+0x01]
cmp edx, r12d
- jae G_M10115_IG20
+ jae G_M10115_IG19
cmp word ptr [rcx+2*rdx+0x0C], 92
- je G_M10115_IG27
+ je G_M10115_IG26
add r15d, 2
test ebx, 0xD1FFAB1E
- jne G_M10115_IG28
+ jne G_M10115_IG27
;; size=121 bbWeight=1 PerfScore 25.00
G_M10115_IG04: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx r13]
@@ -146,16 +146,16 @@ G_M10115_IG05: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
mov ecx, ebx
and ecx, 0xD1FFAB1E
cmp ecx, 0xD1FFAB1E
- je G_M10115_IG31
+ je G_M10115_IG30
test ebx, 0xD1FFAB1E
- jne G_M10115_IG31
+ jne G_M10115_IG30
mov word ptr [rdi+0x3A], r15w
mov ecx, dword ptr [rsi+0x28]
and ecx, 0xD1FFAB1E
cmp ecx, 0xD1FFAB1E
- je G_M10115_IG32
+ je G_M10115_IG31
test ebx, 0xD1FFAB1E
- jne G_M10115_IG34
+ jne G_M10115_IG33
;; size=70 bbWeight=1 PerfScore 8.75
G_M10115_IG06: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
mov word ptr [rdi+0x3C], r15w
@@ -169,7 +169,7 @@ G_M10115_IG06: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
xor eax, eax
mov rcx, 0xD1FFAB1E
test rbx, rcx
- jne G_M10115_IG35
+ jne G_M10115_IG34
;; size=55 bbWeight=1 PerfScore 5.25
G_M10115_IG07: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
movzx r10, word ptr [rdi+0x46]
@@ -183,7 +183,7 @@ G_M10115_IG07: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
;; size=27 bbWeight=1 PerfScore 8.50
G_M10115_IG08: ; bbWeight=1, gcrefRegs=00C2 {rcx rsi rdi}, byrefRegs=0000 {}, byref
test rcx, rcx
- je G_M10115_IG36
+ je G_M10115_IG35
add rcx, 12
; gcrRegs -[rcx]
; byrRegs +[rcx]
@@ -229,9 +229,9 @@ G_M10115_IG11: ; bbWeight=4, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
;; size=15 bbWeight=4 PerfScore 10.00
G_M10115_IG12: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
test eax, eax
- je G_M10115_IG37
+ je G_M10115_IG36
cmp r14d, edx
- je G_M10115_IG37
+ je G_M10115_IG36
mov word ptr [rdi+0x3E], dx
or rbx, 0xD1FFAB1E
;; size=28 bbWeight=1 PerfScore 3.75
@@ -247,7 +247,7 @@ G_M10115_IG15: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
lea rcx, bword ptr [rsi+0x20]
; byrRegs +[rcx]
test rcx, rcx
- je G_M10115_IG38
+ je G_M10115_IG37
mov rdx, rdi
; gcrRegs +[rdx]
xor r8, r8
@@ -292,69 +292,67 @@ G_M10115_IG18: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
; byrRegs +[rsi]
mov rcx, rax
test ecx, 0xD1FFAB1E
+ jne SHORT G_M10115_IG17
mov rax, rcx
- je SHORT G_M10115_IG16
- ;; size=14 bbWeight=1 PerfScore 1.75
-G_M10115_IG19: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+ jmp SHORT G_M10115_IG16
+ ;; size=16 bbWeight=1 PerfScore 3.75
+G_M10115_IG19: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; byrRegs -[rsi]
- jmp SHORT G_M10115_IG17
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M10115_IG20: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M10115_IG21: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG20: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rsi rdi]
xor r15d, r15d
- jmp SHORT G_M10115_IG23
+ jmp SHORT G_M10115_IG22
;; size=5 bbWeight=0 PerfScore 0.00
-G_M10115_IG22: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG21: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
inc r15d
lea rax, bword ptr [rdi+0x38]
; byrRegs +[rax]
inc word ptr [rax]
;; size=10 bbWeight=0 PerfScore 0.00
-G_M10115_IG23: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG22: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
; byrRegs -[rax]
mov rcx, gword ptr [rsi+0x08]
; gcrRegs +[rcx]
cmp r15d, dword ptr [rcx+0x08]
- jae SHORT G_M10115_IG20
+ jae SHORT G_M10115_IG19
mov eax, r15d
movzx rcx, word ptr [rcx+2*rax+0x0C]
; gcrRegs -[rcx]
call [System.UriHelper:IsLWS(ushort):ubyte]
; gcr arg pop 0
test eax, eax
- jne SHORT G_M10115_IG22
+ jne SHORT G_M10115_IG21
test ebx, 0xD1FFAB1E
je G_M10115_IG04
add r15d, 2
movzx rax, bx
- jmp SHORT G_M10115_IG25
+ jmp SHORT G_M10115_IG24
;; size=49 bbWeight=0 PerfScore 0.00
-G_M10115_IG24: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG23: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
inc r15d
;; size=3 bbWeight=0 PerfScore 0.00
-G_M10115_IG25: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG24: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
cmp r15d, eax
jge G_M10115_IG04
mov rcx, gword ptr [rsi+0x08]
; gcrRegs +[rcx]
cmp r15d, dword ptr [rcx+0x08]
- jae SHORT G_M10115_IG20
+ jae SHORT G_M10115_IG19
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 47
- je SHORT G_M10115_IG24
+ je SHORT G_M10115_IG23
mov rcx, gword ptr [rsi+0x08]
cmp r15d, dword ptr [rcx+0x08]
- jae SHORT G_M10115_IG20
+ jae SHORT G_M10115_IG19
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 92
- je SHORT G_M10115_IG24
+ je SHORT G_M10115_IG23
jmp G_M10115_IG04
;; size=56 bbWeight=0 PerfScore 0.00
-G_M10115_IG26: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG25: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
lea rax, bword ptr [rdi+0x38]
; byrRegs +[rax]
@@ -362,7 +360,7 @@ G_M10115_IG26: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
mov r14d, r15d
jmp G_M10115_IG03
;; size=15 bbWeight=0 PerfScore 0.00
-G_M10115_IG27: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M10115_IG26: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
; gcrRegs +[r13]
; byrRegs -[rax]
mov ebp, 1
@@ -370,31 +368,31 @@ G_M10115_IG27: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000
test ebx, 0xD1FFAB1E
je G_M10115_IG04
;; size=21 bbWeight=0 PerfScore 0.00
-G_M10115_IG28: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG27: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref, isz
movzx rax, bx
- jmp SHORT G_M10115_IG30
+ jmp SHORT G_M10115_IG29
;; size=5 bbWeight=0 PerfScore 0.00
-G_M10115_IG29: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M10115_IG28: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
mov ebp, 1
inc r15d
;; size=8 bbWeight=0 PerfScore 0.00
-G_M10115_IG30: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG29: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref, isz
cmp r15d, eax
jge G_M10115_IG04
mov rcx, r13
; gcrRegs +[rcx]
cmp r15d, r12d
- jae G_M10115_IG20
+ jae G_M10115_IG19
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 47
- je SHORT G_M10115_IG29
+ je SHORT G_M10115_IG28
mov rcx, r13
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 92
- je SHORT G_M10115_IG29
+ je SHORT G_M10115_IG28
jmp G_M10115_IG04
;; size=51 bbWeight=0 PerfScore 0.00
-G_M10115_IG31: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG30: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx r13]
mov word ptr [rdi+0x3A], bx
movzx rax, word ptr [rdi+0x3A]
@@ -408,27 +406,27 @@ G_M10115_IG31: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
cmovne rbx, rax
jmp G_M10115_IG15
;; size=45 bbWeight=0 PerfScore 0.00
-G_M10115_IG32: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG31: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
mov word ptr [rdi+0x3C], r15w
mov word ptr [rdi+0x40], bx
and rbx, -0x10000
...
+4 (+1.04%) : 52252.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
@@ -54,7 +54,7 @@ G_M48169_IG02: ; bbWeight=1, gcVars=0000000000000001 {V00}, gcrefRegs=000
mov dword ptr [rbp-0x18], 1
mov dword ptr [rbp-0x20], 9
cmp byte ptr [rbp-0x30], 0
- jne G_M48169_IG07
+ jne G_M48169_IG08
;; size=24 bbWeight=1 PerfScore 5.00
G_M48169_IG03: ; bbWeight=1.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
lea rdx, [rbp-0x30]
@@ -68,7 +68,7 @@ G_M48169_IG03: ; bbWeight=1.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
mov ecx, dword ptr [rax+0x34]
and ecx, 0xD1FFAB1E
cmp ecx, 0xD1FFAB1E
- je SHORT G_M48169_IG06
+ je SHORT G_M48169_IG05
;; size=44 bbWeight=1.00 PerfScore 9.50
G_M48169_IG04: ; bbWeight=1.00, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
mov ecx, dword ptr [rbp-0x20]
@@ -97,45 +97,49 @@ G_M48169_IG04: ; bbWeight=1.00, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
mov rax, gword ptr [rbp-0x40]
; gcrRegs +[rax]
test rax, rax
- jne SHORT G_M48169_IG09
- ;; size=88 bbWeight=1.00 PerfScore 21.33
-G_M48169_IG05: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rax]
- lea rcx, [rbp-0x40]
- call [<unknown method>]
- ; gcrRegs +[rax]
- ; gcr arg pop 0
- jmp SHORT G_M48169_IG09
- ;; size=12 bbWeight=0 PerfScore 0.00
-G_M48169_IG06: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ je SHORT G_M48169_IG07
+ jmp SHORT G_M48169_IG10
+ ;; size=90 bbWeight=1.00 PerfScore 23.33
+G_M48169_IG05: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
cmp byte ptr [rbp-0x30], 0
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
je G_M48169_IG03
;; size=14 bbWeight=1.00 PerfScore 4.00
-G_M48169_IG07: ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48169_IG06: ; bbWeight=0.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+ jmp SHORT G_M48169_IG08
+ ;; size=2 bbWeight=0.00 PerfScore 0.00
+G_M48169_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx]
+ lea rcx, [rbp-0x40]
+ call [<unknown method>]
+ ; gcrRegs +[rax]
+ ; gcr arg pop 0
+ jmp SHORT G_M48169_IG10
+ ;; size=12 bbWeight=0 PerfScore 0.00
+G_M48169_IG08: ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+ ; gcrRegs -[rax]
; GC ptr vars -{V00}
mov rax, 0xD1FFAB1E ; const ptr
mov rax, gword ptr [rax]
; gcrRegs +[rax]
;; size=13 bbWeight=0.00 PerfScore 0.00
-G_M48169_IG08: ; bbWeight=0.00, epilog, nogc, extend
+G_M48169_IG09: ; bbWeight=0.00, epilog, nogc, extend
add rsp, 144
pop rbx
pop rsi
pop rbp
ret
;; size=11 bbWeight=0.00 PerfScore 0.00
-G_M48169_IG09: ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
+G_M48169_IG10: ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
add rsp, 144
pop rbx
pop rsi
pop rbp
ret
;; size=11 bbWeight=1.00 PerfScore 2.75
-G_M48169_IG10: ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M48169_IG11: ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
; gcrRegs -[rax] +[rdx]
push rbp
push rsi
@@ -146,7 +150,7 @@ G_M48169_IG10: ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byr
mov qword ptr [rsp+0x28], rbp
lea rbp, [rbp+0xA0]
;; size=26 bbWeight=0 PerfScore 0.00
-G_M48169_IG11: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
+G_M48169_IG12: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars +{V00}
mov rbx, rdx
; gcrRegs +[rbx]
@@ -156,16 +160,15 @@ G_M48169_IG11: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
; gcr arg pop 0
mov rsi, rax
; gcrRegs +[rsi]
- mov r9, gword ptr [rbp+0x10]
- ; gcrRegs +[r9]
- mov r8, gword ptr [r9+0x30]
+ mov rcx, gword ptr [rbp+0x10]
+ ; gcrRegs +[rcx]
+ mov r8, gword ptr [rcx+0x30]
; gcrRegs +[r8]
- mov rdx, gword ptr [r9+0x48]
+ mov rdx, gword ptr [rcx+0x48]
; gcrRegs +[rdx]
mov rcx, rsi
- ; gcrRegs +[rcx]
call [<unknown method>]
- ; gcrRegs -[rax rcx rdx r8-r9]
+ ; gcrRegs -[rax rcx rdx r8]
; gcr arg pop 0
mov rcx, rbx
; gcrRegs +[rcx]
@@ -179,19 +182,20 @@ G_M48169_IG11: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
call [<unknown method>]
; gcrRegs -[rax rcx rdx]
; gcr arg pop 0
- mov r9, gword ptr [rbp+0x10]
- ; gcrRegs +[r9]
- lea rcx, bword ptr [r9+0x50]
+ mov rcx, gword ptr [rbp+0x10]
+ ; gcrRegs +[rcx]
+ lea rcx, bword ptr [rcx+0x50]
+ ; gcrRegs -[rcx]
; byrRegs +[rcx]
mov rdx, rsi
; gcrRegs +[rdx]
; GC ptr vars -{V00}
call CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[rdx rsi r9]
+ ; gcrRegs -[rdx rsi]
; byrRegs -[rcx]
- lea rax, G_M48169_IG07
+ lea rax, G_M48169_IG08
;; size=86 bbWeight=0 PerfScore 0.00
-G_M48169_IG12: ; bbWeight=0, funclet epilog, nogc, extend
+G_M48169_IG13: ; bbWeight=0, funclet epilog, nogc, extend
add rsp, 48
pop rbx
pop rsi
@@ -199,7 +203,7 @@ G_M48169_IG12: ; bbWeight=0, funclet epilog, nogc, extend
ret
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 386, prolog size 49, PerfScore 52.92, instruction count 98, allocated bytes for code 386 (MethodHash=869643d6) for method Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
+; Total bytes of code 390, prolog size 49, PerfScore 54.92, instruction count 100, allocated bytes for code 390 (MethodHash=869643d6) for method Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
; ============================================================
Unwind Info:
@@ -233,4 +237,4 @@ Unwind Info:
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
*************** EH table for Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this
1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M48169_IG02..G_M48169_IG07) handled by [G_M48169_IG10..END) (class: 1000056)
+EH#0: try [G_M48169_IG02..G_M48169_IG08) handled by [G_M48169_IG11..END) (class: 1000056)
+4 (+1.04%) : 60172.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
@@ -54,7 +54,7 @@ G_M48169_IG02: ; bbWeight=1, gcVars=0000000000000001 {V00}, gcrefRegs=000
mov dword ptr [rbp-0x18], 1
mov dword ptr [rbp-0x20], 9
cmp byte ptr [rbp-0x30], 0
- jne G_M48169_IG07
+ jne G_M48169_IG08
;; size=24 bbWeight=1 PerfScore 5.00
G_M48169_IG03: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
lea rdx, [rbp-0x30]
@@ -68,7 +68,7 @@ G_M48169_IG03: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
mov ecx, dword ptr [rax+0x34]
and ecx, 0xD1FFAB1E
cmp ecx, 0xD1FFAB1E
- je SHORT G_M48169_IG06
+ je SHORT G_M48169_IG05
;; size=44 bbWeight=1 PerfScore 9.50
G_M48169_IG04: ; bbWeight=1.00, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
mov ecx, dword ptr [rbp-0x20]
@@ -97,45 +97,49 @@ G_M48169_IG04: ; bbWeight=1.00, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
mov rax, gword ptr [rbp-0x40]
; gcrRegs +[rax]
test rax, rax
- jne SHORT G_M48169_IG09
- ;; size=88 bbWeight=1.00 PerfScore 21.33
-G_M48169_IG05: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rax]
- lea rcx, [rbp-0x40]
- call [<unknown method>]
- ; gcrRegs +[rax]
- ; gcr arg pop 0
- jmp SHORT G_M48169_IG09
- ;; size=12 bbWeight=0 PerfScore 0.00
-G_M48169_IG06: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ je SHORT G_M48169_IG07
+ jmp SHORT G_M48169_IG10
+ ;; size=90 bbWeight=1.00 PerfScore 23.33
+G_M48169_IG05: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
cmp byte ptr [rbp-0x30], 0
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
je G_M48169_IG03
;; size=14 bbWeight=1.00 PerfScore 4.00
-G_M48169_IG07: ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48169_IG06: ; bbWeight=0.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+ jmp SHORT G_M48169_IG08
+ ;; size=2 bbWeight=0.00 PerfScore 0.00
+G_M48169_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx]
+ lea rcx, [rbp-0x40]
+ call [<unknown method>]
+ ; gcrRegs +[rax]
+ ; gcr arg pop 0
+ jmp SHORT G_M48169_IG10
+ ;; size=12 bbWeight=0 PerfScore 0.00
+G_M48169_IG08: ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+ ; gcrRegs -[rax]
; GC ptr vars -{V00}
mov rax, 0xD1FFAB1E ; const ptr
mov rax, gword ptr [rax]
; gcrRegs +[rax]
;; size=13 bbWeight=0.00 PerfScore 0.00
-G_M48169_IG08: ; bbWeight=0.00, epilog, nogc, extend
+G_M48169_IG09: ; bbWeight=0.00, epilog, nogc, extend
add rsp, 144
pop rbx
pop rsi
pop rbp
ret
;; size=11 bbWeight=0.00 PerfScore 0.00
-G_M48169_IG09: ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
+G_M48169_IG10: ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
add rsp, 144
pop rbx
pop rsi
pop rbp
ret
;; size=11 bbWeight=1.00 PerfScore 2.75
-G_M48169_IG10: ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M48169_IG11: ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
; gcrRegs -[rax] +[rdx]
push rbp
push rsi
@@ -146,7 +150,7 @@ G_M48169_IG10: ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byr
mov qword ptr [rsp+0x28], rbp
lea rbp, [rbp+0xA0]
;; size=26 bbWeight=0 PerfScore 0.00
-G_M48169_IG11: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
+G_M48169_IG12: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars +{V00}
mov rbx, rdx
; gcrRegs +[rbx]
@@ -156,16 +160,15 @@ G_M48169_IG11: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
; gcr arg pop 0
mov rsi, rax
; gcrRegs +[rsi]
- mov r9, gword ptr [rbp+0x10]
- ; gcrRegs +[r9]
- mov r8, gword ptr [r9+0x30]
+ mov rcx, gword ptr [rbp+0x10]
+ ; gcrRegs +[rcx]
+ mov r8, gword ptr [rcx+0x30]
; gcrRegs +[r8]
- mov rdx, gword ptr [r9+0x48]
+ mov rdx, gword ptr [rcx+0x48]
; gcrRegs +[rdx]
mov rcx, rsi
- ; gcrRegs +[rcx]
call [<unknown method>]
- ; gcrRegs -[rax rcx rdx r8-r9]
+ ; gcrRegs -[rax rcx rdx r8]
; gcr arg pop 0
mov rcx, rbx
; gcrRegs +[rcx]
@@ -179,19 +182,20 @@ G_M48169_IG11: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
call [<unknown method>]
; gcrRegs -[rax rcx rdx]
; gcr arg pop 0
- mov r9, gword ptr [rbp+0x10]
- ; gcrRegs +[r9]
- lea rcx, bword ptr [r9+0x50]
+ mov rcx, gword ptr [rbp+0x10]
+ ; gcrRegs +[rcx]
+ lea rcx, bword ptr [rcx+0x50]
+ ; gcrRegs -[rcx]
; byrRegs +[rcx]
mov rdx, rsi
; gcrRegs +[rdx]
; GC ptr vars -{V00}
call CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[rdx rsi r9]
+ ; gcrRegs -[rdx rsi]
; byrRegs -[rcx]
- lea rax, G_M48169_IG07
+ lea rax, G_M48169_IG08
;; size=86 bbWeight=0 PerfScore 0.00
-G_M48169_IG12: ; bbWeight=0, funclet epilog, nogc, extend
+G_M48169_IG13: ; bbWeight=0, funclet epilog, nogc, extend
add rsp, 48
pop rbx
pop rsi
@@ -199,7 +203,7 @@ G_M48169_IG12: ; bbWeight=0, funclet epilog, nogc, extend
ret
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 386, prolog size 49, PerfScore 52.92, instruction count 98, allocated bytes for code 386 (MethodHash=869643d6) for method Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
+; Total bytes of code 390, prolog size 49, PerfScore 54.92, instruction count 100, allocated bytes for code 390 (MethodHash=869643d6) for method Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
; ============================================================
Unwind Info:
@@ -233,4 +237,4 @@ Unwind Info:
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
*************** EH table for Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this
1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M48169_IG02..G_M48169_IG07) handled by [G_M48169_IG10..END) (class: 1000056)
+EH#0: try [G_M48169_IG02..G_M48169_IG08) handled by [G_M48169_IG11..END) (class: 1000056)
+4 (+1.04%) : 66048.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
@@ -54,7 +54,7 @@ G_M48169_IG02: ; bbWeight=1, gcVars=0000000000000001 {V00}, gcrefRegs=000
mov dword ptr [rbp-0x18], 1
mov dword ptr [rbp-0x20], 9
cmp byte ptr [rbp-0x30], 0
- jne G_M48169_IG07
+ jne G_M48169_IG08
;; size=24 bbWeight=1 PerfScore 5.00
G_M48169_IG03: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
lea rdx, [rbp-0x30]
@@ -68,7 +68,7 @@ G_M48169_IG03: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
mov ecx, dword ptr [rax+0x34]
and ecx, 0xD1FFAB1E
cmp ecx, 0xD1FFAB1E
- je SHORT G_M48169_IG06
+ je SHORT G_M48169_IG05
;; size=44 bbWeight=1 PerfScore 9.50
G_M48169_IG04: ; bbWeight=1.00, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
mov ecx, dword ptr [rbp-0x20]
@@ -97,45 +97,49 @@ G_M48169_IG04: ; bbWeight=1.00, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
mov rax, gword ptr [rbp-0x40]
; gcrRegs +[rax]
test rax, rax
- jne SHORT G_M48169_IG09
- ;; size=88 bbWeight=1.00 PerfScore 21.33
-G_M48169_IG05: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs -[rax]
- lea rcx, [rbp-0x40]
- call [<unknown method>]
- ; gcrRegs +[rax]
- ; gcr arg pop 0
- jmp SHORT G_M48169_IG09
- ;; size=12 bbWeight=0 PerfScore 0.00
-G_M48169_IG06: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+ je SHORT G_M48169_IG07
+ jmp SHORT G_M48169_IG10
+ ;; size=90 bbWeight=1.00 PerfScore 23.33
+G_M48169_IG05: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
cmp byte ptr [rbp-0x30], 0
mov rcx, gword ptr [rbp+0x10]
; gcrRegs +[rcx]
je G_M48169_IG03
;; size=14 bbWeight=1.00 PerfScore 4.00
-G_M48169_IG07: ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48169_IG06: ; bbWeight=0.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
+ jmp SHORT G_M48169_IG08
+ ;; size=2 bbWeight=0.00 PerfScore 0.00
+G_M48169_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx]
+ lea rcx, [rbp-0x40]
+ call [<unknown method>]
+ ; gcrRegs +[rax]
+ ; gcr arg pop 0
+ jmp SHORT G_M48169_IG10
+ ;; size=12 bbWeight=0 PerfScore 0.00
+G_M48169_IG08: ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+ ; gcrRegs -[rax]
; GC ptr vars -{V00}
mov rax, 0xD1FFAB1E ; const ptr
mov rax, gword ptr [rax]
; gcrRegs +[rax]
;; size=13 bbWeight=0.00 PerfScore 0.00
-G_M48169_IG08: ; bbWeight=0.00, epilog, nogc, extend
+G_M48169_IG09: ; bbWeight=0.00, epilog, nogc, extend
add rsp, 144
pop rbx
pop rsi
pop rbp
ret
;; size=11 bbWeight=0.00 PerfScore 0.00
-G_M48169_IG09: ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
+G_M48169_IG10: ; bbWeight=1.00, gcVars=0000000000000000 {}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
add rsp, 144
pop rbx
pop rsi
pop rbp
ret
;; size=11 bbWeight=1.00 PerfScore 2.75
-G_M48169_IG10: ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M48169_IG11: ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
; gcrRegs -[rax] +[rdx]
push rbp
push rsi
@@ -146,7 +150,7 @@ G_M48169_IG10: ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byr
mov qword ptr [rsp+0x28], rbp
lea rbp, [rbp+0xA0]
;; size=26 bbWeight=0 PerfScore 0.00
-G_M48169_IG11: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
+G_M48169_IG12: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars +{V00}
mov rbx, rdx
; gcrRegs +[rbx]
@@ -156,16 +160,15 @@ G_M48169_IG11: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
; gcr arg pop 0
mov rsi, rax
; gcrRegs +[rsi]
- mov r9, gword ptr [rbp+0x10]
- ; gcrRegs +[r9]
- mov r8, gword ptr [r9+0x30]
+ mov rcx, gword ptr [rbp+0x10]
+ ; gcrRegs +[rcx]
+ mov r8, gword ptr [rcx+0x30]
; gcrRegs +[r8]
- mov rdx, gword ptr [r9+0x48]
+ mov rdx, gword ptr [rcx+0x48]
; gcrRegs +[rdx]
mov rcx, rsi
- ; gcrRegs +[rcx]
call [<unknown method>]
- ; gcrRegs -[rax rcx rdx r8-r9]
+ ; gcrRegs -[rax rcx rdx r8]
; gcr arg pop 0
mov rcx, rbx
; gcrRegs +[rcx]
@@ -179,19 +182,20 @@ G_M48169_IG11: ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
call [<unknown method>]
; gcrRegs -[rax rcx rdx]
; gcr arg pop 0
- mov r9, gword ptr [rbp+0x10]
- ; gcrRegs +[r9]
- lea rcx, bword ptr [r9+0x50]
+ mov rcx, gword ptr [rbp+0x10]
+ ; gcrRegs +[rcx]
+ lea rcx, bword ptr [rcx+0x50]
+ ; gcrRegs -[rcx]
; byrRegs +[rcx]
mov rdx, rsi
; gcrRegs +[rdx]
; GC ptr vars -{V00}
call CORINFO_HELP_ASSIGN_REF
- ; gcrRegs -[rdx rsi r9]
+ ; gcrRegs -[rdx rsi]
; byrRegs -[rcx]
- lea rax, G_M48169_IG07
+ lea rax, G_M48169_IG08
;; size=86 bbWeight=0 PerfScore 0.00
-G_M48169_IG12: ; bbWeight=0, funclet epilog, nogc, extend
+G_M48169_IG13: ; bbWeight=0, funclet epilog, nogc, extend
add rsp, 48
pop rbx
pop rsi
@@ -199,7 +203,7 @@ G_M48169_IG12: ; bbWeight=0, funclet epilog, nogc, extend
ret
;; size=8 bbWeight=0 PerfScore 0.00
-; Total bytes of code 386, prolog size 49, PerfScore 52.92, instruction count 98, allocated bytes for code 386 (MethodHash=869643d6) for method Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
+; Total bytes of code 390, prolog size 49, PerfScore 54.92, instruction count 100, allocated bytes for code 390 (MethodHash=869643d6) for method Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
; ============================================================
Unwind Info:
@@ -233,4 +237,4 @@ Unwind Info:
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
*************** EH table for Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this
1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M48169_IG02..G_M48169_IG07) handled by [G_M48169_IG10..END) (class: 1000056)
+EH#0: try [G_M48169_IG02..G_M48169_IG08) handled by [G_M48169_IG11..END) (class: 1000056)
benchmarks.run_pgo.windows.x64.checked.mch
-5 (-1.19%) : 90334.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
@@ -64,103 +64,100 @@ G_M4144_IG02: ; bbWeight=1, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, b
mov esi, dword ptr [rdx+0x14]
mov edi, dword ptr [rdx+0x10]
mov dword ptr [rsp+0x24], edi
- jmp SHORT G_M4144_IG10
+ jmp SHORT G_M4144_IG08
;; size=24 bbWeight=1 PerfScore 12.00
G_M4144_IG03: ; bbWeight=0.82, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
mov r10d, dword ptr [rdx+0x1C]
mov edi, dword ptr [rsp+0x24]
lea r10d, [r10+rdi-0x01]
;; size=13 bbWeight=0.82 PerfScore 3.28
-G_M4144_IG04: ; bbWeight=1.00, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG04: ; bbWeight=1.00, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
inc r9d
cmp r10d, r9d
- jge SHORT G_M4144_IG07
- ;; size=8 bbWeight=1.00 PerfScore 1.50
-G_M4144_IG05: ; bbWeight=0.05, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
- jmp G_M4144_IG15
- ;; size=5 bbWeight=0.05 PerfScore 0.10
-G_M4144_IG06: ; bbWeight=0.10, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
- mov r9d, dword ptr [rdx+0x1C]
- cmp r10d, r9d
- jl G_M4144_IG15
- ;; size=13 bbWeight=0.10 PerfScore 0.32
-G_M4144_IG07: ; bbWeight=0.91, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref, isz
+ jl G_M4144_IG14
+ ;; size=12 bbWeight=1.00 PerfScore 1.50
+G_M4144_IG05: ; bbWeight=0.91, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref, isz
mov ebp, dword ptr [rdx+0x20]
cmp eax, ebp
jl SHORT G_M4144_IG04
;; size=7 bbWeight=0.91 PerfScore 2.96
-G_M4144_IG08: ; bbWeight=0.46, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
+G_M4144_IG06: ; bbWeight=0.46, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
mov r10d, ebp
;; size=3 bbWeight=0.46 PerfScore 0.11
-G_M4144_IG09: ; bbWeight=9.10, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
+G_M4144_IG07: ; bbWeight=9.10, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
mov eax, r11d
;; size=3 bbWeight=9.10 PerfScore 2.27
-G_M4144_IG10: ; bbWeight=9.10, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
+G_M4144_IG08: ; bbWeight=9.10, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
cmp ebx, eax
- jl G_M4144_IG13
+ jl G_M4144_IG11
;; size=8 bbWeight=9.10 PerfScore 11.37
-G_M4144_IG11: ; bbWeight=8.27, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
+G_M4144_IG09: ; bbWeight=8.27, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
mov ebp, r9d
sub ebp, dword ptr [r8+0x1C]
mov r14d, dword ptr [r8+0x10]
;; size=11 bbWeight=8.27 PerfScore 43.42
-G_M4144_IG12: ; bbWeight=90.90, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref, isz
+G_M4144_IG10: ; bbWeight=90.90, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref, isz
mov r15d, ebp
cmp r15d, r14d
- jae G_M4144_IG18
+ jae G_M4144_IG17
mov r13d, dword ptr [r8+0x14]
imul r15d, r13d
mov r12d, r10d
sub r12d, dword ptr [r8+0x20]
cmp r12d, r13d
- jae G_M4144_IG18
+ jae G_M4144_IG17
add r15d, r12d
mov r13d, dword ptr [r8+0x18]
imul r15d, r13d
mov r12d, eax
sub r12d, dword ptr [r8+0x24]
cmp r12d, r13d
- jae G_M4144_IG18
+ jae G_M4144_IG17
add r15d, r12d
mov r13d, r9d
sub r13d, dword ptr [rdx+0x1C]
cmp r13d, dword ptr [rdx+0x10]
- jae G_M4144_IG18
+ jae G_M4144_IG17
mov r12d, dword ptr [rdx+0x14]
imul r13d, r12d
mov edi, r10d
sub edi, dword ptr [rdx+0x20]
cmp edi, r12d
- jae SHORT G_M4144_IG18
+ jae SHORT G_M4144_IG17
add edi, r13d
mov r13d, dword ptr [rdx+0x18]
imul edi, r13d
mov r12d, eax
sub r12d, dword ptr [rdx+0x24]
cmp r12d, r13d
- jae SHORT G_M4144_IG18
+ jae SHORT G_M4144_IG17
add edi, r12d
mov edi, dword ptr [rdx+4*rdi+0x28]
mov dword ptr [r8+4*r15+0x28], edi
inc eax
cmp ebx, eax
- jge G_M4144_IG12
+ jge G_M4144_IG10
;; size=147 bbWeight=90.90 PerfScore 4385.97
-G_M4144_IG13: ; bbWeight=9.10, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
+G_M4144_IG11: ; bbWeight=9.10, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
inc r10d
mov eax, dword ptr [rdx+0x20]
lea eax, [rax+rsi-0x01]
cmp eax, r10d
- jge G_M4144_IG09
+ jge G_M4144_IG07
;; size=19 bbWeight=9.10 PerfScore 40.95
-G_M4144_IG14: ; bbWeight=0.82, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
+G_M4144_IG12: ; bbWeight=0.82, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
jmp G_M4144_IG03
;; size=5 bbWeight=0.82 PerfScore 1.64
-G_M4144_IG15: ; bbWeight=0.10, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
+G_M4144_IG13: ; bbWeight=0.10, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
+ mov r9d, dword ptr [rdx+0x1C]
+ cmp r10d, r9d
+ jge G_M4144_IG05
+ ;; size=13 bbWeight=0.10 PerfScore 0.32
+G_M4144_IG14: ; bbWeight=0.10, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref, isz
dec ecx
- jne G_M4144_IG06
- ;; size=8 bbWeight=0.10 PerfScore 0.12
-G_M4144_IG16: ; bbWeight=0, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
+ jne SHORT G_M4144_IG13
+ ;; size=4 bbWeight=0.10 PerfScore 0.12
+G_M4144_IG15: ; bbWeight=0, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, byref
mov rcx, rdx
; gcrRegs +[rcx]
mov rdx, r8
@@ -169,7 +166,7 @@ G_M4144_IG16: ; bbWeight=0, gcrefRegs=0104 {rdx r8}, byrefRegs=0000 {}, b
; gcr arg pop 0
nop
;; size=13 bbWeight=0 PerfScore 0.00
-G_M4144_IG17: ; bbWeight=0, epilog, nogc, extend
+G_M4144_IG16: ; bbWeight=0, epilog, nogc, extend
add rsp, 184
pop rbx
pop rsi
@@ -181,13 +178,13 @@ G_M4144_IG17: ; bbWeight=0, epilog, nogc, extend
pop rbp
ret
;; size=20 bbWeight=0 PerfScore 0.00
-G_M4144_IG18: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M4144_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 419, prolog size 106, PerfScore 4525.28, instruction count 105, allocated bytes for code 419 (MethodHash=aa90efcf) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
+; Total bytes of code 414, prolog size 106, PerfScore 4525.18, instruction count 104, allocated bytes for code 414 (MethodHash=aa90efcf) for method Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
; ============================================================
Unwind Info:
-7 (-0.20%) : 68905.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
@@ -139,7 +139,7 @@
; V127 tmp121 [V127,T121] ( 2, 0 ) ref -> rdx class-hnd single-def "spilling QMark2" <Microsoft.CodeAnalysis.CSharp.Syntax.QualifiedNameSyntax>
;* V128 tmp122 [V128 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V129 tmp123 [V129 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <Microsoft.CodeAnalysis.GreenNode>
-; V130 tmp124 [V130,T08] ( 41, 1.33) ref -> rax "Single return block return value"
+; V130 tmp124 [V130,T08] ( 42, 1.33) ref -> rax "Single return block return value"
; V131 tmp125 [V131,T122] ( 2, 0 ) ref -> rdx single-def "argument with side effect"
; V132 tmp126 [V132,T123] ( 2, 0 ) ref -> rdx single-def "argument with side effect"
; V133 tmp127 [V133,T124] ( 2, 0 ) ref -> r8 single-def "argument with side effect"
@@ -264,15 +264,15 @@ G_M29879_IG09: ; bbWeight=0, gcVars=0000000000000000000000000000000000000
G_M29879_IG10: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rax] +[rbx rsi rdi]
cmp r14d, 0x22DE
- jne G_M29879_IG160
+ jne G_M29879_IG159
jmp G_M29879_IG139
;; size=18 bbWeight=0 PerfScore 0.00
G_M29879_IG11: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
cmp r14d, 0x2341
je G_M29879_IG80
cmp r14d, 0x2350
- jne G_M29879_IG160
- jmp G_M29879_IG151
+ jne G_M29879_IG159
+ jmp G_M29879_IG150
;; size=31 bbWeight=0 PerfScore 0.00
G_M29879_IG12: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
cmp r14d, 0x2365
@@ -289,14 +289,14 @@ G_M29879_IG12: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
;; size=47 bbWeight=0 PerfScore 0.00
G_M29879_IG13: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
cmp r14d, 0x2365
- jne G_M29879_IG160
- jmp G_M29879_IG157
+ jne G_M29879_IG159
+ jmp G_M29879_IG156
;; size=18 bbWeight=0 PerfScore 0.00
G_M29879_IG14: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
cmp r14d, 0x2373
- je G_M29879_IG147
+ je G_M29879_IG146
cmp r14d, 0x2374
- jne G_M29879_IG160
+ jne G_M29879_IG159
jmp G_M29879_IG132
;; size=31 bbWeight=0 PerfScore 0.00
G_M29879_IG15: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
@@ -1859,23 +1859,16 @@ G_M29879_IG140: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=000
; gcrRegs +[rcx]
mov r8, rdi
; gcrRegs +[r8]
- ;; size=9 bbWeight=0 PerfScore 0.00
-G_M29879_IG141: ; bbWeight=0, epilog, nogc, extend
- add rsp, 104
- pop rbx
- pop rbp
- pop rsi
- pop rdi
- pop r14
- pop r15
- tail.jmp [Microsoft.CodeAnalysis.CSharp.Binder:BindTupleExpression(Microsoft.CodeAnalysis.CSharp.Syntax.TupleExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this]
+ call [Microsoft.CodeAnalysis.CSharp.Binder:BindTupleExpression(Microsoft.CodeAnalysis.CSharp.Syntax.TupleExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this]
+ ; gcrRegs -[rcx rdx rbx rsi rdi r8] +[rax]
; gcr arg pop 0
- ;; size=18 bbWeight=0 PerfScore 0.00
-G_M29879_IG142: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref, isz
- ; gcrRegs -[rcx rdx r8]
+ jmp G_M29879_IG07
+ ;; size=20 bbWeight=0 PerfScore 0.00
+G_M29879_IG141: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs -[rax] +[rbx rsi rdi]
mov rcx, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.Syntax.ThrowExpressionSyntax
cmp qword ptr [rbx], rcx
- je SHORT G_M29879_IG143
+ je SHORT G_M29879_IG142
mov rdx, rbx
; gcrRegs +[rdx]
call CORINFO_HELP_CHKCASTCLASS_SPECIAL
@@ -1883,7 +1876,7 @@ G_M29879_IG142: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
int3
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG143: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+G_M29879_IG142: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rax] +[rbx rsi rdi]
mov rdx, rbx
; gcrRegs +[rdx]
@@ -1892,7 +1885,7 @@ G_M29879_IG143: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=000
mov r8, rdi
; gcrRegs +[r8]
;; size=9 bbWeight=0 PerfScore 0.00
-G_M29879_IG144: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG143: ; bbWeight=0, epilog, nogc, extend
add rsp, 104
pop rbx
pop rbp
@@ -1903,7 +1896,7 @@ G_M29879_IG144: ; bbWeight=0, epilog, nogc, extend
tail.jmp [Microsoft.CodeAnalysis.CSharp.Binder:BindThrowExpression(Microsoft.CodeAnalysis.CSharp.Syntax.ThrowExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this]
; gcr arg pop 0
;; size=18 bbWeight=0 PerfScore 0.00
-G_M29879_IG145: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref
+G_M29879_IG144: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rcx rdx r8]
mov rcx, rsi
; gcrRegs +[rcx]
@@ -1912,7 +1905,7 @@ G_M29879_IG145: ; bbWeight=0, gcVars=000000000000000000000000000000000000
mov r8, rdi
; gcrRegs +[r8]
;; size=9 bbWeight=0 PerfScore 0.00
-G_M29879_IG146: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG145: ; bbWeight=0, epilog, nogc, extend
add rsp, 104
pop rbx
pop rbp
@@ -1923,7 +1916,7 @@ G_M29879_IG146: ; bbWeight=0, epilog, nogc, extend
tail.jmp [Microsoft.CodeAnalysis.CSharp.Binder:BindRefType(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this]
; gcr arg pop 0
;; size=18 bbWeight=0 PerfScore 0.00
-G_M29879_IG147: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref
+G_M29879_IG146: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rcx rdx r8]
mov rcx, rsi
; gcrRegs +[rcx]
@@ -1932,7 +1925,7 @@ G_M29879_IG147: ; bbWeight=0, gcVars=000000000000000000000000000000000000
mov r8, rdi
; gcrRegs +[r8]
;; size=9 bbWeight=0 PerfScore 0.00
-G_M29879_IG148: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG147: ; bbWeight=0, epilog, nogc, extend
add rsp, 104
pop rbx
pop rbp
@@ -1943,7 +1936,7 @@ G_M29879_IG148: ; bbWeight=0, epilog, nogc, extend
tail.jmp [Microsoft.CodeAnalysis.CSharp.Binder:BindScopedType(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this]
; gcr arg pop 0
;; size=18 bbWeight=0 PerfScore 0.00
-G_M29879_IG149: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref
+G_M29879_IG148: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[rcx rdx r8]
mov rcx, rsi
; gcrRegs +[rcx]
@@ -1952,7 +1945,7 @@ G_M29879_IG149: ; bbWeight=0, gcVars=000000000000000000000000000000000000
mov r8, rdi
; gcrRegs +[r8]
;; size=9 bbWeight=0 PerfScore 0.00
-G_M29879_IG150: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG149: ; bbWeight=0, epilog, nogc, extend
add rsp, 104
pop rbx
pop rbp
@@ -1963,11 +1956,11 @@ G_M29879_IG150: ; bbWeight=0, epilog, nogc, extend
tail.jmp [Microsoft.CodeAnalysis.CSharp.Binder:BindRefExpression(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this]
; gcr arg pop 0
;; size=18 bbWeight=0 PerfScore 0.00
-G_M29879_IG151: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M29879_IG150: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[rcx rdx r8]
mov rcx, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.Syntax.DeclarationExpressionSyntax
cmp qword ptr [rbx], rcx
- je SHORT G_M29879_IG152
+ je SHORT G_M29879_IG151
mov rdx, rbx
; gcrRegs +[rdx]
call CORINFO_HELP_CHKCASTCLASS_SPECIAL
@@ -1975,7 +1968,7 @@ G_M29879_IG151: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
int3
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG152: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+G_M29879_IG151: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rax] +[rbx rsi rdi]
mov rdx, rbx
; gcrRegs +[rdx]
@@ -1984,7 +1977,7 @@ G_M29879_IG152: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=000
mov r8, rdi
; gcrRegs +[r8]
;; size=9 bbWeight=0 PerfScore 0.00
-G_M29879_IG153: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG152: ; bbWeight=0, epilog, nogc, extend
add rsp, 104
pop rbx
pop rbp
@@ -1995,11 +1988,11 @@ G_M29879_IG153: ; bbWeight=0, epilog, nogc, extend
tail.jmp [Microsoft.CodeAnalysis.CSharp.Binder:BindDeclarationExpressionAsError(Microsoft.CodeAnalysis.CSharp.Syntax.DeclarationExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this]
; gcr arg pop 0
;; size=18 bbWeight=0 PerfScore 0.00
-G_M29879_IG154: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M29879_IG153: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[rcx rdx r8]
mov rcx, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.Syntax.PostfixUnaryExpressionSyntax
cmp qword ptr [rbx], rcx
- je SHORT G_M29879_IG155
+ je SHORT G_M29879_IG154
mov rdx, rbx
; gcrRegs +[rdx]
call CORINFO_HELP_CHKCASTCLASS_SPECIAL
@@ -2007,7 +2000,7 @@ G_M29879_IG154: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
int3
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG155: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+G_M29879_IG154: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rax] +[rbx rsi rdi]
mov rdx, rbx
; gcrRegs +[rdx]
@@ -2016,7 +2009,7 @@ G_M29879_IG155: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=000
mov r8, rdi
; gcrRegs +[r8]
;; size=9 bbWeight=0 PerfScore 0.00
-G_M29879_IG156: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG155: ; bbWeight=0, epilog, nogc, extend
add rsp, 104
pop rbx
pop rbp
@@ -2027,11 +2020,11 @@ G_M29879_IG156: ; bbWeight=0, epilog, nogc, extend
tail.jmp [Microsoft.CodeAnalysis.CSharp.Binder:BindSuppressNullableWarningExpression(Microsoft.CodeAnalysis.CSharp.Syntax.PostfixUnaryExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this]
; gcr arg pop 0
;; size=18 bbWeight=0 PerfScore 0.00
-G_M29879_IG157: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M29879_IG156: ; bbWeight=0, gcVars=000000000000000000000000000000000000000000000000 {}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[rcx rdx r8]
mov rcx, 0xD1FFAB1E ; Microsoft.CodeAnalysis.CSharp.Syntax.WithExpressionSyntax
cmp qword ptr [rbx], rcx
- je SHORT G_M29879_IG158
+ je SHORT G_M29879_IG157
mov rdx, rbx
; gcrRegs +[rdx]
call CORINFO_HELP_CHKCASTCLASS_SPECIAL
@@ -2039,7 +2032,7 @@ G_M29879_IG157: ; bbWeight=0, gcVars=000000000000000000000000000000000000
; gcr arg pop 0
int3
;; size=24 bbWeight=0 PerfScore 0.00
-G_M29879_IG158: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
+G_M29879_IG157: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rax] +[rbx rsi rdi]
mov rdx, rbx
; gcrRegs +[rdx]
@@ -2048,7 +2041,7 @@ G_M29879_IG158: ; bbWeight=0, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=000
mov r8, rdi
; gcrRegs +[r8]
;; size=9 bbWeight=0 PerfScore 0.00
-G_M29879_IG159: ; bbWeight=0, epilog, nogc, extend
+G_M29879_IG158: ; bbWeight=0, epilog, nogc, extend
add rsp, 104
pop rbx
pop rbp
@@ -2059,7 +2052,7 @@ G_M29879_IG159: ; bbWeight=0, epilog, nogc, extend
tail.jmp [Microsoft.CodeAnalysis.CSharp.Binder:BindWithExpression(Microsoft.CodeAnalysis.CSharp.Syntax.WithExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this]
; gcr arg pop 0
;; size=18 bbWeight=0 PerfScore 0.00
...
+27 (+3.53%) : 33275.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1+d__21[ubyte]:MoveNext():this (Tier1)
@@ -20,7 +20,7 @@
;* V08 tmp1 [V08 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V09 tmp2 [V09,T21] ( 2, 0 ) ref -> rdx class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
; V10 tmp3 [V10,T15] ( 3, 1.97) ref -> rax "guarded devirt return temp"
-; V11 tmp4 [V11,T03] ( 5, 5.91) ref -> rcx "guarded devirt arg temp"
+; V11 tmp4 [V11,T03] ( 5, 5.91) ref -> rax "guarded devirt arg temp"
; V12 tmp5 [V12,T07] ( 3, 3.94) int -> rdx "guarded devirt arg temp"
;* V13 tmp6 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "guarded devirt this exact temp" <System.Buffers.ConfigurableArrayPool`1[ubyte]>
; V14 tmp7 [V14,T02] ( 7, 5.92) ref -> rdi "guarded devirt arg temp"
@@ -34,11 +34,11 @@
;* V22 tmp15 [V22 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V23 tmp16 [V23 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V24 tmp17 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <<unknown class>>
-; V25 tmp18 [V25,T08] ( 4, 3.93) int -> rcx "Inline stloc first use temp"
+; V25 tmp18 [V25,T08] ( 4, 3.93) int -> rdx "Inline stloc first use temp"
; V26 tmp19 [V26,T14] ( 3, 1.97) ubyte -> r15 "Inline stloc first use temp"
; V27 tmp20 [V27,T13] ( 4, 1.97) ref -> r13 class-hnd exact "Inline stloc first use temp" <System.Buffers.ArrayPoolEventSource>
-; V28 tmp21 [V28,T19] ( 3, 0 ) int -> r12 "Inline stloc first use temp"
-; V29 tmp22 [V29,T22] ( 2, 0 ) int -> [rbp-0x44] spill-single-def "impAppendStmt"
+; V28 tmp21 [V28,T19] ( 3, 0 ) int -> rsi "Inline stloc first use temp"
+; V29 tmp22 [V29,T22] ( 2, 0 ) int -> r12 "impAppendStmt"
; V30 tmp23 [V30,T23] ( 2, 0 ) int -> r14 "impAppendStmt"
;* V31 tmp24 [V31 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V32 tmp25 [V32 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
@@ -48,13 +48,13 @@
;* V36 tmp29 [V36 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP
; V37 tmp30 [V37,T18] ( 3, 0 ) byref -> rcx "field V19._reference (fldOffset=0x0)" P-INDEP
; V38 tmp31 [V38,T20] ( 3, 0 ) int -> rax "field V19._length (fldOffset=0x8)" P-INDEP
-; V39 tmp32 [V39,T04] ( 3, 5.89) ref -> rdx "arr expr"
-; V40 tmp33 [V40,T09] ( 2, 3.92) ref -> rcx "argument with side effect"
+; V39 tmp32 [V39,T04] ( 3, 5.89) ref -> rax "arr expr"
+; V40 tmp33 [V40,T09] ( 2, 3.92) ref -> rdx "argument with side effect"
; V41 tmp34 [V41,T25] ( 2, 0 ) int -> r9 "argument with side effect"
; V42 tmp35 [V42,T10] ( 2, 3.90) ref -> rdx "argument with side effect"
; V43 PSPSym [V43,T16] ( 1, 1 ) long -> [rbp-0x50] do-not-enreg[V] "PSPSym"
-; V44 cse0 [V44,T11] ( 3, 2.95) ref -> rdx "CSE - moderate"
-; V45 cse1 [V45,T06] ( 5, 4.90) byref -> registers multi-def "CSE - aggressive"
+; V44 cse0 [V44,T11] ( 3, 2.95) ref -> rax "CSE - moderate"
+; V45 cse1 [V45,T06] ( 5, 4.90) byref -> rsi multi-def "CSE - aggressive"
;
; Lcl frame size = 72
@@ -84,86 +84,142 @@ G_M9389_IG02: ; bbWeight=1, gcVars=0000000000000001 {V00}, gcrefRegs=0000
G_M9389_IG03: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
; byrRegs -[rcx]
test eax, eax
- jne G_M9389_IG11
+ jne G_M9389_IG14
;; size=8 bbWeight=1 PerfScore 1.25
G_M9389_IG04: ; bbWeight=0.98, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
mov rcx, bword ptr [rbp+0x10]
; byrRegs +[rcx]
- lea rdx, bword ptr [rcx+0x28]
- ; byrRegs +[rdx]
- mov al, byte ptr [rdx]
- mov byte ptr [rbp-0x40], al
- mov byte ptr [rdx], 0
- mov dword ptr [rcx+0x18], -1
- mov rsi, rcx
+ lea rsi, bword ptr [rcx+0x28]
; byrRegs +[rsi]
- ;; size=26 bbWeight=0.98 PerfScore 6.63
-G_M9389_IG05: ; bbWeight=0.99, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
- ; byrRegs -[rcx rdx]
+ mov dl, byte ptr [rsi]
+ mov byte ptr [rbp-0x40], dl
+ mov byte ptr [rsi], 0
+ mov dword ptr [rcx+0x18], -1
+ ;; size=23 bbWeight=0.98 PerfScore 6.38
+G_M9389_IG05: ; bbWeight=0.99, gcrefRegs=0008 {rbx}, byrefRegs=0002 {rcx}, byref
+ ; byrRegs -[rsi]
cmp byte ptr [rbx+0x1C], 0
- jne G_M9389_IG22
+ jne G_M9389_IG20
;; size=10 bbWeight=0.99 PerfScore 3.94
-G_M9389_IG06: ; bbWeight=0.99, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, isz
- mov rdi, gword ptr [rsi+0x08]
+G_M9389_IG06: ; bbWeight=0.99, gcrefRegs=0008 {rbx}, byrefRegs=0002 {rcx}, byref, isz
+ mov rdi, gword ptr [rcx+0x08]
; gcrRegs +[rdi]
- mov r14, gword ptr [rsi+0x10]
+ mov r14, gword ptr [rcx+0x10]
; gcrRegs +[r14]
- mov rcx, 0xD1FFAB1E ; System.Buffers.ConfigurableArrayPool`1[ubyte]
- cmp qword ptr [rdi], rcx
- jne G_M9389_IG17
+ mov rdx, 0xD1FFAB1E ; System.Buffers.ConfigurableArrayPool`1[ubyte]
+ cmp qword ptr [rdi], rdx
+ jne G_M9389_IG24
test r14, r14
- je G_M9389_IG23
+ je G_M9389_IG21
cmp dword ptr [r14+0x08], 0
je SHORT G_M9389_IG09
- mov ecx, dword ptr [r14+0x08]
- dec ecx
- or ecx, 15
- lzcnt ecx, ecx
- xor ecx, 31
- add ecx, -3
- mov rdx, gword ptr [rdi+0x08]
- ; gcrRegs +[rdx]
+ mov edx, dword ptr [r14+0x08]
+ dec edx
+ or edx, 15
+ lzcnt edx, edx
+ xor edx, 31
+ add edx, -3
+ mov rax, gword ptr [rdi+0x08]
+ ; gcrRegs +[rax]
xor r15d, r15d
- cmp dword ptr [rdx+0x08], ecx
+ cmp dword ptr [rax+0x08], edx
setg r15b
test r15d, r15d
je SHORT G_M9389_IG08
;; size=81 bbWeight=0.99 PerfScore 25.64
-G_M9389_IG07: ; bbWeight=0.98, gcrefRegs=408C {rdx rbx rdi r14}, byrefRegs=0040 {rsi}, byref
- cmp ecx, dword ptr [rdx+0x08]
- jae G_M9389_IG16
- mov ecx, ecx
- mov rcx, gword ptr [rdx+8*rcx+0x10]
+G_M9389_IG07: ; bbWeight=0.98, gcrefRegs=4089 {rax rbx rdi r14}, byrefRegs=0000 {}, byref
+ ; byrRegs -[rcx]
+ cmp edx, dword ptr [rax+0x08]
+ jae G_M9389_IG23
+ mov edx, edx
+ mov rdx, gword ptr [rax+8*rdx+0x10]
+ ; gcrRegs +[rdx]
+ mov rcx, rdx
; gcrRegs +[rcx]
mov rdx, r14
cmp dword ptr [rcx], ecx
call [<unknown method>]
- ; gcrRegs -[rcx rdx]
+ ; gcrRegs -[rax rcx rdx]
; gcr arg pop 0
- ;; size=27 bbWeight=0.98 PerfScore 12.26
-G_M9389_IG08: ; bbWeight=0.99, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=0040 {rsi}, byref
- mov rcx, 0xD1FFAB1E ; const ptr
- mov r13, gword ptr [rcx]
+ ;; size=30 bbWeight=0.98 PerfScore 12.51
+G_M9389_IG08: ; bbWeight=0.99, gcrefRegs=4088 {rbx rdi r14}, byrefRegs=0000 {}, byref
+ mov rdx, 0xD1FFAB1E ; const ptr
+ mov r13, gword ptr [rdx]
; gcrRegs +[r13]
cmp byte ptr [r13+0x9D], 0
- jne G_M9389_IG24
+ jne G_M9389_IG22
;; size=27 bbWeight=0.99 PerfScore 6.16
-G_M9389_IG09: ; bbWeight=0.99, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, isz
+G_M9389_IG09: ; bbWeight=0.99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
; gcrRegs -[rdi r13-r14]
- xor rcx, rcx
+ xor rdx, rdx
+ ; gcrRegs +[rdx]
+ mov rcx, bword ptr [rbp+0x10]
+ ; byrRegs +[rcx]
+ mov gword ptr [rcx+0x10], rdx
+ inc dword ptr [rcx+0x1C]
+ cmp dword ptr [rcx+0x1C], 0x186A0
+ jge G_M9389_IG25
+ ;; size=26 bbWeight=0.99 PerfScore 9.12
+G_M9389_IG10: ; bbWeight=0.98, gcrefRegs=0008 {rbx}, byrefRegs=0002 {rcx}, byref
+ ; gcrRegs -[rdx]
+ mov rax, gword ptr [rcx+0x08]
+ ; gcrRegs +[rax]
+ mov edx, dword ptr [rbx+0x18]
+ mov r8, 0xD1FFAB1E ; System.Buffers.ConfigurableArrayPool`1[ubyte]
+ cmp qword ptr [rax], r8
+ jne G_M9389_IG16
+ mov rcx, rax
; gcrRegs +[rcx]
- mov gword ptr [rsi+0x10], rcx
- inc dword ptr [rsi+0x1C]
- cmp dword ptr [rsi+0x1C], 0x186A0
- jl SHORT G_M9389_IG12
- ;; size=18 bbWeight=0.99 PerfScore 8.14
-G_M9389_IG10: ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
- ; gcrRegs -[rcx rbx]
- jmp G_M9389_IG25
- ;; size=5 bbWeight=0.01 PerfScore 0.03
-G_M9389_IG11: ; bbWeight=0.03, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
- ; gcrRegs +[rbx]
+ ; byrRegs -[rcx]
+ call [System.Buffers.ConfigurableArrayPool`1[ubyte]:Rent(int):ubyte[]:this]
+ ; gcrRegs -[rcx]
+ ; gcr arg pop 0
+ ;; size=35 bbWeight=0.98 PerfScore 11.32
+G_M9389_IG11: ; bbWeight=0.98, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+ mov rsi, bword ptr [rbp+0x10]
+ ; byrRegs +[rsi]
+ lea rcx, bword ptr [rsi+0x10]
+ ; byrRegs +[rcx]
+ mov rdx, rax
+ ; gcrRegs +[rdx]
+ call CORINFO_HELP_CHECKED_ASSIGN_REF
+ ; gcrRegs -[rax rdx]
+ ; byrRegs -[rcx]
+ cmp byte ptr [rbx+0x1C], 0
+ jne G_M9389_IG19
+ ;; size=26 bbWeight=0.98 PerfScore 6.65
+G_M9389_IG12: ; bbWeight=0.98, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
+ cmp byte ptr [rbx+0x1D], 0
+ mov rcx, rsi
+ ; byrRegs +[rcx]
+ je G_M9389_IG05
+ ;; size=13 bbWeight=0.98 PerfScore 4.18
+G_M9389_IG13: ; bbWeight=0.98, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref
+ ; gcrRegs -[rbx]
; byrRegs -[rsi]
+ mov byte ptr [rbp-0x40], 0
+ xor edx, edx
+ mov dword ptr [rcx+0x18], edx
+ lea rsi, bword ptr [rcx+0x28]
+ ; byrRegs +[rsi]
+ movzx rdx, byte ptr [rbp-0x40]
+ mov byte ptr [rsi], dl
+ lea rdx, bword ptr [rcx+0x20]
+ ; byrRegs +[rdx]
+ call [<unknown method>]
+ ; gcrRegs +[rax]
+ ; byrRegs -[rcx rdx rsi]
+ ; gcr arg pop 0
+ mov rdx, rax
+ ; gcrRegs +[rdx]
+ lea rcx, [rbp-0x40]
+ call [<unknown method>]
+ ; gcrRegs -[rax rdx]
+ ; gcr arg pop 0
+ jmp G_M9389_IG26
+ ;; size=47 bbWeight=0.98 PerfScore 13.65
+G_M9389_IG14: ; bbWeight=0.03, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+ ; gcrRegs +[rbx]
mov rcx, rbx
; gcrRegs +[rcx]
call [System.Buffers.Tests.RentReturnArrayPoolTests`1[ubyte]:get_Pool():System.Buffers.ArrayPool`1[ubyte]:this]
@@ -182,123 +238,69 @@ G_M9389_IG11: ; bbWeight=0.03, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
; byrRegs +[rsi]
mov dword ptr [rsi+0x1C], ecx
cmp dword ptr [rsi+0x1C], 0x186A0
- jge G_M9389_IG25
- ;; size=47 bbWeight=0.03 PerfScore 0.32
-G_M9389_IG12: ; bbWeight=0.98, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
- mov rcx, gword ptr [rsi+0x08]
- ; gcrRegs +[rcx]
- mov edx, dword ptr [rbx+0x18]
- mov rax, 0xD1FFAB1E ; System.Buffers.ConfigurableArrayPool`1[ubyte]
- cmp qword ptr [rcx], rax
- jne G_M9389_IG19
...
coreclr_tests.run.windows.x64.checked.mch
+0 (0.00%) : 26725.dasm - Simple2ArrayTest:TestEntryPoint():int (Tier1-OSR)
@@ -89,22 +89,24 @@ G_M25589_IG09: ; bbWeight=1.00, gcrefRegs=8000 {r15}, byrefRegs=0000 {},
cmp ebp, edi
jl SHORT G_M25589_IG03
;; size=6 bbWeight=1.00 PerfScore 1.50
-G_M25589_IG10: ; bbWeight=0.10, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
- inc r14d
- cmp r14d, edi
- jge SHORT G_M25589_IG12
+G_M25589_IG10: ; bbWeight=0.09, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
+ jmp SHORT G_M25589_IG12
+ ;; size=2 bbWeight=0.09 PerfScore 0.18
+G_M25589_IG11: ; bbWeight=0.10, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
xor ebp, ebp
test edi, edi
jg SHORT G_M25589_IG03
- ;; size=14 bbWeight=0.10 PerfScore 0.30
-G_M25589_IG11: ; bbWeight=0.04, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
- jmp SHORT G_M25589_IG10
- ;; size=2 bbWeight=0.04 PerfScore 0.09
-G_M25589_IG12: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
+ ;; size=6 bbWeight=0.10 PerfScore 0.15
+G_M25589_IG12: ; bbWeight=0.10, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
+ inc r14d
+ cmp r14d, edi
+ jl SHORT G_M25589_IG11
+ ;; size=8 bbWeight=0.10 PerfScore 0.15
+G_M25589_IG13: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
xor r14d, r14d
- jmp SHORT G_M25589_IG24
+ jmp SHORT G_M25589_IG25
;; size=5 bbWeight=0 PerfScore 0.00
-G_M25589_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25589_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[r15]
mov rcx, 0xD1FFAB1E
; gcrRegs +[rcx]
@@ -113,7 +115,7 @@ G_M25589_IG13: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
mov eax, 1
;; size=21 bbWeight=0 PerfScore 0.00
-G_M25589_IG14: ; bbWeight=0, epilog, nogc, extend
+G_M25589_IG15: ; bbWeight=0, epilog, nogc, extend
add rsp, 264
pop rbx
pop rsi
@@ -125,24 +127,24 @@ G_M25589_IG14: ; bbWeight=0, epilog, nogc, extend
pop rbp
ret
;; size=20 bbWeight=0 PerfScore 0.00
-G_M25589_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M25589_IG16: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs +[r15]
xor ebp, ebp
- jmp SHORT G_M25589_IG23
- ;; size=4 bbWeight=0 PerfScore 0.00
-G_M25589_IG16: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
- xor esi, esi
- jmp SHORT G_M25589_IG22
+ jmp SHORT G_M25589_IG24
;; size=4 bbWeight=0 PerfScore 0.00
G_M25589_IG17: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
- xor ebx, ebx
- jmp SHORT G_M25589_IG21
+ xor esi, esi
+ jmp SHORT G_M25589_IG23
;; size=4 bbWeight=0 PerfScore 0.00
G_M25589_IG18: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
+ xor ebx, ebx
+ jmp SHORT G_M25589_IG22
+ ;; size=4 bbWeight=0 PerfScore 0.00
+G_M25589_IG19: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
xor r12d, r12d
- jmp SHORT G_M25589_IG20
+ jmp SHORT G_M25589_IG21
;; size=5 bbWeight=0 PerfScore 0.00
-G_M25589_IG19: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref
+G_M25589_IG20: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref
mov dword ptr [rsp+0x20], ebx
mov rcx, r15
; gcrRegs +[rcx]
@@ -156,31 +158,31 @@ G_M25589_IG19: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byr
add r13, rcx
inc r12d
;; size=30 bbWeight=0 PerfScore 0.00
-G_M25589_IG20: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG21: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
cmp r12d, ebx
- jl SHORT G_M25589_IG19
+ jl SHORT G_M25589_IG20
inc ebx
;; size=7 bbWeight=0 PerfScore 0.00
-G_M25589_IG21: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG22: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
cmp ebx, esi
- jl SHORT G_M25589_IG18
+ jl SHORT G_M25589_IG19
inc esi
;; size=6 bbWeight=0 PerfScore 0.00
-G_M25589_IG22: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG23: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
cmp esi, ebp
- jl SHORT G_M25589_IG17
+ jl SHORT G_M25589_IG18
inc ebp
;; size=6 bbWeight=0 PerfScore 0.00
-G_M25589_IG23: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG24: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
cmp ebp, r14d
- jl SHORT G_M25589_IG16
+ jl SHORT G_M25589_IG17
inc r14d
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25589_IG24: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
+G_M25589_IG25: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byref, isz
cmp r14d, edi
- jl SHORT G_M25589_IG15
+ jl SHORT G_M25589_IG16
cmp r13, 0x3022B
- jne G_M25589_IG13
+ jne G_M25589_IG14
mov rcx, 0xD1FFAB1E
; gcrRegs +[rcx]
call [<unknown method>]
@@ -188,7 +190,7 @@ G_M25589_IG24: ; bbWeight=0, gcrefRegs=8000 {r15}, byrefRegs=0000 {}, byr
; gcr arg pop 0
mov eax, 100
;; size=39 bbWeight=0 PerfScore 0.00
-G_M25589_IG25: ; bbWeight=0, epilog, nogc, extend
+G_M25589_IG26: ; bbWeight=0, epilog, nogc, extend
add rsp, 264
pop rbx
pop rsi
@@ -201,7 +203,7 @@ G_M25589_IG25: ; bbWeight=0, epilog, nogc, extend
ret
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 381, prolog size 112, PerfScore 793.44, instruction count 111, allocated bytes for code 381 (MethodHash=b6269c0a) for method Simple2_Array_Test:TestEntryPoint():int (Tier1-OSR)
+; Total bytes of code 381, prolog size 112, PerfScore 793.53, instruction count 111, allocated bytes for code 381 (MethodHash=b6269c0a) for method Simple2_Array_Test:TestEntryPoint():int (Tier1-OSR)
; ============================================================
Unwind Info:
+0 (0.00%) : 30368.dasm - Simple2ArrayTest:Main():int (Tier1-OSR)
@@ -56,7 +56,7 @@ G_M25584_IG05: ; bbWeight=9.10, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
mov esi, dword ptr [rsp+0xE8]
mov edi, dword ptr [rsp+0x104]
cmp esi, edi
- jge SHORT G_M25584_IG12
+ jge SHORT G_M25584_IG11
;; size=18 bbWeight=9.10 PerfScore 29.57
G_M25584_IG06: ; bbWeight=8.27, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
mov ebp, dword ptr [rsp+0xF4]
@@ -93,28 +93,30 @@ G_M25584_IG09: ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
cmp r14d, edi
jl G_M25584_IG03
;; size=12 bbWeight=1.00 PerfScore 1.50
-G_M25584_IG10: ; bbWeight=0.10, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- inc ebp
- cmp ebp, edi
- jge SHORT G_M25584_IG13
- xor r14d, r14d
- test edi, edi
- jg G_M25584_IG03
- ;; size=17 bbWeight=0.10 PerfScore 0.30
-G_M25584_IG11: ; bbWeight=0.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- jmp SHORT G_M25584_IG10
- ;; size=2 bbWeight=0.04 PerfScore 0.09
-G_M25584_IG12: ; bbWeight=4.55, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG10: ; bbWeight=0.09, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+ jmp SHORT G_M25584_IG13
+ ;; size=2 bbWeight=0.09 PerfScore 0.18
+G_M25584_IG11: ; bbWeight=4.55, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov ebp, dword ptr [rsp+0xF4]
mov r13d, dword ptr [rsp+0xEC]
mov r14d, dword ptr [rsp+0xF0]
jmp SHORT G_M25584_IG08
;; size=25 bbWeight=4.55 PerfScore 22.75
-G_M25584_IG13: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M25584_IG12: ; bbWeight=0.10, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+ xor r14d, r14d
+ test edi, edi
+ jg G_M25584_IG03
+ ;; size=11 bbWeight=0.10 PerfScore 0.15
+G_M25584_IG13: ; bbWeight=0.10, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+ inc ebp
+ cmp ebp, edi
+ jl SHORT G_M25584_IG12
+ ;; size=6 bbWeight=0.10 PerfScore 0.15
+G_M25584_IG14: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
xor ebp, ebp
- jmp G_M25584_IG25
+ jmp G_M25584_IG26
;; size=7 bbWeight=0 PerfScore 0.00
-G_M25584_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25584_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx]
mov rcx, 0xD1FFAB1E
; gcrRegs +[rcx]
@@ -123,7 +125,7 @@ G_M25584_IG14: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
mov eax, 1
;; size=21 bbWeight=0 PerfScore 0.00
-G_M25584_IG15: ; bbWeight=0, epilog, nogc, extend
+G_M25584_IG16: ; bbWeight=0, epilog, nogc, extend
add rsp, 264
pop rbx
pop rsi
@@ -135,24 +137,24 @@ G_M25584_IG15: ; bbWeight=0, epilog, nogc, extend
pop rbp
ret
;; size=20 bbWeight=0 PerfScore 0.00
-G_M25584_IG16: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M25584_IG17: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs +[rbx]
xor r14d, r14d
- jmp SHORT G_M25584_IG24
- ;; size=5 bbWeight=0 PerfScore 0.00
-G_M25584_IG17: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- xor r13d, r13d
- jmp SHORT G_M25584_IG23
+ jmp SHORT G_M25584_IG25
;; size=5 bbWeight=0 PerfScore 0.00
G_M25584_IG18: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- xor esi, esi
- jmp SHORT G_M25584_IG22
- ;; size=4 bbWeight=0 PerfScore 0.00
-G_M25584_IG19: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
- xor r15d, r15d
- jmp SHORT G_M25584_IG21
+ xor r13d, r13d
+ jmp SHORT G_M25584_IG24
;; size=5 bbWeight=0 PerfScore 0.00
-G_M25584_IG20: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M25584_IG19: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+ xor esi, esi
+ jmp SHORT G_M25584_IG23
+ ;; size=4 bbWeight=0 PerfScore 0.00
+G_M25584_IG20: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+ xor r15d, r15d
+ jmp SHORT G_M25584_IG22
+ ;; size=5 bbWeight=0 PerfScore 0.00
+G_M25584_IG21: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
mov dword ptr [rsp+0x20], esi
mov rcx, rbx
; gcrRegs +[rcx]
@@ -168,38 +170,38 @@ G_M25584_IG20: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
inc r15d
mov qword ptr [rsp+0xD8], r12
;; size=45 bbWeight=0 PerfScore 0.00
-G_M25584_IG21: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG22: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp r15d, esi
- jl SHORT G_M25584_IG20
+ jl SHORT G_M25584_IG21
inc esi
;; size=7 bbWeight=0 PerfScore 0.00
-G_M25584_IG22: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG23: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp esi, r13d
- jl SHORT G_M25584_IG19
+ jl SHORT G_M25584_IG20
inc r13d
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25584_IG23: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG24: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp r13d, r14d
- jl SHORT G_M25584_IG18
+ jl SHORT G_M25584_IG19
inc r14d
;; size=8 bbWeight=0 PerfScore 0.00
-G_M25584_IG24: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG25: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp r14d, ebp
- jl SHORT G_M25584_IG17
+ jl SHORT G_M25584_IG18
inc ebp
;; size=7 bbWeight=0 PerfScore 0.00
-G_M25584_IG25: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M25584_IG26: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp ebp, edi
- jl SHORT G_M25584_IG16
+ jl SHORT G_M25584_IG17
mov rcx, rbx
; gcrRegs +[rcx]
call [Simple2_Array_Test:test(int[,,,]):int]
; gcrRegs -[rcx rbx]
; gcr arg pop 0
cmp eax, 4
- jne G_M25584_IG14
+ jne G_M25584_IG15
cmp qword ptr [rsp+0xD8], 0x3022B
- jne G_M25584_IG14
+ jne G_M25584_IG15
mov rcx, 0xD1FFAB1E
; gcrRegs +[rcx]
call [<unknown method>]
@@ -207,7 +209,7 @@ G_M25584_IG25: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
; gcr arg pop 0
mov eax, 100
;; size=61 bbWeight=0 PerfScore 0.00
-G_M25584_IG26: ; bbWeight=0, epilog, nogc, extend
+G_M25584_IG27: ; bbWeight=0, epilog, nogc, extend
add rsp, 264
pop rbx
pop rsi
@@ -220,7 +222,7 @@ G_M25584_IG26: ; bbWeight=0, epilog, nogc, extend
ret
;; size=20 bbWeight=0 PerfScore 0.00
-; Total bytes of code 499, prolog size 68, PerfScore 892.69, instruction count 125, allocated bytes for code 499 (MethodHash=75279c0f) for method Simple2_Array_Test:Main():int (Tier1-OSR)
+; Total bytes of code 499, prolog size 68, PerfScore 892.78, instruction count 125, allocated bytes for code 499 (MethodHash=75279c0f) for method Simple2_Array_Test:Main():int (Tier1-OSR)
; ============================================================
Unwind Info:
libraries_tests.run.windows.x64.Release.mch
-5 (-2.46%) : 177881.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -40,17 +40,17 @@ G_M8081_IG03: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
mov rdi, gword ptr [rbx+0x18]
; gcrRegs +[rdi]
cmp qword ptr [rdi], rsi
- jne G_M8081_IG16
+ jne G_M8081_IG15
cmp byte ptr [rdi+0x4C], 0
- jne G_M8081_IG17
+ jne G_M8081_IG16
mov rcx, gword ptr [rdi+0x30]
; gcrRegs +[rcx]
test dword ptr [rcx+0x34], 0xD1FFAB1E
- je G_M8081_IG18
+ je G_M8081_IG17
mov ecx, dword ptr [rdi+0x38]
; gcrRegs -[rcx]
cmp ecx, dword ptr [rdi+0x3C]
- je SHORT G_M8081_IG09
+ je SHORT G_M8081_IG10
;; size=48 bbWeight=1.04 PerfScore 22.98
G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
mov rax, gword ptr [rdi+0x28]
@@ -58,7 +58,7 @@ G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {
mov ecx, dword ptr [rdi+0x38]
mov edx, ecx
cmp edx, dword ptr [rax+0x08]
- jae SHORT G_M8081_IG15
+ jae SHORT G_M8081_IG14
movzx rax, word ptr [rax+2*rdx+0x10]
; gcrRegs -[rax]
inc ecx
@@ -68,22 +68,33 @@ G_M8081_IG05: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
; gcrRegs -[rdi]
inc dword ptr [rbx+0x24]
cmp eax, -1
- je SHORT G_M8081_IG13
+ je SHORT G_M8081_IG12
;; size=8 bbWeight=1.04 PerfScore 4.44
G_M8081_IG06: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, 10
- je SHORT G_M8081_IG12
+ je SHORT G_M8081_IG09
;; size=5 bbWeight=1.04 PerfScore 1.31
G_M8081_IG07: ; bbWeight=1.02, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, 13
je SHORT G_M8081_IG03
;; size=5 bbWeight=1.02 PerfScore 1.28
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[rbx]
- jmp SHORT G_M8081_IG11
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rbx rdi]
+ add rsp, 32
+ pop rbx
+ pop rsi
+ pop rdi
+ ret
+ ;; size=8 bbWeight=1.00 PerfScore 2.75
+G_M8081_IG09: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+ ; gcrRegs +[rbx]
+ xor eax, eax
+ mov dword ptr [rbx+0x24], eax
+ inc dword ptr [rbx+0x20]
+ jmp SHORT G_M8081_IG03
+ ;; size=10 bbWeight=0.02 PerfScore 0.14
+G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[rdi]
mov rcx, rdi
; gcrRegs +[rcx]
call [System.IO.StreamReader:ReadBuffer():int:this]
@@ -92,42 +103,27 @@ G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {
test eax, eax
jne SHORT G_M8081_IG04
;; size=13 bbWeight=0.00 PerfScore 0.01
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rdi]
mov eax, -1
jmp SHORT G_M8081_IG05
;; size=7 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
- ; gcrRegs -[rbx]
- add rsp, 32
- pop rbx
- pop rsi
- pop rdi
- ret
- ;; size=8 bbWeight=1.00 PerfScore 2.75
-G_M8081_IG12: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs +[rbx]
- xor eax, eax
- mov dword ptr [rbx+0x24], eax
- inc dword ptr [rbx+0x20]
- jmp G_M8081_IG03
- ;; size=13 bbWeight=0.02 PerfScore 0.14
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx]
mov eax, -1
;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
add rsp, 32
pop rbx
pop rsi
pop rdi
ret
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx rdi]
mov rcx, rdi
; gcrRegs +[rcx]
@@ -138,7 +134,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {},
; gcr arg pop 0
jmp SHORT G_M8081_IG05
;; size=15 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx] +[rdi]
mov rcx, rdi
; gcrRegs +[rcx]
@@ -147,13 +143,13 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byre
; gcr arg pop 0
int3
;; size=10 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [System.IO.StreamReader:ThrowAsyncIOInProgress()]
; gcr arg pop 0
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 203, prolog size 10, PerfScore 49.82, instruction count 65, allocated bytes for code 203 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 198, prolog size 10, PerfScore 48.82, instruction count 64, allocated bytes for code 198 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
-5 (-2.46%) : 190581.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -40,17 +40,17 @@ G_M8081_IG03: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
mov rdi, gword ptr [rbx+0x18]
; gcrRegs +[rdi]
cmp qword ptr [rdi], rsi
- jne G_M8081_IG16
+ jne G_M8081_IG15
cmp byte ptr [rdi+0x4C], 0
- jne G_M8081_IG17
+ jne G_M8081_IG16
mov rcx, gword ptr [rdi+0x30]
; gcrRegs +[rcx]
test dword ptr [rcx+0x34], 0xD1FFAB1E
- je G_M8081_IG18
+ je G_M8081_IG17
mov ecx, dword ptr [rdi+0x38]
; gcrRegs -[rcx]
cmp ecx, dword ptr [rdi+0x3C]
- je SHORT G_M8081_IG09
+ je SHORT G_M8081_IG10
;; size=48 bbWeight=1.04 PerfScore 22.97
G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
mov rax, gword ptr [rdi+0x28]
@@ -58,7 +58,7 @@ G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {
mov ecx, dword ptr [rdi+0x38]
mov edx, ecx
cmp edx, dword ptr [rax+0x08]
- jae SHORT G_M8081_IG15
+ jae SHORT G_M8081_IG14
movzx rax, word ptr [rax+2*rdx+0x10]
; gcrRegs -[rax]
inc ecx
@@ -68,22 +68,33 @@ G_M8081_IG05: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
; gcrRegs -[rdi]
inc dword ptr [rbx+0x24]
cmp eax, -1
- je SHORT G_M8081_IG13
+ je SHORT G_M8081_IG12
;; size=8 bbWeight=1.04 PerfScore 4.44
G_M8081_IG06: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, 10
- je SHORT G_M8081_IG12
+ je SHORT G_M8081_IG09
;; size=5 bbWeight=1.04 PerfScore 1.31
G_M8081_IG07: ; bbWeight=1.02, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, 13
je SHORT G_M8081_IG03
;; size=5 bbWeight=1.02 PerfScore 1.28
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[rbx]
- jmp SHORT G_M8081_IG11
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rbx rdi]
+ add rsp, 32
+ pop rbx
+ pop rsi
+ pop rdi
+ ret
+ ;; size=8 bbWeight=1.00 PerfScore 2.75
+G_M8081_IG09: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+ ; gcrRegs +[rbx]
+ xor eax, eax
+ mov dword ptr [rbx+0x24], eax
+ inc dword ptr [rbx+0x20]
+ jmp SHORT G_M8081_IG03
+ ;; size=10 bbWeight=0.02 PerfScore 0.14
+G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[rdi]
mov rcx, rdi
; gcrRegs +[rcx]
call [System.IO.StreamReader:ReadBuffer():int:this]
@@ -92,42 +103,27 @@ G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {
test eax, eax
jne SHORT G_M8081_IG04
;; size=13 bbWeight=0.00 PerfScore 0.01
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rdi]
mov eax, -1
jmp SHORT G_M8081_IG05
;; size=7 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
- ; gcrRegs -[rbx]
- add rsp, 32
- pop rbx
- pop rsi
- pop rdi
- ret
- ;; size=8 bbWeight=1.00 PerfScore 2.75
-G_M8081_IG12: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs +[rbx]
- xor eax, eax
- mov dword ptr [rbx+0x24], eax
- inc dword ptr [rbx+0x20]
- jmp G_M8081_IG03
- ;; size=13 bbWeight=0.02 PerfScore 0.14
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx]
mov eax, -1
;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
add rsp, 32
pop rbx
pop rsi
pop rdi
ret
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx rdi]
mov rcx, rdi
; gcrRegs +[rcx]
@@ -138,7 +134,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {},
; gcr arg pop 0
jmp SHORT G_M8081_IG05
;; size=15 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx] +[rdi]
mov rcx, rdi
; gcrRegs +[rcx]
@@ -147,13 +143,13 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byre
; gcr arg pop 0
int3
;; size=10 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [System.IO.StreamReader:ThrowAsyncIOInProgress()]
; gcr arg pop 0
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 203, prolog size 10, PerfScore 49.81, instruction count 65, allocated bytes for code 203 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 198, prolog size 10, PerfScore 48.81, instruction count 64, allocated bytes for code 198 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
-5 (-2.46%) : 194297.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
@@ -40,17 +40,17 @@ G_M8081_IG03: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
mov rdi, gword ptr [rbx+0x18]
; gcrRegs +[rdi]
cmp qword ptr [rdi], rsi
- jne G_M8081_IG16
+ jne G_M8081_IG15
cmp byte ptr [rdi+0x4C], 0
- jne G_M8081_IG17
+ jne G_M8081_IG16
mov rcx, gword ptr [rdi+0x30]
; gcrRegs +[rcx]
test dword ptr [rcx+0x34], 0xD1FFAB1E
- je G_M8081_IG18
+ je G_M8081_IG17
mov ecx, dword ptr [rdi+0x38]
; gcrRegs -[rcx]
cmp ecx, dword ptr [rdi+0x3C]
- je SHORT G_M8081_IG09
+ je SHORT G_M8081_IG10
;; size=48 bbWeight=1.04 PerfScore 22.99
G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
mov rax, gword ptr [rdi+0x28]
@@ -58,7 +58,7 @@ G_M8081_IG04: ; bbWeight=1.04, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {
mov ecx, dword ptr [rdi+0x38]
mov edx, ecx
cmp edx, dword ptr [rax+0x08]
- jae SHORT G_M8081_IG15
+ jae SHORT G_M8081_IG14
movzx rax, word ptr [rax+2*rdx+0x10]
; gcrRegs -[rax]
inc ecx
@@ -68,22 +68,33 @@ G_M8081_IG05: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, b
; gcrRegs -[rdi]
inc dword ptr [rbx+0x24]
cmp eax, -1
- je SHORT G_M8081_IG13
+ je SHORT G_M8081_IG12
;; size=8 bbWeight=1.04 PerfScore 4.44
G_M8081_IG06: ; bbWeight=1.04, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, 10
- je SHORT G_M8081_IG12
+ je SHORT G_M8081_IG09
;; size=5 bbWeight=1.04 PerfScore 1.31
G_M8081_IG07: ; bbWeight=1.02, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp eax, 13
je SHORT G_M8081_IG03
;; size=5 bbWeight=1.02 PerfScore 1.28
-G_M8081_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M8081_IG08: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[rbx]
- jmp SHORT G_M8081_IG11
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
- ; gcrRegs +[rbx rdi]
+ add rsp, 32
+ pop rbx
+ pop rsi
+ pop rdi
+ ret
+ ;; size=8 bbWeight=1.00 PerfScore 2.75
+G_M8081_IG09: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+ ; gcrRegs +[rbx]
+ xor eax, eax
+ mov dword ptr [rbx+0x24], eax
+ inc dword ptr [rbx+0x20]
+ jmp SHORT G_M8081_IG03
+ ;; size=10 bbWeight=0.02 PerfScore 0.14
+G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+ ; gcrRegs +[rdi]
mov rcx, rdi
; gcrRegs +[rcx]
call [System.IO.StreamReader:ReadBuffer():int:this]
@@ -92,42 +103,27 @@ G_M8081_IG09: ; bbWeight=0.00, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {
test eax, eax
jne SHORT G_M8081_IG04
;; size=13 bbWeight=0.00 PerfScore 0.01
-G_M8081_IG10: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M8081_IG11: ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rdi]
mov eax, -1
jmp SHORT G_M8081_IG05
;; size=7 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG11: ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
- ; gcrRegs -[rbx]
- add rsp, 32
- pop rbx
- pop rsi
- pop rdi
- ret
- ;; size=8 bbWeight=1.00 PerfScore 2.75
-G_M8081_IG12: ; bbWeight=0.02, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
- ; gcrRegs +[rbx]
- xor eax, eax
- mov dword ptr [rbx+0x24], eax
- inc dword ptr [rbx+0x20]
- jmp G_M8081_IG03
- ;; size=13 bbWeight=0.02 PerfScore 0.14
-G_M8081_IG13: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG12: ; bbWeight=0.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx]
mov eax, -1
;; size=5 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG14: ; bbWeight=0.00, epilog, nogc, extend
+G_M8081_IG13: ; bbWeight=0.00, epilog, nogc, extend
add rsp, 32
pop rbx
pop rsi
pop rdi
ret
;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M8081_IG15: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M8081_IG14: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M8081_IG16: ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+G_M8081_IG15: ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rbx rdi]
mov rcx, rdi
; gcrRegs +[rcx]
@@ -138,7 +134,7 @@ G_M8081_IG16: ; bbWeight=0, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {},
; gcr arg pop 0
jmp SHORT G_M8081_IG05
;; size=15 bbWeight=0 PerfScore 0.00
-G_M8081_IG17: ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M8081_IG16: ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx] +[rdi]
mov rcx, rdi
; gcrRegs +[rcx]
@@ -147,13 +143,13 @@ G_M8081_IG17: ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byre
; gcr arg pop 0
int3
;; size=10 bbWeight=0 PerfScore 0.00
-G_M8081_IG18: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M8081_IG17: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call [System.IO.StreamReader:ThrowAsyncIOInProgress()]
; gcr arg pop 0
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 203, prolog size 10, PerfScore 49.85, instruction count 65, allocated bytes for code 203 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
+; Total bytes of code 198, prolog size 10, PerfScore 48.85, instruction count 64, allocated bytes for code 198 (MethodHash=e2a4e06e) for method Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
; ============================================================
Unwind Info:
+0 (0.00%) : 529996.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
@@ -93,7 +93,7 @@ G_M10115_IG02: ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
jne G_M10115_IG17
xor ebp, ebp
test ebx, 0xD1FFAB1E
- jne G_M10115_IG26
+ jne G_M10115_IG25
mov rcx, gword ptr [rsi+0x18]
; gcrRegs +[rcx]
mov rcx, gword ptr [rcx+0x08]
@@ -109,27 +109,27 @@ G_M10115_IG03: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
; gcrRegs +[rcx]
mov r12d, dword ptr [rcx+0x08]
cmp r14d, r12d
- jae G_M10115_IG25
+ jae G_M10115_IG24
mov edx, r14d
cmp word ptr [rcx+2*rdx+0x0C], 58
- jne G_M10115_IG31
+ jne G_M10115_IG30
test ebx, 0xD1FFAB1E
je SHORT G_M10115_IG04
mov rcx, r13
cmp r15d, r12d
- jae G_M10115_IG25
+ jae G_M10115_IG24
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 92
- je G_M10115_IG32
+ je G_M10115_IG31
mov rcx, r13
lea edx, [r15+0x01]
cmp edx, r12d
- jae G_M10115_IG25
+ jae G_M10115_IG24
cmp word ptr [rcx+2*rdx+0x0C], 92
- je G_M10115_IG32
+ je G_M10115_IG31
add r15d, 2
test ebx, 0xD1FFAB1E
- jne G_M10115_IG33
+ jne G_M10115_IG32
;; size=121 bbWeight=1 PerfScore 25.00
G_M10115_IG04: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx r13]
@@ -146,16 +146,16 @@ G_M10115_IG05: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
mov ecx, ebx
and ecx, 0xD1FFAB1E
cmp ecx, 0xD1FFAB1E
- je G_M10115_IG36
+ je G_M10115_IG35
test ebx, 0xD1FFAB1E
- jne G_M10115_IG36
+ jne G_M10115_IG35
mov word ptr [rdi+0x3A], r15w
mov ecx, dword ptr [rsi+0x28]
and ecx, 0xD1FFAB1E
cmp ecx, 0xD1FFAB1E
- je G_M10115_IG37
+ je G_M10115_IG36
test ebx, 0xD1FFAB1E
- jne G_M10115_IG39
+ jne G_M10115_IG38
;; size=70 bbWeight=1 PerfScore 8.75
G_M10115_IG06: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
mov word ptr [rdi+0x3C], r15w
@@ -169,7 +169,7 @@ G_M10115_IG06: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
xor eax, eax
mov rcx, 0xD1FFAB1E
test rbx, rcx
- jne G_M10115_IG22
+ jne G_M10115_IG21
;; size=55 bbWeight=1 PerfScore 5.25
G_M10115_IG07: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
movzx r10, word ptr [rdi+0x46]
@@ -189,7 +189,7 @@ G_M10115_IG09: ; bbWeight=0.46, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000
;; size=4 bbWeight=0.46 PerfScore 0.92
G_M10115_IG10: ; bbWeight=0.76, gcrefRegs=00C2 {rcx rsi rdi}, byrefRegs=0000 {}, byref
test rcx, rcx
- je G_M10115_IG40
+ je G_M10115_IG39
add rcx, 12
; gcrRegs -[rcx]
; byrRegs +[rcx]
@@ -235,9 +235,9 @@ G_M10115_IG13: ; bbWeight=2.35, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000
;; size=33 bbWeight=2.35 PerfScore 14.71
G_M10115_IG14: ; bbWeight=0.47, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
test eax, eax
- je G_M10115_IG23
+ je G_M10115_IG22
cmp r14d, edx
- je G_M10115_IG23
+ je G_M10115_IG22
mov word ptr [rdi+0x3E], dx
or rbx, 0xD1FFAB1E
;; size=28 bbWeight=0.47 PerfScore 1.76
@@ -253,7 +253,7 @@ G_M10115_IG17: ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
lea rcx, bword ptr [rsi+0x20]
; byrRegs +[rcx]
test rcx, rcx
- je SHORT G_M10115_IG24
+ je SHORT G_M10115_IG23
mov rdx, rdi
; gcrRegs +[rdx]
xor r8, r8
@@ -298,15 +298,13 @@ G_M10115_IG20: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
; byrRegs +[rsi]
mov rcx, rax
test ecx, 0xD1FFAB1E
+ jne SHORT G_M10115_IG19
mov rax, rcx
- je SHORT G_M10115_IG18
- ;; size=14 bbWeight=1 PerfScore 1.75
-G_M10115_IG21: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
- ; byrRegs -[rsi]
- jmp SHORT G_M10115_IG19
- ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M10115_IG22: ; bbWeight=0.12, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+ jmp SHORT G_M10115_IG18
+ ;; size=16 bbWeight=1 PerfScore 3.75
+G_M10115_IG21: ; bbWeight=0.12, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
; gcrRegs +[rsi rdi]
+ ; byrRegs -[rsi]
mov rcx, gword ptr [rsi+0x10]
; gcrRegs +[rcx]
mov ecx, dword ptr [rcx+0x08]
@@ -314,72 +312,72 @@ G_M10115_IG22: ; bbWeight=0.12, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000
mov word ptr [rdi+0x46], cx
jmp G_M10115_IG07
;; size=16 bbWeight=0.12 PerfScore 0.82
-G_M10115_IG23: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG22: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
or rbx, 520
jmp G_M10115_IG15
;; size=12 bbWeight=0 PerfScore 0.00
-G_M10115_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M10115_IG23: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rsi rdi]
call [System.ThrowHelper:ThrowNullReferenceException()]
; gcr arg pop 0
int3
;; size=7 bbWeight=0 PerfScore 0.00
-G_M10115_IG25: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M10115_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M10115_IG26: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG25: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rsi rdi]
xor r15d, r15d
- jmp SHORT G_M10115_IG28
+ jmp SHORT G_M10115_IG27
;; size=5 bbWeight=0 PerfScore 0.00
-G_M10115_IG27: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG26: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
inc r15d
lea rax, bword ptr [rdi+0x38]
; byrRegs +[rax]
inc word ptr [rax]
;; size=10 bbWeight=0 PerfScore 0.00
-G_M10115_IG28: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG27: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
; byrRegs -[rax]
mov rcx, gword ptr [rsi+0x08]
; gcrRegs +[rcx]
cmp r15d, dword ptr [rcx+0x08]
- jae SHORT G_M10115_IG25
+ jae SHORT G_M10115_IG24
mov eax, r15d
movzx rcx, word ptr [rcx+2*rax+0x0C]
; gcrRegs -[rcx]
call [System.UriHelper:IsLWS(ushort):ubyte]
; gcr arg pop 0
test eax, eax
- jne SHORT G_M10115_IG27
+ jne SHORT G_M10115_IG26
test ebx, 0xD1FFAB1E
je G_M10115_IG04
add r15d, 2
movzx rax, bx
- jmp SHORT G_M10115_IG30
+ jmp SHORT G_M10115_IG29
;; size=49 bbWeight=0 PerfScore 0.00
-G_M10115_IG29: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG28: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
inc r15d
;; size=3 bbWeight=0 PerfScore 0.00
-G_M10115_IG30: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG29: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
cmp r15d, eax
jge G_M10115_IG04
mov rcx, gword ptr [rsi+0x08]
; gcrRegs +[rcx]
cmp r15d, dword ptr [rcx+0x08]
- jae SHORT G_M10115_IG25
+ jae SHORT G_M10115_IG24
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 47
- je SHORT G_M10115_IG29
+ je SHORT G_M10115_IG28
mov rcx, gword ptr [rsi+0x08]
cmp r15d, dword ptr [rcx+0x08]
- jae SHORT G_M10115_IG25
+ jae SHORT G_M10115_IG24
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 92
- je SHORT G_M10115_IG29
+ je SHORT G_M10115_IG28
jmp G_M10115_IG04
;; size=56 bbWeight=0 PerfScore 0.00
-G_M10115_IG31: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
+G_M10115_IG30: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
lea rax, bword ptr [rdi+0x38]
; byrRegs +[rax]
@@ -387,7 +385,7 @@ G_M10115_IG31: ; bbWeight=0, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
mov r14d, r15d
jmp G_M10115_IG03
;; size=15 bbWeight=0 PerfScore 0.00
-G_M10115_IG32: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M10115_IG31: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
; gcrRegs +[r13]
; byrRegs -[rax]
mov ebp, 1
@@ -395,31 +393,31 @@ G_M10115_IG32: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000
test ebx, 0xD1FFAB1E
je G_M10115_IG04
;; size=21 bbWeight=0 PerfScore 0.00
-G_M10115_IG33: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG32: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref, isz
movzx rax, bx
- jmp SHORT G_M10115_IG35
+ jmp SHORT G_M10115_IG34
;; size=5 bbWeight=0 PerfScore 0.00
-G_M10115_IG34: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
+G_M10115_IG33: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref
mov ebp, 1
inc r15d
;; size=8 bbWeight=0 PerfScore 0.00
-G_M10115_IG35: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref, isz
+G_M10115_IG34: ; bbWeight=0, gcrefRegs=20C0 {rsi rdi r13}, byrefRegs=0000 {}, byref, isz
cmp r15d, eax
jge G_M10115_IG04
mov rcx, r13
; gcrRegs +[rcx]
cmp r15d, r12d
- jae G_M10115_IG25
+ jae G_M10115_IG24
mov edx, r15d
cmp word ptr [rcx+2*rdx+0x0C], 47
...
+0 (0.00%) : 536592.dasm - System.Text.GB18030Encoding:LoadManagedCodePage():this (Tier1-OSR)
@@ -35,7 +35,7 @@ G_M54596_IG02: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
G_M54596_IG03: ; bbWeight=2.06, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {}, byref
; gcrRegs +[rax]
cmp edx, dword ptr [rax+0x08]
- jae G_M54596_IG11
+ jae G_M54596_IG12
mov r10d, edx
movzx rax, word ptr [rax+2*r10+0x10]
; gcrRegs -[rax]
@@ -61,7 +61,7 @@ G_M54596_IG06: ; bbWeight=2.06, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
mov rax, gword ptr [rcx+0x80]
; gcrRegs +[rax]
cmp dword ptr [rax+0x08], edx
- jle G_M54596_IG12
+ jle G_M54596_IG11
jmp SHORT G_M54596_IG03
;; size=24 bbWeight=2.06 PerfScore 19.06
G_M54596_IG07: ; bbWeight=98.97, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
@@ -117,19 +117,17 @@ G_M54596_IG10: ; bbWeight=0.02, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
mov dword ptr [rsp+0x6C], r9d
jmp G_M54596_IG06
;; size=57 bbWeight=0.02 PerfScore 0.25
-G_M54596_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M54596_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[rcx]
- call CORINFO_HELP_RNGCHKFAIL
- ; gcr arg pop 0
- ;; size=5 bbWeight=0 PerfScore 0.00
-G_M54596_IG12: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- nop
- ;; size=1 bbWeight=0 PerfScore 0.00
-G_M54596_IG13: ; bbWeight=0, epilog, nogc, extend
add rsp, 176
pop rbp
ret
;; size=9 bbWeight=0 PerfScore 0.00
+G_M54596_IG12: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+ call CORINFO_HELP_RNGCHKFAIL
+ ; gcr arg pop 0
+ int3
+ ;; size=6 bbWeight=0 PerfScore 0.00
; Total bytes of code 307, prolog size 12, PerfScore 2403.89, instruction count 73, allocated bytes for code 307 (MethodHash=f30b2abb) for method System.Text.GB18030Encoding:LoadManagedCodePage():this (Tier1-OSR)
; ============================================================
+0 (0.00%) : 614836.dasm - Microsoft.CodeAnalysis.PEModule:GetTargetAttributeSignatureIndex(System.Reflection.Metadata.MetadataReader,System.Reflection.Metadata.CustomAttributeHandle,Microsoft.CodeAnalysis.AttributeDescription,byref):int (Tier1)
@@ -186,14 +186,14 @@ G_M6839_IG06: ; bbWeight=0.03, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}
mov rcx, gword ptr [rbx+0x10]
; gcrRegs +[rcx]
cmp dword ptr [rcx+0x08], 0
- jle G_M6839_IG28
+ jle G_M6839_IG27
;; size=115 bbWeight=0.03 PerfScore 0.81
G_M6839_IG07: ; bbWeight=0.03, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref
; gcrRegs -[rcx]
mov rcx, gword ptr [rbx+0x10]
; gcrRegs +[rcx]
cmp edi, dword ptr [rcx+0x08]
- jae G_M6839_IG25
+ jae G_M6839_IG24
mov eax, edi
mov r14, gword ptr [rcx+8*rax+0x10]
; gcrRegs +[r14]
@@ -205,39 +205,39 @@ G_M6839_IG07: ; bbWeight=0.03, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}
mov rdx, rcx
sub rdx, rax
cmp edx, 3
- jl G_M6839_IG21
+ jl G_M6839_IG20
cmp rax, rcx
- je G_M6839_IG27
+ je G_M6839_IG26
lea rcx, [rax+0x01]
mov qword ptr [rbp-0x48], rcx
movzx rcx, byte ptr [rax]
mov r15d, dword ptr [r14+0x08]
test r15d, r15d
- je G_M6839_IG25
+ je G_M6839_IG24
cmp cl, byte ptr [r14+0x10]
- jne G_M6839_IG21
+ jne G_M6839_IG20
mov rcx, qword ptr [rbp-0x48]
cmp rcx, qword ptr [rbp-0x50]
- je G_M6839_IG27
+ je G_M6839_IG26
lea rax, [rcx+0x01]
mov qword ptr [rbp-0x48], rax
movzx rcx, byte ptr [rcx]
cmp r15d, 1
- jbe G_M6839_IG25
+ jbe G_M6839_IG24
cmp cl, byte ptr [r14+0x11]
- jne G_M6839_IG21
+ jne G_M6839_IG20
;; size=139 bbWeight=0.03 PerfScore 1.07
G_M6839_IG08: ; bbWeight=0.03, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref, isz
mov rcx, qword ptr [rbp-0x48]
cmp rcx, qword ptr [rbp-0x50]
- je G_M6839_IG27
+ je G_M6839_IG26
lea rax, [rcx+0x01]
mov qword ptr [rbp-0x48], rax
movzx rcx, byte ptr [rcx]
cmp r15d, 2
- jbe G_M6839_IG25
+ jbe G_M6839_IG24
cmp cl, byte ptr [r14+0x12]
- jne G_M6839_IG21
+ jne G_M6839_IG20
mov r13d, 3
cmp r15d, 3
jle SHORT G_M6839_IG15
@@ -253,11 +253,11 @@ G_M6839_IG09: ; bbWeight=0.03, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {
; gcr arg pop 0
lea ecx, [rax-0x11]
cmp ecx, 1
- jbe G_M6839_IG23
+ jbe G_M6839_IG22
;; size=40 bbWeight=0.03 PerfScore 0.28
G_M6839_IG10: ; bbWeight=0.03, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref
cmp eax, 255
- jg G_M6839_IG26
+ jg G_M6839_IG25
movzx rdx, al
;; size=14 bbWeight=0.03 PerfScore 0.04
G_M6839_IG11: ; bbWeight=0.03, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref, isz
@@ -272,7 +272,7 @@ G_M6839_IG12: ; bbWeight=0.03, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {
;; size=5 bbWeight=0.03 PerfScore 0.03
G_M6839_IG13: ; bbWeight=0.03, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref, isz
cmp edx, 64
- je SHORT G_M6839_IG18
+ je SHORT G_M6839_IG17
;; size=5 bbWeight=0.03 PerfScore 0.03
G_M6839_IG14: ; bbWeight=0.06, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref, isz
inc r13d
@@ -284,20 +284,15 @@ G_M6839_IG15: ; bbWeight=0.03, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}
mov rax, qword ptr [rbp-0x50]
sub rax, qword ptr [rbp-0x48]
test eax, eax
- jne G_M6839_IG21
+ jne G_M6839_IG20
;; size=16 bbWeight=0.03 PerfScore 0.12
G_M6839_IG16: ; bbWeight=0.03, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref
cmp r15d, r13d
- jne G_M6839_IG21
- ;; size=9 bbWeight=0.03 PerfScore 0.03
-G_M6839_IG17: ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
- ; gcrRegs -[rsi]
- ; byrRegs -[rbx]
- jmp G_M6839_IG30
- ;; size=5 bbWeight=0.01 PerfScore 0.03
-G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref
- ; gcrRegs +[rsi r14]
- ; byrRegs +[rbx]
+ jne G_M6839_IG20
+ jmp G_M6839_IG29
+ ;; size=14 bbWeight=0.03 PerfScore 0.09
+G_M6839_IG17: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref
+ ; gcrRegs +[r14]
lea rcx, [rbp-0x60]
mov rax, 0xD1FFAB1E ; code for System.Reflection.Metadata.BlobReader:ReadTypeHandle():System.Reflection.Metadata.EntityHandle:this
call [rax]System.Reflection.Metadata.BlobReader:ReadTypeHandle():System.Reflection.Metadata.EntityHandle:this
@@ -307,9 +302,9 @@ G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {
shr ecx, 24
movzx r12, cl
cmp r12d, 2
- jne G_M6839_IG24
+ jne G_M6839_IG23
;; size=41 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref, isz
+G_M6839_IG18: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref, isz
mov ecx, eax
mov rax, 0xD1FFAB1E ; code for System.Reflection.Metadata.TypeDefinitionHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeDefinitionHandle
call [rax]System.Reflection.Metadata.TypeDefinitionHandle:op_Explicit(System.Reflection.Metadata.EntityHandle):System.Reflection.Metadata.TypeDefinitionHandle
@@ -343,7 +338,7 @@ G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {
call [rax]System.Reflection.Metadata.TypeDefinition:get_Namespace():System.Reflection.Metadata.StringHandle:this
; gcr arg pop 0
;; size=99 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG20: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref
+G_M6839_IG19: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref
mov rcx, 0xD1FFAB1E ; box for <unknown class>:<unknown field>
mov rcx, gword ptr [rcx]
; gcrRegs +[rcx]
@@ -351,11 +346,11 @@ G_M6839_IG20: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {
lea r10d, [r13+0x01]
mov dword ptr [rbp-0x94], r10d
cmp r10d, r15d
- jae G_M6839_IG25
+ jae G_M6839_IG24
mov edx, r10d
movzx rdx, byte ptr [r14+rdx+0x10]
cmp edx, dword ptr [rcx+0x08]
- jae G_M6839_IG25
+ jae G_M6839_IG24
lea rdx, [rdx+2*rdx]
lea rcx, bword ptr [rcx+8*rdx+0x10]
; gcrRegs -[rcx]
@@ -393,24 +388,24 @@ G_M6839_IG20: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {
mov r13d, dword ptr [rbp-0x94]
jmp G_M6839_IG14
;; size=154 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG21: ; bbWeight=0.03, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref
+G_M6839_IG20: ; bbWeight=0.03, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref
; gcrRegs -[r14]
inc edi
mov rax, gword ptr [rbx+0x10]
; gcrRegs +[rax]
cmp dword ptr [rax+0x08], edi
- jle G_M6839_IG28
+ jle G_M6839_IG27
;; size=15 bbWeight=0.03 PerfScore 0.17
-G_M6839_IG22: ; bbWeight=0.01, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref
+G_M6839_IG21: ; bbWeight=0.01, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx}, byref
; gcrRegs -[rax]
jmp G_M6839_IG07
;; size=5 bbWeight=0.01 PerfScore 0.03
-G_M6839_IG23: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref
+G_M6839_IG22: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref
; gcrRegs +[r14]
mov edx, 64
jmp G_M6839_IG11
;; size=10 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG24: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref
+G_M6839_IG23: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref
cmp r12d, 1
jne G_M6839_IG15
mov ecx, eax
@@ -444,21 +439,21 @@ G_M6839_IG24: ; bbWeight=0.00, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {
mov rax, 0xD1FFAB1E ; code for System.Reflection.Metadata.TypeReference:get_Namespace():System.Reflection.Metadata.StringHandle:this
call [rax]System.Reflection.Metadata.TypeReference:get_Namespace():System.Reflection.Metadata.StringHandle:this
; gcr arg pop 0
- jmp G_M6839_IG20
+ jmp G_M6839_IG19
;; size=124 bbWeight=0.00 PerfScore 0.00
-G_M6839_IG25: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG24: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rsi r14]
; byrRegs -[rbx]
call CORINFO_HELP_RNGCHKFAIL
; gcr arg pop 0
;; size=5 bbWeight=0 PerfScore 0.00
-G_M6839_IG26: ; bbWeight=0, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref
+G_M6839_IG25: ; bbWeight=0, gcrefRegs=4040 {rsi r14}, byrefRegs=0008 {rbx}, byref
; gcrRegs +[rsi r14]
; byrRegs +[rbx]
xor edx, edx
jmp G_M6839_IG11
;; size=7 bbWeight=0 PerfScore 0.00
-G_M6839_IG27: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG26: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rsi r14]
; byrRegs -[rbx]
mov rax, 0xD1FFAB1E ; code for System.Reflection.Throw:OutOfBounds()
@@ -466,10 +461,10 @@ G_M6839_IG27: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
int3
;; size=13 bbWeight=0 PerfScore 0.00
-G_M6839_IG28: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M6839_IG27: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov eax, -1
;; size=5 bbWeight=0 PerfScore 0.00
-G_M6839_IG29: ; bbWeight=0, epilog, nogc, extend
+G_M6839_IG28: ; bbWeight=0, epilog, nogc, extend
add rsp, 168
pop rbx
pop rsi
@@ -481,10 +476,10 @@ G_M6839_IG29: ; bbWeight=0, epilog, nogc, extend
pop rbp
ret
;; size=20 bbWeight=0 PerfScore 0.00
-G_M6839_IG30: ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M6839_IG29: ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
mov eax, edi
;; size=2 bbWeight=0.03 PerfScore 0.01
-G_M6839_IG31: ; bbWeight=0.03, epilog, nogc, extend
+G_M6839_IG30: ; bbWeight=0.03, epilog, nogc, extend
add rsp, 168
pop rbx
pop rsi
@@ -496,7 +491,7 @@ G_M6839_IG31: ; bbWeight=0.03, epilog, nogc, extend
pop rbp
ret
;; size=20 bbWeight=0.03 PerfScore 0.14
-G_M6839_IG32: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M6839_IG31: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
push rbp
push r15
push r14
@@ -510,10 +505,10 @@ G_M6839_IG32: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
mov qword ptr [rsp+0x30], rbp
lea rbp, [rbp+0xE0]
;; size=32 bbWeight=0 PerfScore 0.00
-G_M6839_IG33: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
- lea rax, G_M6839_IG28
+G_M6839_IG32: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
...
Details
Improvements/regressions per collection
Collection |
Contexts with diffs |
Improvements |
Regressions |
Same size |
Improvements (bytes) |
Regressions (bytes) |
aspnet.run.windows.x64.checked.mch |
17 |
0 |
6 |
11 |
-0 |
+24 |
benchmarks.run.windows.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
benchmarks.run_pgo.windows.x64.checked.mch |
3 |
2 |
1 |
0 |
-12 |
+27 |
benchmarks.run_tiered.windows.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
coreclr_tests.run.windows.x64.checked.mch |
2 |
0 |
0 |
2 |
-0 |
+0 |
libraries.crossgen2.windows.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
libraries.pmi.windows.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
libraries_tests.run.windows.x64.Release.mch |
83 |
69 |
0 |
14 |
-362 |
+0 |
librariestestsnotieredcompilation.run.windows.x64.Release.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
realworld.run.windows.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
smoke_tests.nativeaot.windows.x64.checked.mch |
0 |
0 |
0 |
0 |
-0 |
+0 |
|
105 |
71 |
7 |
27 |
-374 |
+51 |
Context information
Collection |
Diffed contexts |
MinOpts |
FullOpts |
Missed, base |
Missed, diff |
aspnet.run.windows.x64.checked.mch |
129,290 |
61,702 |
67,588 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run.windows.x64.checked.mch |
27,926 |
4 |
27,922 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_pgo.windows.x64.checked.mch |
103,183 |
50,327 |
52,856 |
0 (0.00%) |
0 (0.00%) |
benchmarks.run_tiered.windows.x64.checked.mch |
53,511 |
36,872 |
16,639 |
0 (0.00%) |
0 (0.00%) |
coreclr_tests.run.windows.x64.checked.mch |
574,384 |
341,481 |
232,903 |
1 (0.00%) |
1 (0.00%) |
libraries.crossgen2.windows.x64.checked.mch |
243,730 |
15 |
243,715 |
1 (0.00%) |
1 (0.00%) |
libraries.pmi.windows.x64.checked.mch |
309,227 |
6 |
309,221 |
1 (0.00%) |
1 (0.00%) |
libraries_tests.run.windows.x64.Release.mch |
681,424 |
485,046 |
196,378 |
0 (0.00%) |
0 (0.00%) |
librariestestsnotieredcompilation.run.windows.x64.Release.mch |
320,536 |
21,924 |
298,612 |
0 (0.00%) |
0 (0.00%) |
realworld.run.windows.x64.checked.mch |
36,610 |
3 |
36,607 |
0 (0.00%) |
0 (0.00%) |
smoke_tests.nativeaot.windows.x64.checked.mch |
32,388 |
11 |
32,377 |
0 (0.00%) |
0 (0.00%) |
|
2,512,209 |
997,391 |
1,514,818 |
3 (0.00%) |
3 (0.00%) |
jit-analyze output
aspnet.run.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 47040723 (overridden on cmd)
Total bytes of diff: 47040747 (overridden on cmd)
Total bytes of delta: 24 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
4 : 49799.dasm (1.04 % of base)
4 : 52252.dasm (1.04 % of base)
4 : 60172.dasm (1.04 % of base)
4 : 66048.dasm (1.04 % of base)
4 : 82466.dasm (1.04 % of base)
4 : 46599.dasm (1.04 % of base)
6 total files with Code Size differences (0 improved, 6 regressed), 11 unchanged.
Top method regressions (bytes):
4 (1.04 % of base) : 49799.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
4 (1.04 % of base) : 52252.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
4 (1.04 % of base) : 60172.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
4 (1.04 % of base) : 66048.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
4 (1.04 % of base) : 82466.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
4 (1.04 % of base) : 46599.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
Top method regressions (percentages):
4 (1.04 % of base) : 49799.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
4 (1.04 % of base) : 52252.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
4 (1.04 % of base) : 60172.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
4 (1.04 % of base) : 66048.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
4 (1.04 % of base) : 82466.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
4 (1.04 % of base) : 46599.dasm - Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker:InvokeNextResourceFilter():System.Threading.Tasks.Task:this (Tier1)
6 total methods with Code Size differences (0 improved, 6 regressed).
benchmarks.run_pgo.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 36232799 (overridden on cmd)
Total bytes of diff: 36232814 (overridden on cmd)
Total bytes of delta: 15 (0.00 % of base)
diff is a regression.
relative diff is a regression.
Detail diffs
Top file regressions (bytes):
27 : 33275.dasm (3.53 % of base)
Top file improvements (bytes):
-7 : 68905.dasm (-0.20 % of base)
-5 : 90334.dasm (-1.19 % of base)
3 total files with Code Size differences (2 improved, 1 regressed), 0 unchanged.
Top method regressions (bytes):
27 (3.53 % of base) : 33275.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1+<SingleSerial>d__21[ubyte]:MoveNext():this (Tier1)
Top method improvements (bytes):
-7 (-0.20 % of base) : 68905.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-5 (-1.19 % of base) : 90334.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
Top method regressions (percentages):
27 (3.53 % of base) : 33275.dasm - System.Buffers.Tests.RentReturnArrayPoolTests`1+<SingleSerial>d__21[ubyte]:MoveNext():this (Tier1)
Top method improvements (percentages):
-5 (-1.19 % of base) : 90334.dasm - Benchstone.MDBenchI.MDGeneralArray:Bench(int,int[,,],int[,,]):ubyte (Tier1-OSR)
-7 (-0.20 % of base) : 68905.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
3 total methods with Code Size differences (2 improved, 1 regressed).
coreclr_tests.run.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 393207052 (overridden on cmd)
Total bytes of diff: 393207052 (overridden on cmd)
Total bytes of delta: 0 (0.00 % of base)
Detail diffs
0 total files with Code Size differences (0 improved, 0 regressed), 2 unchanged.
0 total methods with Code Size differences (0 improved, 0 regressed).
libraries_tests.run.windows.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 282129292 (overridden on cmd)
Total bytes of diff: 282128930 (overridden on cmd)
Total bytes of delta: -362 (-0.00 % of base)
diff is an improvement.
relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
-11 : 411765.dasm (-1.04 % of base)
-10 : 615870.dasm (-0.25 % of base)
-9 : 57220.dasm (-0.25 % of base)
-7 : 89700.dasm (-0.20 % of base)
-5 : 115406.dasm (-2.46 % of base)
-5 : 167401.dasm (-0.15 % of base)
-5 : 265477.dasm (-2.46 % of base)
-5 : 372725.dasm (-2.46 % of base)
-5 : 412100.dasm (-2.46 % of base)
-5 : 449550.dasm (-2.26 % of base)
-5 : 461217.dasm (-2.46 % of base)
-5 : 518348.dasm (-2.46 % of base)
-5 : 537564.dasm (-2.46 % of base)
-5 : 540808.dasm (-2.46 % of base)
-5 : 608341.dasm (-2.46 % of base)
-5 : 659973.dasm (-2.46 % of base)
-5 : 669297.dasm (-2.46 % of base)
-5 : 679452.dasm (-2.46 % of base)
-5 : 68322.dasm (-2.46 % of base)
-5 : 132866.dasm (-2.46 % of base)
32 total files with Code Size differences (32 improved, 0 regressed), 14 unchanged.
Top method improvements (bytes):
-11 (-1.04 % of base) : 411765.dasm - System.Uri:CreateUriInfo(ulong):this (Tier1)
-10 (-0.25 % of base) : 615870.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-9 (-0.25 % of base) : 57220.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-7 (-0.20 % of base) : 89700.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-5 (-0.15 % of base) : 167401.dasm - Microsoft.CodeAnalysis.CSharp.Binder:<BindExpressionInternal>g__bindExpressionInternal|325_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag,ubyte,ubyte):Microsoft.CodeAnalysis.CSharp.BoundExpression:this (Tier1)
-5 (-2.46 % of base) : 115406.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 265477.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 372725.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 412100.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.26 % of base) : 449550.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 461217.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 518348.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 537564.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 540808.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 608341.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 659973.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 669297.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 679452.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 68322.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 132866.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
Top method improvements (percentages):
-5 (-2.46 % of base) : 115406.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 265477.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 372725.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 412100.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 461217.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 518348.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 537564.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 540808.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 608341.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 659973.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 669297.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 679452.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 68322.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 132866.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 147218.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 194297.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 238541.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 290853.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 456321.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)
-5 (-2.46 % of base) : 457293.dasm - Xunit.JsonBuffer:ReadNextChar():int:this (Tier1)