-
Notifications
You must be signed in to change notification settings - Fork 5k
[APX] fix bugs in NDD code gen #115809
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
[APX] fix bugs in NDD code gen #115809
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
Ran asmdiffs locally with APX NDD on. MISSED contexts: 42,231 (1.50%) Base JIT options: JitBypassApxCheck=1;EnableApxNDD=1 Diff JIT options: JitBypassApxCheck=1;EnableApxNDD=1 Overall (-3,266 bytes)
FullOpts (-3,266 bytes)
Example diffsaspnet.run.windows.x64.checked.mch-3 (-4.48%) : 45180.dasm - System.Number+BigInteger:Compare(byref,byref):int (Tier1)@@ -27,9 +27,8 @@ G_M22218_IG02: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0006 {rcx rdx},
; byrRegs +[rcx rdx]
mov eax, dword ptr [rcx]
sub r8d, eax, dword ptr [rdx]
- test r8d, r8d
jne SHORT G_M22218_IG10
- ;; size=13 bbWeight=1 PerfScore 6.25
+ ;; size=10 bbWeight=1 PerfScore 6.00
G_M22218_IG03: ; bbWeight=0.78, gcrefRegs=0000 {}, byrefRegs=0006 {rcx rdx}, byref, isz
test eax, eax
je SHORT G_M22218_IG08
@@ -72,7 +71,7 @@ G_M22218_IG11: ; bbWeight=0.22, epilog, nogc, extend
ret
;; size=1 bbWeight=0.22 PerfScore 0.22
-; Total bytes of code 67, prolog size 0, PerfScore 15.92, instruction count 24, allocated bytes for code 67 (MethodHash=56e2a935) for method System.Number+BigInteger:Compare(byref,byref):int (Tier1)
+; Total bytes of code 64, prolog size 0, PerfScore 15.67, instruction count 23, allocated bytes for code 64 (MethodHash=56e2a935) for method System.Number+BigInteger:Compare(byref,byref):int (Tier1)
; ============================================================
Unwind Info: -6 (-2.07%) : 85469.dasm - System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (Tier1)@@ -61,10 +61,9 @@ G_M53248_IG06: ; bbWeight=0.35, gcVars=0000000000000000 {}, gcrefRegs=000
;; size=37 bbWeight=0.35 PerfScore 2.56
G_M53248_IG07: ; bbWeight=0.12, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
add rax, rdx, qword ptr [rcx+0x38]
- test rax, rax
- jge SHORT G_M53248_IG04
+ jns SHORT G_M53248_IG04
jmp SHORT G_M53248_IG10
- ;; size=14 bbWeight=0.12 PerfScore 0.78
+ ;; size=11 bbWeight=0.12 PerfScore 0.75
G_M53248_IG08: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
xor rcx, rcx
@@ -123,8 +122,7 @@ G_M53248_IG10: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M53248_IG11: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
; gcrRegs +[rcx]
add rax, rdx, qword ptr [rcx+0x30]
- test rax, rax
- jge G_M53248_IG04
+ jns G_M53248_IG04
mov rcx, 0xD1FFAB1E ; <unknown class>
; gcrRegs -[rcx]
call CORINFO_HELP_NEWSFAST
@@ -147,7 +145,7 @@ G_M53248_IG11: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
; gcrRegs -[rcx rbx]
; gcr arg pop 0
int3
- ;; size=61 bbWeight=0 PerfScore 0.00
+ ;; size=58 bbWeight=0 PerfScore 0.00
G_M53248_IG12: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rcx, 0xD1FFAB1E ; <unknown class>
call CORINFO_HELP_NEWSFAST
@@ -176,7 +174,7 @@ RWD00 dd G_M53248_IG03 - G_M53248_IG02
dd G_M53248_IG11 - G_M53248_IG02
-; Total bytes of code 290, prolog size 5, PerfScore 13.90, instruction count 71, allocated bytes for code 290 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (Tier1)
+; Total bytes of code 284, prolog size 5, PerfScore 13.87, instruction count 69, allocated bytes for code 284 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (Tier1)
; ============================================================
Unwind Info: -2 (-1.52%) : 96602.dasm - System.Text.StringBuilder:get_Chars(int):ushort:this (Tier1)@@ -26,9 +26,8 @@ G_M31101_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M31101_IG02: ; bbWeight=1.00, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rcx]
sub eax, edx, dword ptr [rcx+0x1C]
- test eax, eax
- jl SHORT G_M31101_IG05
- ;; size=11 bbWeight=1.00 PerfScore 4.25
+ js SHORT G_M31101_IG05
+ ;; size=9 bbWeight=1.00 PerfScore 4.00
G_M31101_IG03: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
cmp eax, dword ptr [rcx+0x18]
jge SHORT G_M31101_IG06
@@ -94,7 +93,7 @@ G_M31101_IG08: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 132, prolog size 5, PerfScore 19.50, instruction count 37, allocated bytes for code 132 (MethodHash=80738682) for method System.Text.StringBuilder:get_Chars(int):ushort:this (Tier1)
+; Total bytes of code 130, prolog size 5, PerfScore 19.25, instruction count 36, allocated bytes for code 130 (MethodHash=80738682) for method System.Text.StringBuilder:get_Chars(int):ushort:this (Tier1)
; ============================================================
Unwind Info: -2 (-0.03%) : 168690.dasm - OrchardCore.DisplayManagement.Descriptors.DefaultShapeTableManager:BuildDescriptors(OrchardCore.DisplayManagement.Descriptors.IShapeTableProvider,System.Collections.Generic.IEnumerable`1[OrchardCore.DisplayManagement.Descriptors.ShapeAlteration],System.Collections.Generic.Dictionary`2[System.String,OrchardCore.DisplayManagement.Descriptors.FeatureShapeDescriptor]) (Tier1-OSR)@@ -1727,8 +1727,7 @@ G_M11229_IG105: ; bbWeight=0.62, gcrefRegs=E0C8 {rbx rsi rdi r13 r14 r15}
G_M11229_IG106: ; bbWeight=0.60, gcrefRegs=E0C8 {rbx rsi rdi r13 r14 r15}, byrefRegs=0000 {}, byref
mov r12d, dword ptr [r14+0x08]
add ecx, r12d, dword ptr [r13+0x08]
- test ecx, ecx
- jl G_M11229_IG133
+ js G_M11229_IG133
call <unknown method>
; gcrRegs +[rax]
; gcr arg pop 0
@@ -1759,7 +1758,7 @@ G_M11229_IG106: ; bbWeight=0.60, gcrefRegs=E0C8 {rbx rsi rdi r13 r14 r15}
; byrRegs -[rcx rdx]
; gcr arg pop 0
nop
- ;; size=87 bbWeight=0.60 PerfScore 15.55
+ ;; size=85 bbWeight=0.60 PerfScore 15.40
G_M11229_IG107: ; bbWeight=0.78, gcVars=000000000000000000000000000000000000080000402010 {V00 V02 V03 V217}, gcrefRegs=90C8 {rbx rsi rdi r12 r15}, byrefRegs=0000 {}, gcvars, byref
; GC ptr vars -{V234}
test r12, r12
@@ -3390,7 +3389,7 @@ G_M11229_IG259: ; bbWeight=0.00, funclet epilog, nogc, extend
ret
;; size=5 bbWeight=0.00 PerfScore 0.00
-; Total bytes of code 6721, prolog size 96, PerfScore 654.73, instruction count 1474, allocated bytes for code 6721 (MethodHash=fa99d422) for method OrchardCore.DisplayManagement.Descriptors.DefaultShapeTableManager:BuildDescriptors(OrchardCore.DisplayManagement.Descriptors.IShapeTableProvider,System.Collections.Generic.IEnumerable`1[OrchardCore.DisplayManagement.Descriptors.ShapeAlteration],System.Collections.Generic.Dictionary`2[System.String,OrchardCore.DisplayManagement.Descriptors.FeatureShapeDescriptor]) (Tier1-OSR)
+; Total bytes of code 6719, prolog size 96, PerfScore 654.58, instruction count 1473, allocated bytes for code 6719 (MethodHash=fa99d422) for method OrchardCore.DisplayManagement.Descriptors.DefaultShapeTableManager:BuildDescriptors(OrchardCore.DisplayManagement.Descriptors.IShapeTableProvider,System.Collections.Generic.IEnumerable`1[OrchardCore.DisplayManagement.Descriptors.ShapeAlteration],System.Collections.Generic.Dictionary`2[System.String,OrchardCore.DisplayManagement.Descriptors.FeatureShapeDescriptor]) (Tier1-OSR)
; ============================================================
Unwind Info: -2 (-0.06%) : 115487.dasm - System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (Tier1-OSR)@@ -825,12 +825,11 @@ G_M53260_IG50: ; bbWeight=0.17, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
;; size=72 bbWeight=0.17 PerfScore 2.67
G_M53260_IG51: ; bbWeight=0.09, gcrefRegs=04C8 {rbx rsi rdi r10}, byrefRegs=1000 {r12}, byref, isz
sub edx, eax, dword ptr [r10+0x1C]
- test edx, edx
- jl G_M53260_IG63
+ js G_M53260_IG63
mov r11d, dword ptr [r10+0x18]
cmp edx, r11d
jle SHORT G_M53260_IG58
- ;; size=24 bbWeight=0.09 PerfScore 0.66
+ ;; size=22 bbWeight=0.09 PerfScore 0.63
G_M53260_IG52: ; bbWeight=0.09, gcrefRegs=04C8 {rbx rsi rdi r10}, byrefRegs=1000 {r12}, byref
mov edx, r8d
sub r11d, edx
@@ -1804,7 +1803,7 @@ RWD52 dd G_M53260_IG138 - G_M53260_IG02
dd G_M53260_IG138 - G_M53260_IG02
-; Total bytes of code 3217, prolog size 93, PerfScore 587.74, instruction count 718, allocated bytes for code 3217 (MethodHash=76ae2ff3) for method System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (Tier1-OSR)
+; Total bytes of code 3215, prolog size 93, PerfScore 587.72, instruction count 717, allocated bytes for code 3215 (MethodHash=76ae2ff3) for method System.Data.Common.DbConnectionOptions:GetKeyValuePair(System.String,int,System.Text.StringBuilder,ubyte,byref,byref):int (Tier1-OSR)
; ============================================================
Unwind Info: -2 (-0.10%) : 34003.dasm - System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (Instrumented Tier1)@@ -725,9 +725,8 @@ G_M40364_IG63: ; bbWeight=4.36, gcrefRegs=000C {rdx rbx}, byrefRegs=40A0
G_M40364_IG64: ; bbWeight=3.93, gcVars=00000000000000000000000000000012 {V05 V12}, gcrefRegs=0408 {rbx r10}, byrefRegs=40A0 {rbp rdi r14}, gcvars, byref, isz
; gcrRegs -[rdx]
and ecx, esi, dword ptr [r10+0x10]
- test ecx, ecx
jle SHORT G_M40364_IG59
- ;; size=11 bbWeight=3.93 PerfScore 16.70
+ ;; size=9 bbWeight=3.93 PerfScore 15.71
G_M40364_IG65: ; bbWeight=2.04, gcrefRegs=0408 {rbx r10}, byrefRegs=40A0 {rbp rdi r14}, byref
mov rcx, gword ptr [r10+0x08]
; gcrRegs +[rcx]
@@ -968,7 +967,7 @@ G_M40364_IG90: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1966, prolog size 48, PerfScore 269.53, instruction count 434, allocated bytes for code 1966 (MethodHash=62976253) for method System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (Instrumented Tier1)
+; Total bytes of code 1964, prolog size 48, PerfScore 268.55, instruction count 433, allocated bytes for code 1964 (MethodHash=62976253) for method System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (Instrumented Tier1)
; ============================================================
Unwind Info: benchmarks.run.windows.x64.checked.mch-3 (-2.63%) : 15725.dasm - V8.Crypto.BigInteger:compareTo(V8.Crypto.BigInteger):int:this (FullOpts)@@ -41,9 +41,8 @@ G_M36520_IG03: ; bbWeight=0.50, gcrefRegs=0107 {rax rcx rdx r8}, byrefReg
mov ecx, dword ptr [rcx+0x10]
; gcrRegs -[rcx]
sub r10d, ecx, dword ptr [rdx+0x10]
- test r10d, r10d
jne SHORT G_M36520_IG06
- ;; size=15 bbWeight=0.50 PerfScore 3.12
+ ;; size=12 bbWeight=0.50 PerfScore 3.00
G_M36520_IG04: ; bbWeight=4, gcrefRegs=0101 {rax r8}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rdx]
dec ecx
@@ -94,7 +93,7 @@ G_M36520_IG11: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 114, prolog size 4, PerfScore 74.00, instruction count 36, allocated bytes for code 114 (MethodHash=f4147157) for method V8.Crypto.BigInteger:compareTo(V8.Crypto.BigInteger):int:this (FullOpts)
+; Total bytes of code 111, prolog size 4, PerfScore 73.88, instruction count 35, allocated bytes for code 111 (MethodHash=f4147157) for method V8.Crypto.BigInteger:compareTo(V8.Crypto.BigInteger):int:this (FullOpts)
; ============================================================
Unwind Info: -6 (-2.10%) : 946.dasm - System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (FullOpts)@@ -45,16 +45,14 @@ G_M53248_IG03: ; bbWeight=0.75, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
;; size=27 bbWeight=0.75 PerfScore 4.50
G_M53248_IG04: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
add rax, rdx, qword ptr [rcx+0x30]
- test rax, rax
- jge SHORT G_M53248_IG07
+ jns SHORT G_M53248_IG07
jmp G_M53248_IG12
- ;; size=17 bbWeight=0.50 PerfScore 3.12
+ ;; size=14 bbWeight=0.50 PerfScore 3.00
G_M53248_IG05: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
add rax, rdx, qword ptr [rcx+0x38]
- test rax, rax
- jge SHORT G_M53248_IG07
+ jns SHORT G_M53248_IG07
jmp SHORT G_M53248_IG11
- ;; size=14 bbWeight=0.50 PerfScore 3.12
+ ;; size=11 bbWeight=0.50 PerfScore 3.00
G_M53248_IG06: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
mov rax, rdx
test rax, rax
@@ -174,7 +172,7 @@ RWD00 dd G_M53248_IG06 - G_M53248_IG02
dd G_M53248_IG04 - G_M53248_IG02
-; Total bytes of code 286, prolog size 5, PerfScore 22.50, instruction count 70, allocated bytes for code 286 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (FullOpts)
+; Total bytes of code 280, prolog size 5, PerfScore 22.25, instruction count 68, allocated bytes for code 280 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (FullOpts)
; ============================================================
Unwind Info: -2 (-1.63%) : 10211.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)@@ -34,9 +34,8 @@ G_M4769_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
;; size=12 bbWeight=1 PerfScore 3.75
G_M4769_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
sub edi, esi, dword ptr [rbx+0x20]
- test edi, edi
- jl SHORT G_M4769_IG04
- ;; size=11 bbWeight=1 PerfScore 4.25
+ js SHORT G_M4769_IG04
+ ;; size=9 bbWeight=1 PerfScore 4.00
G_M4769_IG03: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp edi, dword ptr [rbx+0x2C]
jle SHORT G_M4769_IG07
@@ -94,7 +93,7 @@ G_M4769_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ret
;; size=8 bbWeight=1 PerfScore 2.75
-; Total bytes of code 123, prolog size 7, PerfScore 30.12, instruction count 45, allocated bytes for code 123 (MethodHash=2f60ed5e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)
+; Total bytes of code 121, prolog size 7, PerfScore 29.88, instruction count 44, allocated bytes for code 121 (MethodHash=2f60ed5e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.13%) : 6935.dasm - System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (FullOpts)@@ -283,9 +283,8 @@ G_M40364_IG11: ; bbWeight=4, gcVars=00000000000000000000000000200000 {V12
test r8, r8
je G_M40364_IG40
and ecx, edi, dword ptr [r8+0x10]
- test ecx, ecx
jle G_M40364_IG37
- ;; size=47 bbWeight=4 PerfScore 51.00
+ ;; size=45 bbWeight=4 PerfScore 50.00
G_M40364_IG12: ; bbWeight=2, gcVars=00000000000000000000000000200001 {V05 V12}, gcrefRegs=0140 {rsi r8}, byrefRegs=4028 {rbx rbp r14}, gcvars, byref
; gcrRegs -[rax]
mov rcx, gword ptr [r8+0x08]
@@ -758,7 +757,7 @@ G_M40364_IG51: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1525, prolog size 60, PerfScore 623.21, instruction count 368, allocated bytes for code 1525 (MethodHash=62976253) for method System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (FullOpts)
+; Total bytes of code 1523, prolog size 60, PerfScore 622.21, instruction count 367, allocated bytes for code 1523 (MethodHash=62976253) for method System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.27%) : 2633.dasm - System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (FullOpts)@@ -215,8 +215,7 @@ G_M36988_IG23: ; bbWeight=64, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}
;; size=7 bbWeight=64 PerfScore 256.00
G_M36988_IG24: ; bbWeight=32, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
sub ecx, edi, dword ptr [r14+0x58]
- test ecx, ecx
- jl SHORT G_M36988_IG27
+ js SHORT G_M36988_IG27
mov rcx, r14
; gcrRegs +[rcx]
call [System.Threading.RegisteredWaitHandle:RequestCallback():this]
@@ -233,7 +232,7 @@ G_M36988_IG24: ; bbWeight=32, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}
; gcrRegs -[rcx rdx]
; gcr arg pop 0
jmp SHORT G_M36988_IG26
- ;; size=44 bbWeight=32 PerfScore 552.00
+ ;; size=42 bbWeight=32 PerfScore 544.00
G_M36988_IG25: ; bbWeight=32, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
cmp dword ptr [r14+0x54], -1
je SHORT G_M36988_IG26
@@ -412,7 +411,7 @@ G_M36988_IG39: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 747, prolog size 22, PerfScore 4974.12, instruction count 191, allocated bytes for code 747 (MethodHash=95a76f83) for method System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (FullOpts)
+; Total bytes of code 745, prolog size 22, PerfScore 4966.12, instruction count 190, allocated bytes for code 745 (MethodHash=95a76f83) for method System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.39%) : 12406.dasm - System.Text.StringBuilder:CopyTo(int,System.Span`1[ushort],int):this (FullOpts)@@ -114,9 +114,8 @@ G_M20344_IG04: ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0020 {rbp},
;; size=26 bbWeight=2 PerfScore 7.00
G_M20344_IG05: ; bbWeight=4, gcrefRegs=0040 {rsi}, byrefRegs=0020 {rbp}, byref
sub ecx, edi, dword ptr [rsi+0x1C]
- test ecx, ecx
- jl G_M20344_IG15
- ;; size=15 bbWeight=4 PerfScore 17.00
+ js G_M20344_IG15
+ ;; size=13 bbWeight=4 PerfScore 16.00
G_M20344_IG06: ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0020 {rbp}, byref, isz
mov edx, dword ptr [rsi+0x18]
cmp ecx, edx
@@ -304,7 +303,7 @@ G_M20344_IG21: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=45 bbWeight=0 PerfScore 0.00
-; Total bytes of code 514, prolog size 24, PerfScore 160.62, instruction count 137, allocated bytes for code 514 (MethodHash=f81fb087) for method System.Text.StringBuilder:CopyTo(int,System.Span`1[ushort],int):this (FullOpts)
+; Total bytes of code 512, prolog size 24, PerfScore 159.62, instruction count 136, allocated bytes for code 512 (MethodHash=f81fb087) for method System.Text.StringBuilder:CopyTo(int,System.Span`1[ushort],int):this (FullOpts)
; ============================================================
Unwind Info: benchmarks.run_pgo.windows.x64.checked.mch-10 (-3.51%) : 120193.dasm - System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (Tier1)@@ -44,9 +44,8 @@ G_M53248_IG02: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
;; size=43 bbWeight=1 PerfScore 11.25
G_M53248_IG03: ; bbWeight=0.60, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
add rax, rdx, qword ptr [rcx+0x38]
- test rax, rax
- jl SHORT G_M53248_IG09
- ;; size=12 bbWeight=0.60 PerfScore 2.55
+ js SHORT G_M53248_IG09
+ ;; size=9 bbWeight=0.60 PerfScore 2.40
G_M53248_IG04: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
mov qword ptr [rcx+0x38], rax
;; size=4 bbWeight=1 PerfScore 1.00
@@ -116,11 +115,10 @@ G_M53248_IG09: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
int3
;; size=45 bbWeight=0 PerfScore 0.00
-G_M53248_IG10: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+G_M53248_IG10: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rcx]
add rax, rdx, qword ptr [rcx+0x30]
- test rax, rax
- jge G_M53248_IG04
+ jns SHORT G_M53248_IG04
mov rcx, 0xD1FFAB1E ; <unknown class>
; gcrRegs -[rcx]
call CORINFO_HELP_NEWSFAST
@@ -143,7 +141,7 @@ G_M53248_IG10: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
; gcrRegs -[rcx rbx]
; gcr arg pop 0
int3
- ;; size=61 bbWeight=0 PerfScore 0.00
+ ;; size=54 bbWeight=0 PerfScore 0.00
G_M53248_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rcx, 0xD1FFAB1E ; <unknown class>
call CORINFO_HELP_NEWSFAST
@@ -172,7 +170,7 @@ RWD00 dd G_M53248_IG06 - G_M53248_IG02
dd G_M53248_IG10 - G_M53248_IG02
-; Total bytes of code 285, prolog size 5, PerfScore 19.20, instruction count 69, allocated bytes for code 285 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (Tier1)
+; Total bytes of code 275, prolog size 5, PerfScore 19.05, instruction count 67, allocated bytes for code 275 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (Tier1)
; ============================================================
Unwind Info: -6 (-1.82%) : 134528.dasm - System.String:Concat(System.String,System.String):System.String (Tier1)@@ -80,18 +80,17 @@ G_M34819_IG06: ; bbWeight=0.57, epilog, nogc, extend
pop r14
ret
;; size=11 bbWeight=0.57 PerfScore 2.15
-G_M34819_IG07: ; bbWeight=0.28, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref
+G_M34819_IG07: ; bbWeight=0.28, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
; gcrRegs -[rax] +[rsi]
test rbx, rbx
- je G_M34819_IG13
- ;; size=9 bbWeight=0.28 PerfScore 0.35
+ je SHORT G_M34819_IG13
+ ;; size=5 bbWeight=0.28 PerfScore 0.35
G_M34819_IG08: ; bbWeight=0.23, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
cmp dword ptr [rbx+0x08], 0
je SHORT G_M34819_IG13
mov ebp, edi
add ecx, ebp, dword ptr [rbx+0x08]
- test ecx, ecx
- jl G_M34819_IG17
+ js G_M34819_IG17
call <unknown method>
; gcrRegs +[rax]
; gcr arg pop 0
@@ -99,7 +98,7 @@ G_M34819_IG08: ; bbWeight=0.23, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
; gcrRegs +[r14]
test r14, r14
je G_M34819_IG18
- ;; size=40 bbWeight=0.23 PerfScore 2.48
+ ;; size=38 bbWeight=0.23 PerfScore 2.42
G_M34819_IG09: ; bbWeight=0.23, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
; gcrRegs -[rax]
cmp dword ptr [r14+0x08], edi
@@ -213,7 +212,7 @@ G_M34819_IG20: ; bbWeight=0, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
jmp G_M34819_IG11
;; size=31 bbWeight=0 PerfScore 0.00
-; Total bytes of code 330, prolog size 10, PerfScore 24.34, instruction count 93, allocated bytes for code 330 (MethodHash=f9bb77fc) for method System.String:Concat(System.String,System.String):System.String (Tier1)
+; Total bytes of code 324, prolog size 10, PerfScore 24.29, instruction count 92, allocated bytes for code 324 (MethodHash=f9bb77fc) for method System.String:Concat(System.String,System.String):System.String (Tier1)
; ============================================================
Unwind Info: -2 (-0.93%) : 139854.dasm - System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this (Tier1)@@ -36,9 +36,8 @@ G_M27413_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M27413_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
movzx rsi, dl
or cl, sil, byte ptr [rbx+0x1D]
- test cl, cl
jne SHORT G_M27413_IG04
- ;; size=15 bbWeight=1 PerfScore 4.50
+ ;; size=13 bbWeight=1 PerfScore 4.25
G_M27413_IG03: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
mov rcx, 0xD1FFAB1E
; gcrRegs +[rcx]
@@ -153,7 +152,7 @@ G_M27413_IG17: ; bbWeight=0, epilog, nogc, extend
jmp <unknown method>
;; size=13 bbWeight=0 PerfScore 0.00
-; Total bytes of code 214, prolog size 11, PerfScore 44.50, instruction count 74, allocated bytes for code 214 (MethodHash=372f94ea) for method System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this (Tier1)
+; Total bytes of code 212, prolog size 11, PerfScore 44.25, instruction count 73, allocated bytes for code 212 (MethodHash=372f94ea) for method System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this (Tier1)
; ============================================================
Unwind Info: -2 (-0.15%) : 27834.dasm - System.Numerics.Tests.Perf_BigInteger+d__0:MoveNext():ubyte:this (Tier1)@@ -343,9 +343,8 @@ G_M31988_IG18: ; bbWeight=0.14, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0
G_M31988_IG19: ; bbWeight=0.11, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
mov ebp, dword ptr [rsi+0x08]
add ecx, ebp, dword ptr [rdi+0x08]
- test ecx, ecx
- jge SHORT G_M31988_IG21
- ;; size=14 bbWeight=0.11 PerfScore 0.68
+ jns SHORT G_M31988_IG21
+ ;; size=12 bbWeight=0.11 PerfScore 0.65
G_M31988_IG20: ; bbWeight=0.09, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rbx rsi rdi]
call [System.ThrowHelper:ThrowOutOfMemoryException_StringTooLong()]
@@ -728,7 +727,7 @@ RWD00 dd G_M31988_IG35 - G_M31988_IG02
dd G_M31988_IG46 - G_M31988_IG02
-; Total bytes of code 1314, prolog size 44, PerfScore 70.60, instruction count 282, allocated bytes for code 1314 (MethodHash=5a3d830b) for method System.Numerics.Tests.Perf_BigInteger+<NumberStrings>d__0:MoveNext():ubyte:this (Tier1)
+; Total bytes of code 1312, prolog size 44, PerfScore 70.57, instruction count 281, allocated bytes for code 1312 (MethodHash=5a3d830b) for method System.Numerics.Tests.Perf_BigInteger+<NumberStrings>d__0:MoveNext():ubyte:this (Tier1)
; ============================================================
Unwind Info: -2 (-0.48%) : 106177.dasm - System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this (Tier1)@@ -56,9 +56,8 @@ G_M27413_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
mov qword ptr [rbp-0x48], rcx
movzx rsi, sil
or cl, sil, byte ptr [rbx+0x1D]
- test cl, cl
je G_M27413_IG21
- ;; size=45 bbWeight=1 PerfScore 8.75
+ ;; size=43 bbWeight=1 PerfScore 8.50
G_M27413_IG03: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov r14d, dword ptr [rbx+0x18]
test esi, esi
@@ -222,7 +221,7 @@ G_M27413_IG24: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
jmp SHORT G_M27413_IG20
;; size=15 bbWeight=0 PerfScore 0.00
-; Total bytes of code 418, prolog size 32, PerfScore 56.12, instruction count 115, allocated bytes for code 418 (MethodHash=372f94ea) for method System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this (Tier1)
+; Total bytes of code 416, prolog size 32, PerfScore 55.87, instruction count 114, allocated bytes for code 416 (MethodHash=372f94ea) for method System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this (Tier1)
; ============================================================
Unwind Info: -2 (-0.58%) : 99384.dasm - System.IO.MemoryStream:Write(System.ReadOnlySpan`1[ubyte]):this (Tier1)@@ -64,11 +64,10 @@ G_M23863_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx},
test ecx, ecx
je G_M23863_IG08
add ebp, edi, dword ptr [rbx+0x1C]
- test ebp, ebp
- jl G_M23863_IG09
+ js G_M23863_IG09
cmp ebp, dword ptr [rbx+0x20]
jg G_M23863_IG10
- ;; size=67 bbWeight=1 PerfScore 23.75
+ ;; size=65 bbWeight=1 PerfScore 23.50
G_M23863_IG03: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
; byrRegs -[rdx]
mov r8, gword ptr [rbx+0x10]
@@ -211,7 +210,7 @@ G_M23863_IG15: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 345, prolog size 17, PerfScore 50.25, instruction count 97, allocated bytes for code 345 (MethodHash=f900a2c8) for method System.IO.MemoryStream:Write(System.ReadOnlySpan`1[ubyte]):this (Tier1)
+; Total bytes of code 343, prolog size 17, PerfScore 50.00, instruction count 96, allocated bytes for code 343 (MethodHash=f900a2c8) for method System.IO.MemoryStream:Write(System.ReadOnlySpan`1[ubyte]):this (Tier1)
; ============================================================
Unwind Info: benchmarks.run_pgo_optrepeat.windows.x64.checked.mch-3 (-2.63%) : 15658.dasm - V8.Crypto.BigInteger:compareTo(V8.Crypto.BigInteger):int:this (FullOpts)@@ -41,9 +41,8 @@ G_M36520_IG03: ; bbWeight=0.50, gcrefRegs=0107 {rax rcx rdx r8}, byrefReg
mov ecx, dword ptr [rcx+0x10]
; gcrRegs -[rcx]
sub r10d, ecx, dword ptr [rdx+0x10]
- test r10d, r10d
jne SHORT G_M36520_IG06
- ;; size=15 bbWeight=0.50 PerfScore 3.12
+ ;; size=12 bbWeight=0.50 PerfScore 3.00
G_M36520_IG04: ; bbWeight=4, gcrefRegs=0101 {rax r8}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rdx]
dec ecx
@@ -94,7 +93,7 @@ G_M36520_IG11: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 114, prolog size 4, PerfScore 74.00, instruction count 36, allocated bytes for code 114 (MethodHash=f4147157) for method V8.Crypto.BigInteger:compareTo(V8.Crypto.BigInteger):int:this (FullOpts)
+; Total bytes of code 111, prolog size 4, PerfScore 73.88, instruction count 35, allocated bytes for code 111 (MethodHash=f4147157) for method V8.Crypto.BigInteger:compareTo(V8.Crypto.BigInteger):int:this (FullOpts)
; ============================================================
Unwind Info: -6 (-2.10%) : 2141.dasm - System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (FullOpts)@@ -45,16 +45,14 @@ G_M53248_IG03: ; bbWeight=0.75, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
;; size=27 bbWeight=0.75 PerfScore 4.50
G_M53248_IG04: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
add rax, rdx, qword ptr [rcx+0x30]
- test rax, rax
- jge SHORT G_M53248_IG07
+ jns SHORT G_M53248_IG07
jmp G_M53248_IG12
- ;; size=17 bbWeight=0.50 PerfScore 3.12
+ ;; size=14 bbWeight=0.50 PerfScore 3.00
G_M53248_IG05: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
add rax, rdx, qword ptr [rcx+0x38]
- test rax, rax
- jge SHORT G_M53248_IG07
+ jns SHORT G_M53248_IG07
jmp SHORT G_M53248_IG11
- ;; size=14 bbWeight=0.50 PerfScore 3.12
+ ;; size=11 bbWeight=0.50 PerfScore 3.00
G_M53248_IG06: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
mov rax, rdx
test rax, rax
@@ -174,7 +172,7 @@ RWD00 dd G_M53248_IG06 - G_M53248_IG02
dd G_M53248_IG04 - G_M53248_IG02
-; Total bytes of code 286, prolog size 5, PerfScore 22.50, instruction count 70, allocated bytes for code 286 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (FullOpts)
+; Total bytes of code 280, prolog size 5, PerfScore 22.25, instruction count 68, allocated bytes for code 280 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (FullOpts)
; ============================================================
Unwind Info: -2 (-1.63%) : 11012.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)@@ -34,9 +34,8 @@ G_M4769_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
;; size=12 bbWeight=1 PerfScore 3.75
G_M4769_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
sub edi, esi, dword ptr [rbx+0x20]
- test edi, edi
- jl SHORT G_M4769_IG04
- ;; size=11 bbWeight=1 PerfScore 4.25
+ js SHORT G_M4769_IG04
+ ;; size=9 bbWeight=1 PerfScore 4.00
G_M4769_IG03: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp edi, dword ptr [rbx+0x2C]
jle SHORT G_M4769_IG07
@@ -94,7 +93,7 @@ G_M4769_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ret
;; size=8 bbWeight=1 PerfScore 2.75
-; Total bytes of code 123, prolog size 7, PerfScore 30.12, instruction count 45, allocated bytes for code 123 (MethodHash=2f60ed5e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)
+; Total bytes of code 121, prolog size 7, PerfScore 29.88, instruction count 44, allocated bytes for code 121 (MethodHash=2f60ed5e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.13%) : 3175.dasm - System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (FullOpts)@@ -283,9 +283,8 @@ G_M40364_IG11: ; bbWeight=4, gcVars=00000000000000000000000000200000 {V12
test r8, r8
je G_M40364_IG40
and ecx, edi, dword ptr [r8+0x10]
- test ecx, ecx
jle G_M40364_IG37
- ;; size=47 bbWeight=4 PerfScore 51.00
+ ;; size=45 bbWeight=4 PerfScore 50.00
G_M40364_IG12: ; bbWeight=2, gcVars=00000000000000000000000000200001 {V05 V12}, gcrefRegs=0140 {rsi r8}, byrefRegs=4028 {rbx rbp r14}, gcvars, byref
; gcrRegs -[rax]
mov rcx, gword ptr [r8+0x08]
@@ -758,7 +757,7 @@ G_M40364_IG51: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1525, prolog size 60, PerfScore 623.21, instruction count 368, allocated bytes for code 1525 (MethodHash=62976253) for method System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (FullOpts)
+; Total bytes of code 1523, prolog size 60, PerfScore 622.21, instruction count 367, allocated bytes for code 1523 (MethodHash=62976253) for method System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.27%) : 7010.dasm - System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (FullOpts)@@ -215,8 +215,7 @@ G_M36988_IG23: ; bbWeight=64, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}
;; size=7 bbWeight=64 PerfScore 256.00
G_M36988_IG24: ; bbWeight=32, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
sub ecx, edi, dword ptr [r14+0x58]
- test ecx, ecx
- jl SHORT G_M36988_IG27
+ js SHORT G_M36988_IG27
mov rcx, r14
; gcrRegs +[rcx]
call [System.Threading.RegisteredWaitHandle:RequestCallback():this]
@@ -233,7 +232,7 @@ G_M36988_IG24: ; bbWeight=32, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}
; gcrRegs -[rcx rdx]
; gcr arg pop 0
jmp SHORT G_M36988_IG26
- ;; size=44 bbWeight=32 PerfScore 552.00
+ ;; size=42 bbWeight=32 PerfScore 544.00
G_M36988_IG25: ; bbWeight=32, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
cmp dword ptr [r14+0x54], -1
je SHORT G_M36988_IG26
@@ -412,7 +411,7 @@ G_M36988_IG39: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 747, prolog size 22, PerfScore 4974.12, instruction count 191, allocated bytes for code 747 (MethodHash=95a76f83) for method System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (FullOpts)
+; Total bytes of code 745, prolog size 22, PerfScore 4966.12, instruction count 190, allocated bytes for code 745 (MethodHash=95a76f83) for method System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.39%) : 12888.dasm - System.Text.StringBuilder:CopyTo(int,System.Span`1[ushort],int):this (FullOpts)@@ -114,9 +114,8 @@ G_M20344_IG04: ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0020 {rbp},
;; size=26 bbWeight=2 PerfScore 7.00
G_M20344_IG05: ; bbWeight=4, gcrefRegs=0040 {rsi}, byrefRegs=0020 {rbp}, byref
sub ecx, edi, dword ptr [rsi+0x1C]
- test ecx, ecx
- jl G_M20344_IG15
- ;; size=15 bbWeight=4 PerfScore 17.00
+ js G_M20344_IG15
+ ;; size=13 bbWeight=4 PerfScore 16.00
G_M20344_IG06: ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0020 {rbp}, byref, isz
mov edx, dword ptr [rsi+0x18]
cmp ecx, edx
@@ -304,7 +303,7 @@ G_M20344_IG21: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=45 bbWeight=0 PerfScore 0.00
-; Total bytes of code 514, prolog size 24, PerfScore 160.62, instruction count 137, allocated bytes for code 514 (MethodHash=f81fb087) for method System.Text.StringBuilder:CopyTo(int,System.Span`1[ushort],int):this (FullOpts)
+; Total bytes of code 512, prolog size 24, PerfScore 159.62, instruction count 136, allocated bytes for code 512 (MethodHash=f81fb087) for method System.Text.StringBuilder:CopyTo(int,System.Span`1[ushort],int):this (FullOpts)
; ============================================================
Unwind Info: coreclr_tests.run.windows.x64.checked.mch-10 (-3.53%) : 512967.dasm - System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (Tier1)@@ -90,8 +90,7 @@ G_M53248_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M53248_IG08: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rcx]
add rax, rdx, qword ptr [rcx+0x38]
- test rax, rax
- jge SHORT G_M53248_IG04
+ jns SHORT G_M53248_IG04
mov rcx, 0xD1FFAB1E ; <unknown class>
; gcrRegs -[rcx]
call CORINFO_HELP_NEWSFAST
@@ -114,12 +113,11 @@ G_M53248_IG08: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
; gcrRegs -[rcx rbx]
; gcr arg pop 0
int3
- ;; size=57 bbWeight=0 PerfScore 0.00
-G_M53248_IG09: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+ ;; size=54 bbWeight=0 PerfScore 0.00
+G_M53248_IG09: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rcx]
add rax, rdx, qword ptr [rcx+0x30]
- test rax, rax
- jge G_M53248_IG04
+ jns SHORT G_M53248_IG04
mov rcx, 0xD1FFAB1E ; <unknown class>
; gcrRegs -[rcx]
call CORINFO_HELP_NEWSFAST
@@ -142,7 +140,7 @@ G_M53248_IG09: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
; gcrRegs -[rcx rbx]
; gcr arg pop 0
int3
- ;; size=61 bbWeight=0 PerfScore 0.00
+ ;; size=54 bbWeight=0 PerfScore 0.00
G_M53248_IG10: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rcx, 0xD1FFAB1E ; <unknown class>
call CORINFO_HELP_NEWSFAST
@@ -171,7 +169,7 @@ RWD00 dd G_M53248_IG03 - G_M53248_IG02
dd G_M53248_IG09 - G_M53248_IG02
-; Total bytes of code 283, prolog size 5, PerfScore 16.75, instruction count 68, allocated bytes for code 283 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (Tier1)
+; Total bytes of code 273, prolog size 5, PerfScore 16.75, instruction count 66, allocated bytes for code 273 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (Tier1)
; ============================================================
Unwind Info: -3 (-2.63%) : 216678.dasm - V8.Crypto.BigInteger:compareTo(V8.Crypto.BigInteger):int:this (FullOpts)@@ -41,9 +41,8 @@ G_M36520_IG03: ; bbWeight=0.50, gcrefRegs=0107 {rax rcx rdx r8}, byrefReg
mov ecx, dword ptr [rcx+0x10]
; gcrRegs -[rcx]
sub r10d, ecx, dword ptr [rdx+0x10]
- test r10d, r10d
jne SHORT G_M36520_IG06
- ;; size=15 bbWeight=0.50 PerfScore 3.12
+ ;; size=12 bbWeight=0.50 PerfScore 3.00
G_M36520_IG04: ; bbWeight=4, gcrefRegs=0101 {rax r8}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rdx]
dec ecx
@@ -94,7 +93,7 @@ G_M36520_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 114, prolog size 4, PerfScore 72.38, instruction count 36, allocated bytes for code 114 (MethodHash=f4147157) for method V8.Crypto.BigInteger:compareTo(V8.Crypto.BigInteger):int:this (FullOpts)
+; Total bytes of code 111, prolog size 4, PerfScore 72.25, instruction count 35, allocated bytes for code 111 (MethodHash=f4147157) for method V8.Crypto.BigInteger:compareTo(V8.Crypto.BigInteger):int:this (FullOpts)
; ============================================================
Unwind Info: -2 (-1.63%) : 242762.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)@@ -34,9 +34,8 @@ G_M4769_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
;; size=12 bbWeight=1 PerfScore 3.75
G_M4769_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
sub edi, esi, dword ptr [rbx+0x20]
- test edi, edi
- jl SHORT G_M4769_IG04
- ;; size=11 bbWeight=1 PerfScore 4.25
+ js SHORT G_M4769_IG04
+ ;; size=9 bbWeight=1 PerfScore 4.00
G_M4769_IG03: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp edi, dword ptr [rbx+0x2C]
jle SHORT G_M4769_IG07
@@ -94,7 +93,7 @@ G_M4769_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ret
;; size=8 bbWeight=1 PerfScore 2.75
-; Total bytes of code 123, prolog size 7, PerfScore 30.12, instruction count 45, allocated bytes for code 123 (MethodHash=2f60ed5e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)
+; Total bytes of code 121, prolog size 7, PerfScore 29.88, instruction count 44, allocated bytes for code 121 (MethodHash=2f60ed5e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.10%) : 497356.dasm - System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (Instrumented Tier1)@@ -664,9 +664,8 @@ G_M40364_IG55: ; bbWeight=4.36, gcrefRegs=000C {rdx rbx}, byrefRegs=4060
G_M40364_IG56: ; bbWeight=3.93, gcVars=00000000000000000000000000000022 {V05 V12}, gcrefRegs=0408 {rbx r10}, byrefRegs=4060 {rbp rsi r14}, gcvars, byref, isz
; gcrRegs -[rdx]
and ecx, edi, dword ptr [r10+0x10]
- test ecx, ecx
jle SHORT G_M40364_IG51
- ;; size=11 bbWeight=3.93 PerfScore 16.70
+ ;; size=9 bbWeight=3.93 PerfScore 15.71
G_M40364_IG57: ; bbWeight=2.04, gcrefRegs=0408 {rbx r10}, byrefRegs=4060 {rbp rsi r14}, byref
mov rcx, gword ptr [r10+0x08]
; gcrRegs +[rcx]
@@ -1028,7 +1027,7 @@ G_M40364_IG100: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2090, prolog size 48, PerfScore 281.26, instruction count 454, allocated bytes for code 2090 (MethodHash=62976253) for method System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (Instrumented Tier1)
+; Total bytes of code 2088, prolog size 48, PerfScore 280.28, instruction count 453, allocated bytes for code 2088 (MethodHash=62976253) for method System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (Instrumented Tier1)
; ============================================================
Unwind Info: -2 (-0.20%) : 614819.dasm - System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (Instrumented Tier1)@@ -303,9 +303,8 @@ G_M36988_IG38: ; bbWeight=3, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
;; size=11 bbWeight=3 PerfScore 12.00
G_M36988_IG39: ; bbWeight=1.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
sub ecx, edi, dword ptr [r14+0x58]
- test ecx, ecx
- jge SHORT G_M36988_IG41
- ;; size=11 bbWeight=1.50 PerfScore 6.38
+ jns SHORT G_M36988_IG41
+ ;; size=9 bbWeight=1.50 PerfScore 6.00
G_M36988_IG40: ; bbWeight=0.75, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[r14]
mov rcx, 0xD1FFAB1E
@@ -501,7 +500,7 @@ G_M36988_IG55: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1008, prolog size 24, PerfScore 916.13, instruction count 228, allocated bytes for code 1008 (MethodHash=95a76f83) for method System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (Instrumented Tier1)
+; Total bytes of code 1006, prolog size 24, PerfScore 915.75, instruction count 227, allocated bytes for code 1006 (MethodHash=95a76f83) for method System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (Instrumented Tier1)
; ============================================================
Unwind Info: -4 (-0.31%) : 250379.dasm - Test_10w5d.testout1:Func_0_2_6_4_1():double (FullOpts)@@ -341,9 +341,8 @@ G_M44983_IG03: ; bbWeight=1, extend
jbe G_M44983_IG21
sub edx, esi, dword ptr [rcx+0x20]
; gcrRegs -[rdx]
- test edx, edx
- jl G_M44983_IG12
- ;; size=169 bbWeight=1 PerfScore 40.75
+ js G_M44983_IG12
+ ;; size=167 bbWeight=1 PerfScore 40.50
G_M44983_IG04: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
xor ecx, ecx
@@ -429,9 +428,8 @@ G_M44983_IG08: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
cmp dword ptr [rcx+0x08], 4
jbe G_M44983_IG21
sub edx, esi, dword ptr [rcx+0x20]
- test edx, edx
- jl G_M44983_IG20
- ;; size=165 bbWeight=0.50 PerfScore 18.38
+ js G_M44983_IG20
+ ;; size=163 bbWeight=0.50 PerfScore 18.25
G_M44983_IG09: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[rcx]
xor ecx, ecx
@@ -568,7 +566,7 @@ G_M44983_IG21: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1299, prolog size 44, PerfScore 233.55, instruction count 255, allocated bytes for code 1299 (MethodHash=33be5048) for method Test_10w5d.testout1:Func_0_2_6_4_1():double (FullOpts)
+; Total bytes of code 1295, prolog size 44, PerfScore 233.17, instruction count 253, allocated bytes for code 1295 (MethodHash=33be5048) for method Test_10w5d.testout1:Func_0_2_6_4_1():double (FullOpts)
; ============================================================
Unwind Info: libraries.crossgen2.windows.x64.checked.mch-2 (-7.69%) : 209823.dasm - Internal.TypeSystem.TypeWithRepeatedFields:ComputeTypeFlags(int):int:this (FullOpts)@@ -24,9 +24,8 @@ G_M53842_IG02: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
; gcrRegs +[rcx]
mov rcx, gword ptr [rcx+0x58]
and eax, edx, dword ptr [rcx+0x20]
- test eax, eax
jne SHORT G_M53842_IG05
- ;; size=15 bbWeight=1 PerfScore 6.25
+ ;; size=13 bbWeight=1 PerfScore 6.00
G_M53842_IG03: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
lea rax, [(reloc)] ; function address
;; size=7 bbWeight=0.50 PerfScore 0.25
@@ -38,7 +37,7 @@ G_M53842_IG05: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
ret
;; size=1 bbWeight=0.50 PerfScore 0.50
-; Total bytes of code 26, prolog size 0, PerfScore 8.00, instruction count 7, allocated bytes for code 26 (MethodHash=4d732dad) for method Internal.TypeSystem.TypeWithRepeatedFields:ComputeTypeFlags(int):int:this (FullOpts)
+; Total bytes of code 24, prolog size 0, PerfScore 7.75, instruction count 6, allocated bytes for code 24 (MethodHash=4d732dad) for method Internal.TypeSystem.TypeWithRepeatedFields:ComputeTypeFlags(int):int:this (FullOpts)
; ============================================================
Unwind Info: -6 (-3.80%) : 210148.dasm - Internal.TypeSystem.RuntimeDeterminedType:ComputeTypeFlags(int):int:this (FullOpts)@@ -44,14 +44,13 @@ G_M19490_IG03: ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {},
mov rcx, gword ptr [rsi+0x48]
; gcrRegs +[rcx]
and edi, ebx, dword ptr [rcx+0x20]
- test edi, edi
jne SHORT G_M19490_IG04
mov edx, ebx
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
jmp SHORT G_M19490_IG05
- ;; size=25 bbWeight=0.50 PerfScore 5.75
+ ;; size=23 bbWeight=0.50 PerfScore 5.62
G_M19490_IG04: ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
mov eax, edi
;; size=2 bbWeight=0.50 PerfScore 0.12
@@ -66,14 +65,13 @@ G_M19490_IG07: ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {},
mov rcx, gword ptr [rsi+0x48]
; gcrRegs +[rcx]
and ebp, ebx, dword ptr [rcx+0x20]
- test ebp, ebp
jne SHORT G_M19490_IG08
mov edx, ebx
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
jmp SHORT G_M19490_IG09
- ;; size=25 bbWeight=0.50 PerfScore 5.75
+ ;; size=23 bbWeight=0.50 PerfScore 5.62
G_M19490_IG08: ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref
mov eax, ebp
;; size=2 bbWeight=0.50 PerfScore 0.12
@@ -89,14 +87,13 @@ G_M19490_IG11: ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {},
; gcrRegs +[rcx]
and esi, ebx, dword ptr [rcx+0x20]
; gcrRegs -[rsi]
- test esi, esi
jne SHORT G_M19490_IG12
mov edx, ebx
call [<unknown method>]
; gcrRegs -[rcx]
; gcr arg pop 0
jmp SHORT G_M19490_IG13
- ;; size=25 bbWeight=0.50 PerfScore 5.75
+ ;; size=23 bbWeight=0.50 PerfScore 5.62
G_M19490_IG12: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov eax, esi
;; size=2 bbWeight=0.50 PerfScore 0.12
@@ -124,7 +121,7 @@ G_M19490_IG15: ; bbWeight=1, epilog, nogc, extend
ret
;; size=9 bbWeight=1 PerfScore 3.25
-; Total bytes of code 158, prolog size 8, PerfScore 38.75, instruction count 54, allocated bytes for code 158 (MethodHash=e7adb3dd) for method Internal.TypeSystem.RuntimeDeterminedType:ComputeTypeFlags(int):int:this (FullOpts)
+; Total bytes of code 152, prolog size 8, PerfScore 38.38, instruction count 51, allocated bytes for code 152 (MethodHash=e7adb3dd) for method Internal.TypeSystem.RuntimeDeterminedType:ComputeTypeFlags(int):int:this (FullOpts)
; ============================================================
Unwind Info: -2 (-2.50%) : 226611.dasm - System.Configuration.XmlUtilWriter:AppendSpacesToLinePosition(int):int:this (FullOpts)@@ -29,8 +29,7 @@ G_M15541_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=1 PerfScore 1.25
G_M15541_IG03: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
sub edx, esi, dword ptr [rbx+0x24]
- test edx, edx
- jge SHORT G_M15541_IG04
+ jns SHORT G_M15541_IG04
cmp byte ptr [rbx+0x29], 0
je SHORT G_M15541_IG04
mov rdx, gword ptr [rbx+0x10]
@@ -40,7 +39,7 @@ G_M15541_IG03: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
call [System.Configuration.XmlUtilWriter:RestoreStreamCheckpoint(System.Object):this]
; gcrRegs -[rcx rdx]
; gcr arg pop 0
- ;; size=30 bbWeight=0.50 PerfScore 6.75
+ ;; size=28 bbWeight=0.50 PerfScore 6.62
G_M15541_IG04: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
sub edx, esi, dword ptr [rbx+0x24]
mov rcx, rbx
@@ -64,7 +63,7 @@ G_M15541_IG07: ; bbWeight=0.50, epilog, nogc, extend
ret
;; size=7 bbWeight=0.50 PerfScore 1.12
-; Total bytes of code 80, prolog size 11, PerfScore 15.50, instruction count 27, allocated bytes for code 80 (MethodHash=882fc34a) for method System.Configuration.XmlUtilWriter:AppendSpacesToLinePosition(int):int:this (FullOpts)
+; Total bytes of code 78, prolog size 11, PerfScore 15.38, instruction count 26, allocated bytes for code 78 (MethodHash=882fc34a) for method System.Configuration.XmlUtilWriter:AppendSpacesToLinePosition(int):int:this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.15%) : 26332.dasm - System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (FullOpts)@@ -251,9 +251,8 @@ G_M40364_IG08: ; bbWeight=4, gcVars=0000000000100000 {V12}, gcrefRegs=000
test r10, r10
je G_M40364_IG37
and ecx, edi, dword ptr [r10+0x10]
- test ecx, ecx
jle G_M40364_IG34
- ;; size=47 bbWeight=4 PerfScore 51.00
+ ;; size=45 bbWeight=4 PerfScore 50.00
G_M40364_IG09: ; bbWeight=2, gcVars=0000000000100001 {V05 V12}, gcrefRegs=0408 {rbx r10}, byrefRegs=4060 {rbp rsi r14}, gcvars, byref
; gcrRegs -[rdx]
mov rcx, gword ptr [r10+0x08]
@@ -683,7 +682,7 @@ G_M40364_IG46: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1334, prolog size 58, PerfScore 638.46, instruction count 333, allocated bytes for code 1334 (MethodHash=62976253) for method System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (FullOpts)
+; Total bytes of code 1332, prolog size 58, PerfScore 637.46, instruction count 332, allocated bytes for code 1332 (MethodHash=62976253) for method System.Globalization.DateTimeFormatInfo:Tokenize(int,byref,byref,byref):ubyte:this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.36%) : 26358.dasm - System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (FullOpts)@@ -227,8 +227,7 @@ G_M36988_IG23: ; bbWeight=64, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}
;; size=7 bbWeight=64 PerfScore 256.00
G_M36988_IG24: ; bbWeight=32, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
sub ecx, edi, dword ptr [r14+0x58]
- test ecx, ecx
- jl SHORT G_M36988_IG25
+ js SHORT G_M36988_IG25
mov rcx, rbx
; gcrRegs +[rcx]
mov rdx, r14
@@ -237,7 +236,7 @@ G_M36988_IG24: ; bbWeight=32, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}
call [System.Threading.PortableThreadPool+WaitThread:QueueWaitCompletion(System.Threading.RegisteredWaitHandle,ubyte):this]
; gcrRegs -[rcx rdx r14]
; gcr arg pop 0
- ;; size=29 bbWeight=32 PerfScore 256.00
+ ;; size=27 bbWeight=32 PerfScore 248.00
G_M36988_IG25: ; bbWeight=64, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
inc ebp
cmp ebp, esi
@@ -346,7 +345,7 @@ G_M36988_IG35: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
int3
;; size=7 bbWeight=0 PerfScore 0.00
-; Total bytes of code 562, prolog size 22, PerfScore 4745.62, instruction count 160, allocated bytes for code 562 (MethodHash=95a76f83) for method System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (FullOpts)
+; Total bytes of code 560, prolog size 22, PerfScore 4737.62, instruction count 159, allocated bytes for code 560 (MethodHash=95a76f83) for method System.Threading.PortableThreadPool+WaitThread:WaitThreadStart():this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.36%) : 82073.dasm - Microsoft.CodeAnalysis.VisualBasic.SymbolDisplayVisitor:AddTypeParameterConstraints(Microsoft.CodeAnalysis.ITypeParameterSymbol):this (FullOpts)@@ -67,7 +67,6 @@ G_M57685_IG03: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
mov rcx, gword ptr [rsp+0x60]
; gcrRegs +[rcx]
add edi, eax, dword ptr [rcx+0x08]
- test edi, edi
je G_M57685_IG14
mov rcx, rbx
lea r11, [(reloc)] ; function address
@@ -95,7 +94,7 @@ G_M57685_IG03: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
call [Microsoft.CodeAnalysis.VisualBasic.SymbolDisplayVisitor:AddPunctuation(ushort):this]
; gcrRegs -[rcx]
; gcr arg pop 0
- ;; size=108 bbWeight=0.50 PerfScore 16.00
+ ;; size=106 bbWeight=0.50 PerfScore 15.88
G_M57685_IG04: ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
xor ebp, ebp
mov rcx, rsi
@@ -273,7 +272,7 @@ G_M57685_IG15: ; bbWeight=1, epilog, nogc, extend
ret
;; size=13 bbWeight=1 PerfScore 4.25
-; Total bytes of code 548, prolog size 37, PerfScore 187.46, instruction count 140, allocated bytes for code 548 (MethodHash=15ba1eaa) for method Microsoft.CodeAnalysis.VisualBasic.SymbolDisplayVisitor:AddTypeParameterConstraints(Microsoft.CodeAnalysis.ITypeParameterSymbol):this (FullOpts)
+; Total bytes of code 546, prolog size 37, PerfScore 187.33, instruction count 139, allocated bytes for code 546 (MethodHash=15ba1eaa) for method Microsoft.CodeAnalysis.VisualBasic.SymbolDisplayVisitor:AddTypeParameterConstraints(Microsoft.CodeAnalysis.ITypeParameterSymbol):this (FullOpts)
; ============================================================
Unwind Info: libraries.pmi.windows.x64.checked.mch-2 (-11.11%) : 210967.dasm - Internal.TypeSystem.Ecma.EcmaMethod:GetMethodFlags(int):int:this (FullOpts)@@ -21,9 +21,8 @@ G_M50938_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
G_M50938_IG02: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rcx]
and eax, edx, dword ptr [rcx+0x34]
- test eax, eax
jne SHORT G_M50938_IG04
- ;; size=11 bbWeight=1 PerfScore 4.25
+ ;; size=9 bbWeight=1 PerfScore 4.00
G_M50938_IG03: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, epilog, nogc
tail.jmp [<unknown method>]
;; size=6 bbWeight=0.50 PerfScore 1.00
@@ -32,7 +31,7 @@ G_M50938_IG04: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
ret
;; size=1 bbWeight=0.50 PerfScore 0.50
-; Total bytes of code 18, prolog size 0, PerfScore 5.75, instruction count 5, allocated bytes for code 18 (MethodHash=f1143905) for method Internal.TypeSystem.Ecma.EcmaMethod:GetMethodFlags(int):int:this (FullOpts)
+; Total bytes of code 16, prolog size 0, PerfScore 5.50, instruction count 4, allocated bytes for code 16 (MethodHash=f1143905) for method Internal.TypeSystem.Ecma.EcmaMethod:GetMethodFlags(int):int:this (FullOpts)
; ============================================================
Unwind Info: -2 (-11.11%) : 210932.dasm - Internal.TypeSystem.Ecma.EcmaField:GetFieldFlags(int):int:this (FullOpts)@@ -21,9 +21,8 @@ G_M33274_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
G_M33274_IG02: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rcx]
and eax, edx, dword ptr [rcx+0x2C]
- test eax, eax
jne SHORT G_M33274_IG04
- ;; size=11 bbWeight=1 PerfScore 4.25
+ ;; size=9 bbWeight=1 PerfScore 4.00
G_M33274_IG03: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, epilog, nogc
tail.jmp [<unknown method>]
;; size=6 bbWeight=0.50 PerfScore 1.00
@@ -32,7 +31,7 @@ G_M33274_IG04: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
ret
;; size=1 bbWeight=0.50 PerfScore 0.50
-; Total bytes of code 18, prolog size 0, PerfScore 5.75, instruction count 5, allocated bytes for code 18 (MethodHash=89957e05) for method Internal.TypeSystem.Ecma.EcmaField:GetFieldFlags(int):int:this (FullOpts)
+; Total bytes of code 16, prolog size 0, PerfScore 5.50, instruction count 4, allocated bytes for code 16 (MethodHash=89957e05) for method Internal.TypeSystem.Ecma.EcmaField:GetFieldFlags(int):int:this (FullOpts)
; ============================================================
Unwind Info: -2 (-11.11%) : 210185.dasm - Internal.TypeSystem.TypeDesc:GetTypeFlags(int):int:this (FullOpts)@@ -19,9 +19,8 @@ G_M15941_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
G_M15941_IG02: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rcx]
and eax, edx, dword ptr [rcx+0x20]
- test eax, eax
jne SHORT G_M15941_IG04
- ;; size=11 bbWeight=1 PerfScore 4.25
+ ;; size=9 bbWeight=1 PerfScore 4.00
G_M15941_IG03: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, epilog, nogc
tail.jmp [<unknown method>]
;; size=6 bbWeight=0.50 PerfScore 1.00
@@ -30,7 +29,7 @@ G_M15941_IG04: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
ret
;; size=1 bbWeight=0.50 PerfScore 0.50
-; Total bytes of code 18, prolog size 0, PerfScore 5.75, instruction count 5, allocated bytes for code 18 (MethodHash=7f2dc1ba) for method Internal.TypeSystem.TypeDesc:GetTypeFlags(int):int:this (FullOpts)
+; Total bytes of code 16, prolog size 0, PerfScore 5.50, instruction count 4, allocated bytes for code 16 (MethodHash=7f2dc1ba) for method Internal.TypeSystem.TypeDesc:GetTypeFlags(int):int:this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.10%) : 38228.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:AddNewToken():this (FullOpts)@@ -621,11 +621,10 @@ G_M16204_IG47: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
; gcrRegs +[r13]
sub ebp, r15d, dword ptr [r12+0x20]
; gcrRegs -[rbp]
- test ebp, ebp
- jl SHORT G_M16204_IG48
+ js SHORT G_M16204_IG48
cmp ebp, dword ptr [r12+0x2C]
jle SHORT G_M16204_IG51
- ;; size=73 bbWeight=0.50 PerfScore 10.25
+ ;; size=71 bbWeight=0.50 PerfScore 10.12
G_M16204_IG48: ; bbWeight=0.50, gcrefRegs=7008 {rbx r12 r13 r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx]
mov rcx, gword ptr [r12+0x08]
@@ -814,7 +813,7 @@ G_M16204_IG68: ; bbWeight=0, gcVars=00000000000000000000000000000000 {},
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1998, prolog size 81, PerfScore 401.21, instruction count 365, allocated bytes for code 1998 (MethodHash=b022c0b3) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:AddNewToken():this (FullOpts)
+; Total bytes of code 1996, prolog size 81, PerfScore 401.08, instruction count 364, allocated bytes for code 1996 (MethodHash=b022c0b3) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:AddNewToken():this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.10%) : 38224.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ReadCurrentNode():this (FullOpts)@@ -603,11 +603,10 @@ G_M34769_IG45: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
; gcrRegs +[r13]
sub ebp, r15d, dword ptr [r12+0x20]
; gcrRegs -[rbp]
- test ebp, ebp
- jl SHORT G_M34769_IG46
+ js SHORT G_M34769_IG46
cmp ebp, dword ptr [r12+0x2C]
jle SHORT G_M34769_IG49
- ;; size=73 bbWeight=0.50 PerfScore 10.25
+ ;; size=71 bbWeight=0.50 PerfScore 10.12
G_M34769_IG46: ; bbWeight=0.50, gcrefRegs=7008 {rbx r12 r13 r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx]
mov rcx, gword ptr [r12+0x08]
@@ -791,7 +790,7 @@ G_M34769_IG63: ; bbWeight=0, gcVars=00000000000000000000000000000000 {},
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1905, prolog size 81, PerfScore 386.46, instruction count 352, allocated bytes for code 1905 (MethodHash=388f782e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ReadCurrentNode():this (FullOpts)
+; Total bytes of code 1903, prolog size 81, PerfScore 386.33, instruction count 351, allocated bytes for code 1903 (MethodHash=388f782e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ReadCurrentNode():this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.12%) : 53474.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+InterpolatedStringScanner:ScanOpenQuote(byref,byref,byref):ubyte:this (FullOpts)@@ -474,11 +474,10 @@ G_M60391_IG29: ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=0040 {rsi
test eax, eax
jne SHORT G_M60391_IG35
sub ebx, edi, dword ptr [r14+0x20]
- test ebx, ebx
- jl SHORT G_M60391_IG30
+ js SHORT G_M60391_IG30
cmp ebx, dword ptr [r14+0x2C]
jle SHORT G_M60391_IG33
- ;; size=38 bbWeight=0.50 PerfScore 8.00
+ ;; size=36 bbWeight=0.50 PerfScore 7.88
G_M60391_IG30: ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=0040 {rsi}, byref, isz
mov rcx, gword ptr [r14+0x08]
; gcrRegs +[rcx]
@@ -794,7 +793,7 @@ G_M60391_IG63: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1704, prolog size 16, PerfScore 330.50, instruction count 403, allocated bytes for code 1704 (MethodHash=46391418) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+InterpolatedStringScanner:ScanOpenQuote(byref,byref,byref):ubyte:this (FullOpts)
+; Total bytes of code 1702, prolog size 16, PerfScore 330.38, instruction count 402, allocated bytes for code 1702 (MethodHash=46391418) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+InterpolatedStringScanner:ScanOpenQuote(byref,byref,byref):ubyte:this (FullOpts)
; ============================================================
Unwind Info: libraries_tests.run.windows.x64.Release.mch-10 (-3.51%) : 778726.dasm - System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (Tier1)@@ -44,9 +44,8 @@ G_M53248_IG02: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
;; size=43 bbWeight=1 PerfScore 11.25
G_M53248_IG03: ; bbWeight=0.56, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
add rax, rdx, qword ptr [rcx+0x38]
- test rax, rax
- jl SHORT G_M53248_IG09
- ;; size=12 bbWeight=0.56 PerfScore 2.36
+ js SHORT G_M53248_IG09
+ ;; size=9 bbWeight=0.56 PerfScore 2.22
G_M53248_IG04: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
mov qword ptr [rcx+0x38], rax
;; size=4 bbWeight=1 PerfScore 1.00
@@ -116,11 +115,10 @@ G_M53248_IG09: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcr arg pop 0
int3
;; size=45 bbWeight=0 PerfScore 0.00
-G_M53248_IG10: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+G_M53248_IG10: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rcx]
add rax, rdx, qword ptr [rcx+0x30]
- test rax, rax
- jge G_M53248_IG04
+ jns SHORT G_M53248_IG04
mov rcx, 0xD1FFAB1E ; <unknown class>
; gcrRegs -[rcx]
call CORINFO_HELP_NEWSFAST
@@ -143,7 +141,7 @@ G_M53248_IG10: ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
; gcrRegs -[rcx rbx]
; gcr arg pop 0
int3
- ;; size=61 bbWeight=0 PerfScore 0.00
+ ;; size=54 bbWeight=0 PerfScore 0.00
G_M53248_IG11: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov rcx, 0xD1FFAB1E ; <unknown class>
call CORINFO_HELP_NEWSFAST
@@ -172,7 +170,7 @@ RWD00 dd G_M53248_IG06 - G_M53248_IG02
dd G_M53248_IG10 - G_M53248_IG02
-; Total bytes of code 285, prolog size 5, PerfScore 19.17, instruction count 69, allocated bytes for code 285 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (Tier1)
+; Total bytes of code 275, prolog size 5, PerfScore 19.03, instruction count 67, allocated bytes for code 275 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (Tier1)
; ============================================================
Unwind Info: -2 (-1.55%) : 187208.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (Tier1)@@ -34,12 +34,11 @@ G_M4769_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
;; size=12 bbWeight=1 PerfScore 3.75
G_M4769_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
sub ecx, esi, dword ptr [rbx+0x20]
- test ecx, ecx
- jl SHORT G_M4769_IG04
+ js SHORT G_M4769_IG04
cmp ecx, dword ptr [rbx+0x2C]
jg SHORT G_M4769_IG04
mov dword ptr [rbx+0x24], ecx
- ;; size=19 bbWeight=1 PerfScore 9.25
+ ;; size=17 bbWeight=1 PerfScore 9.00
G_M4769_IG03: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
; gcrRegs -[rbx]
add rsp, 48
@@ -94,7 +93,7 @@ G_M4769_IG06: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byre
jmp SHORT G_M4769_IG03
;; size=11 bbWeight=0 PerfScore 0.00
-; Total bytes of code 129, prolog size 7, PerfScore 15.75, instruction count 46, allocated bytes for code 129 (MethodHash=2f60ed5e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (Tier1)
+; Total bytes of code 127, prolog size 7, PerfScore 15.50, instruction count 45, allocated bytes for code 127 (MethodHash=2f60ed5e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (Tier1)
; ============================================================
Unwind Info: -2 (-1.54%) : 281095.dasm - System.Text.StringBuilder:get_Chars(int):ushort:this (Tier1)@@ -26,15 +26,14 @@ G_M31101_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M31101_IG02: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rcx]
sub eax, edx, dword ptr [rcx+0x1C]
- test eax, eax
- jl SHORT G_M31101_IG04
+ js SHORT G_M31101_IG04
cmp eax, dword ptr [rcx+0x18]
jge SHORT G_M31101_IG05
mov rcx, gword ptr [rcx+0x08]
cmp eax, dword ptr [rcx+0x08]
jae SHORT G_M31101_IG07
movzx rax, word ptr [rcx+2*rax+0x10]
- ;; size=30 bbWeight=1 PerfScore 16.25
+ ;; size=28 bbWeight=1 PerfScore 16.00
G_M31101_IG03: ; bbWeight=1, epilog, nogc, extend
add rsp, 32
pop rbx
@@ -91,7 +90,7 @@ G_M31101_IG07: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 130, prolog size 5, PerfScore 19.25, instruction count 36, allocated bytes for code 130 (MethodHash=80738682) for method System.Text.StringBuilder:get_Chars(int):ushort:this (Tier1)
+; Total bytes of code 128, prolog size 5, PerfScore 19.00, instruction count 35, allocated bytes for code 128 (MethodHash=80738682) for method System.Text.StringBuilder:get_Chars(int):ushort:this (Tier1)
; ============================================================
Unwind Info: +3 (+0.06%) : 565414.dasm - System.Xml.XmlDictionaryWriter:WriteArray(System.String,System.String,System.String,int[],int,int):this (Tier1-OSR)@@ -751,6 +751,7 @@ G_M28748_IG57: ; bbWeight=0.00, gcrefRegs=C6C8 {rbx rsi rdi r9 r10 r14 r1
add r18, r11d, dword ptr [r10+0x1C]
cmp r11d, dword ptr [r9+0x08]
jae G_M28748_IG176
+ mov r11d, r11d
movzx r11, byte ptr [r9+r11+0x10]
mov dword ptr [rbp-0xBC], r11d
cmp r18, dword ptr [r17+0x08]
@@ -767,7 +768,7 @@ G_M28748_IG57: ; bbWeight=0.00, gcrefRegs=C6C8 {rbx rsi rdi r9 r10 r14 r1
test ecx, ecx
mov dword ptr [rbp-0xB8], ecx
jge SHORT G_M28748_IG57
- ;; size=91 bbWeight=0.00 PerfScore 0.10
+ ;; size=94 bbWeight=0.00 PerfScore 0.10
G_M28748_IG58: ; bbWeight=0.00, gcVars=000000000000000000000000000000000008000000000010 {V15 V92}, gcrefRegs=C4C8 {rbx rsi rdi r10 r14 r15}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs -[r9 r17]
; GC ptr vars -{V04 V51 V53 V90}
@@ -2160,7 +2161,7 @@ G_M28748_IG176: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 5323, prolog size 156, PerfScore 7443.76, instruction count 1105, allocated bytes for code 5323 (MethodHash=4c2a8fb3) for method System.Xml.XmlDictionaryWriter:WriteArray(System.String,System.String,System.String,int[],int,int):this (Tier1-OSR)
+; Total bytes of code 5326, prolog size 156, PerfScore 7443.76, instruction count 1106, allocated bytes for code 5326 (MethodHash=4c2a8fb3) for method System.Xml.XmlDictionaryWriter:WriteArray(System.String,System.String,System.String,int[],int,int):this (Tier1-OSR)
; ============================================================
Unwind Info: -2 (-0.04%) : 338131.dasm - System.IO.Tests.Directory_GetFiles_str_str_so:DirectoryWithTrailingSeparators(System.String):this (Tier1)@@ -1423,8 +1423,7 @@ G_M12826_IG39: ; bbWeight=0.01, gcrefRegs=80E8 {rbx rbp rsi rdi r15}, byr
; gcrRegs -[rax] +[r15]
mov r14d, dword ptr [rdi+0x08]
add ecx, r14d, dword ptr [r15+0x08]
- test ecx, ecx
- jl G_M12826_IG50
+ js G_M12826_IG50
call <unknown method>
; gcrRegs +[rax]
; gcr arg pop 0
@@ -1447,7 +1446,7 @@ G_M12826_IG39: ; bbWeight=0.01, gcrefRegs=80E8 {rbx rbp rsi rdi r15}, byr
; gcrRegs -[rcx r8 r15]
; gcr arg pop 0
jmp G_M12826_IG20
- ;; size=61 bbWeight=0.01 PerfScore 0.09
+ ;; size=59 bbWeight=0.01 PerfScore 0.09
G_M12826_IG40: ; bbWeight=0.00, gcVars=00000000000000000000000000000000000000000300000C0000000000000000 {V171 V178 V595 V601}, gcrefRegs=7068 {rbx rbp rsi r12 r13 r14}, byrefRegs=0000 {}, gcvars, byref
; gcrRegs +[r12 r14]
; GC ptr vars +{V66 V88 V171 V178 V595 V601}
@@ -2741,7 +2740,7 @@ RWD00 dq 3FE0000000000000h ; 0.5
RWD08 dq 41E0000000000000h
-; Total bytes of code 4986, prolog size 50, PerfScore 37.98, instruction count 1037, allocated bytes for code 4986 (MethodHash=0bb7cde5) for method System.IO.Tests.Directory_GetFiles_str_str_so:DirectoryWithTrailingSeparators(System.String):this (Tier1)
+; Total bytes of code 4984, prolog size 50, PerfScore 37.97, instruction count 1036, allocated bytes for code 4984 (MethodHash=0bb7cde5) for method System.IO.Tests.Directory_GetFiles_str_str_so:DirectoryWithTrailingSeparators(System.String):this (Tier1)
; ============================================================
Unwind Info: -8 (-0.04%) : 683218.dasm - System.Text.Json.Tests.Utf8JsonWriterTests:WriteStringValueSegment_BasicHelper[ubyte](System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.String,System.String,System.String,System.Text.Json.JsonWriterOptions,int) (Tier1)@@ -799,8 +799,7 @@ G_M63250_IG09: ; bbWeight=1.00, gcrefRegs=7204 {rdx r9 r12 r13 r14}, byre
mov gword ptr [rbp-0x4F8], rdx
; GC ptr vars +{V68}
add r16, r11d, dword ptr [rdx+0x08]
- test r16, r16
- jl G_M63250_IG318
+ js G_M63250_IG318
mov ecx, r16
call <unknown method>
; gcrRegs -[rdx r9] +[rax]
@@ -809,7 +808,7 @@ G_M63250_IG09: ; bbWeight=1.00, gcrefRegs=7204 {rdx r9 r12 r13 r14}, byre
; GC ptr vars +{V146}
test rax, rax
jne SHORT G_M63250_IG11
- ;; size=73 bbWeight=1.00 PerfScore 16.68
+ ;; size=69 bbWeight=1.00 PerfScore 16.43
G_M63250_IG10: ; bbWeight=0.50, gcVars=000000000000000000000000000000000000000000000000000000000021D000 {V66 V68 V69 V146 V520}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=00C8 {rbx rsi rdi}, gcvars, byref
; gcrRegs -[rax]
mov rcx, 0xD1FFAB1E
@@ -917,8 +916,7 @@ G_M63250_IG17: ; bbWeight=1.00, gcVars=0000000000000000000000000000000000
mov gword ptr [rbp-0x4F8], rdx
; GC ptr vars +{V68}
add r16, r11d, dword ptr [rdx+0x08]
- test r16, r16
- jl G_M63250_IG318
+ js G_M63250_IG318
mov ecx, r16
call <unknown method>
; gcrRegs -[rdx]
@@ -927,7 +925,7 @@ G_M63250_IG17: ; bbWeight=1.00, gcVars=0000000000000000000000000000000000
; GC ptr vars +{V170}
test rax, rax
jne SHORT G_M63250_IG19
- ;; size=73 bbWeight=1.00 PerfScore 16.68
+ ;; size=69 bbWeight=1.00 PerfScore 16.43
G_M63250_IG18: ; bbWeight=0.50, gcVars=000000000000000000000000000000000000000000000000000000000021E008 {V66 V68 V69 V142 V170 V520}, gcrefRegs=7000 {r12 r13 r14}, byrefRegs=00C8 {rbx rsi rdi}, gcvars, byref
; gcrRegs -[rax]
mov rcx, 0xD1FFAB1E
@@ -7274,7 +7272,7 @@ G_M63250_IG384: ; bbWeight=0.00, funclet epilog, nogc, extend
ret
;; size=8 bbWeight=0.00 PerfScore 0.00
-; Total bytes of code 17933, prolog size 97, PerfScore 1780.64, instruction count 3193, allocated bytes for code 17933 (MethodHash=01af08ed) for method System.Text.Json.Tests.Utf8JsonWriterTests:WriteStringValueSegment_BasicHelper[ubyte](System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.String,System.String,System.String,System.Text.Json.JsonWriterOptions,int) (Tier1)
+; Total bytes of code 17925, prolog size 97, PerfScore 1780.14, instruction count 3191, allocated bytes for code 17925 (MethodHash=01af08ed) for method System.Text.Json.Tests.Utf8JsonWriterTests:WriteStringValueSegment_BasicHelper[ubyte](System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.ReadOnlySpan`1[ubyte],System.String,System.String,System.String,System.Text.Json.JsonWriterOptions,int) (Tier1)
; ============================================================
Unwind Info: libraries_tests_no_tiered_compilation.run.windows.x64.Release.mch-2 (-2.63%) : 102212.dasm - System.Configuration.XmlUtilWriter:AppendSpacesToLinePosition(int):int:this (FullOpts)@@ -28,8 +28,7 @@ G_M15541_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
;; size=4 bbWeight=1 PerfScore 1.25
G_M15541_IG03: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
sub edx, esi, dword ptr [rbx+0x24]
- test edx, edx
- jge SHORT G_M15541_IG04
+ jns SHORT G_M15541_IG04
cmp byte ptr [rbx+0x29], 0
je SHORT G_M15541_IG04
mov rdx, gword ptr [rbx+0x10]
@@ -39,7 +38,7 @@ G_M15541_IG03: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
call [System.Configuration.XmlUtilWriter:RestoreStreamCheckpoint(System.Object):this]
; gcrRegs -[rcx rdx]
; gcr arg pop 0
- ;; size=30 bbWeight=0.50 PerfScore 6.75
+ ;; size=28 bbWeight=0.50 PerfScore 6.62
G_M15541_IG04: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
sub edx, esi, dword ptr [rbx+0x24]
mov rcx, rbx
@@ -62,7 +61,7 @@ G_M15541_IG07: ; bbWeight=0.50, epilog, nogc, extend
ret
;; size=7 bbWeight=0.50 PerfScore 1.12
-; Total bytes of code 76, prolog size 11, PerfScore 15.25, instruction count 26, allocated bytes for code 76 (MethodHash=882fc34a) for method System.Configuration.XmlUtilWriter:AppendSpacesToLinePosition(int):int:this (FullOpts)
+; Total bytes of code 74, prolog size 11, PerfScore 15.12, instruction count 25, allocated bytes for code 74 (MethodHash=882fc34a) for method System.Configuration.XmlUtilWriter:AppendSpacesToLinePosition(int):int:this (FullOpts)
; ============================================================
Unwind Info: -6 (-2.13%) : 324587.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:AdvanceIfMatches(ushort):ubyte:this (FullOpts)@@ -88,16 +88,15 @@ G_M51216_IG05: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
jne SHORT G_M51216_IG06
movzx rcx, word ptr [rsp+0x30]
cmp ecx, 0xFFFF
- je G_M51216_IG14
- ;; size=70 bbWeight=0.50 PerfScore 9.12
+ je SHORT G_M51216_IG14
+ ;; size=66 bbWeight=0.50 PerfScore 9.12
G_M51216_IG06: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov rbx, gword ptr [rbx+0x08]
sub esi, edi, dword ptr [rbx+0x20]
- test esi, esi
- jl SHORT G_M51216_IG07
+ js SHORT G_M51216_IG07
cmp esi, dword ptr [rbx+0x2C]
jle SHORT G_M51216_IG10
- ;; size=20 bbWeight=0.50 PerfScore 5.12
+ ;; size=18 bbWeight=0.50 PerfScore 5.00
G_M51216_IG07: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov rcx, gword ptr [rbx+0x08]
; gcrRegs +[rcx]
@@ -171,7 +170,7 @@ G_M51216_IG15: ; bbWeight=0.50, epilog, nogc, extend
ret
;; size=8 bbWeight=0.50 PerfScore 1.38
-; Total bytes of code 282, prolog size 19, PerfScore 55.12, instruction count 89, allocated bytes for code 282 (MethodHash=591837ef) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:AdvanceIfMatches(ushort):ubyte:this (FullOpts)
+; Total bytes of code 276, prolog size 19, PerfScore 55.00, instruction count 88, allocated bytes for code 276 (MethodHash=591837ef) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:AdvanceIfMatches(ushort):ubyte:this (FullOpts)
; ============================================================
Unwind Info: -2 (-1.63%) : 52276.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)@@ -34,9 +34,8 @@ G_M4769_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
;; size=12 bbWeight=1 PerfScore 3.75
G_M4769_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
sub edi, esi, dword ptr [rbx+0x20]
- test edi, edi
- jl SHORT G_M4769_IG04
- ;; size=11 bbWeight=1 PerfScore 4.25
+ js SHORT G_M4769_IG04
+ ;; size=9 bbWeight=1 PerfScore 4.00
G_M4769_IG03: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp edi, dword ptr [rbx+0x2C]
jle SHORT G_M4769_IG07
@@ -94,7 +93,7 @@ G_M4769_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ret
;; size=8 bbWeight=1 PerfScore 2.75
-; Total bytes of code 123, prolog size 7, PerfScore 30.12, instruction count 45, allocated bytes for code 123 (MethodHash=2f60ed5e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)
+; Total bytes of code 121, prolog size 7, PerfScore 29.88, instruction count 44, allocated bytes for code 121 (MethodHash=2f60ed5e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.09%) : 4616.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:AddNewToken():this (FullOpts)@@ -651,11 +651,10 @@ G_M16204_IG47: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
movzx rbp, byte ptr [rsp+0x460]
; gcrRegs -[rbp]
sub eax, r15d, dword ptr [r12+0x20]
- test eax, eax
- jl SHORT G_M16204_IG48
+ js SHORT G_M16204_IG48
cmp eax, dword ptr [r12+0x2C]
jle SHORT G_M16204_IG51
- ;; size=85 bbWeight=0.50 PerfScore 10.75
+ ;; size=83 bbWeight=0.50 PerfScore 10.62
G_M16204_IG48: ; bbWeight=0.50, gcrefRegs=7008 {rbx r12 r13 r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx]
mov rcx, gword ptr [r12+0x08]
@@ -855,7 +854,7 @@ G_M16204_IG68: ; bbWeight=0, gcVars=00000000000000000000000000000000 {},
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2200, prolog size 74, PerfScore 422.83, instruction count 384, allocated bytes for code 2200 (MethodHash=b022c0b3) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:AddNewToken():this (FullOpts)
+; Total bytes of code 2198, prolog size 74, PerfScore 422.71, instruction count 383, allocated bytes for code 2198 (MethodHash=b022c0b3) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:AddNewToken():this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.09%) : 351195.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ReadCurrentNode():this (FullOpts)@@ -639,11 +639,10 @@ G_M34769_IG45: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
movzx rbp, byte ptr [rsp+0x460]
; gcrRegs -[rbp]
sub eax, r15d, dword ptr [r12+0x20]
- test eax, eax
- jl SHORT G_M34769_IG46
+ js SHORT G_M34769_IG46
cmp eax, dword ptr [r12+0x2C]
jle SHORT G_M34769_IG49
- ;; size=82 bbWeight=0.50 PerfScore 10.75
+ ;; size=80 bbWeight=0.50 PerfScore 10.62
G_M34769_IG46: ; bbWeight=0.50, gcrefRegs=7008 {rbx r12 r13 r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx]
mov rcx, gword ptr [r12+0x08]
@@ -839,7 +838,7 @@ G_M34769_IG63: ; bbWeight=0, gcVars=00000000000000000000000000000000 {},
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2114, prolog size 74, PerfScore 408.33, instruction count 379, allocated bytes for code 2114 (MethodHash=388f782e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ReadCurrentNode():this (FullOpts)
+; Total bytes of code 2112, prolog size 74, PerfScore 408.21, instruction count 378, allocated bytes for code 2112 (MethodHash=388f782e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:ReadCurrentNode():this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.16%) : 167376.dasm - System.Memory.Tests.Span.StringSearchValuesTests+<>c__DisplayClass5_0:g__TestWithDifferentMarkerChars|3(System.Span`1[ushort],ushort):this (FullOpts)@@ -521,9 +521,8 @@ G_M27901_IG21: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi
mov r8, gword ptr [rbx+0x28]
; gcrRegs +[r8]
sub edx, edi, dword ptr [r8+0x08]
- test edx, edx
- jl G_M27901_IG34
- ;; size=22 bbWeight=0.50 PerfScore 3.25
+ js G_M27901_IG34
+ ;; size=20 bbWeight=0.50 PerfScore 3.12
G_M27901_IG22: ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, isz
; gcrRegs -[r8]
mov r8d, ebp
@@ -738,7 +737,7 @@ G_M27901_IG41: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1270, prolog size 34, PerfScore 1517.38, instruction count 288, allocated bytes for code 1270 (MethodHash=23219302) for method System.Memory.Tests.Span.StringSearchValuesTests+<>c__DisplayClass5_0:<IndexOfAny>g__TestWithDifferentMarkerChars|3(System.Span`1[ushort],ushort):this (FullOpts)
+; Total bytes of code 1268, prolog size 34, PerfScore 1517.25, instruction count 287, allocated bytes for code 1268 (MethodHash=23219302) for method System.Memory.Tests.Span.StringSearchValuesTests+<>c__DisplayClass5_0:<IndexOfAny>g__TestWithDifferentMarkerChars|3(System.Span`1[ushort],ushort):this (FullOpts)
; ============================================================
Unwind Info: realworld.run.windows.x64.checked.mch-6 (-2.13%) : 7701.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:AdvanceIfMatches(ushort):ubyte:this (FullOpts)@@ -88,16 +88,15 @@ G_M51216_IG05: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
jne SHORT G_M51216_IG06
movzx rcx, word ptr [rsp+0x30]
cmp ecx, 0xFFFF
- je G_M51216_IG14
- ;; size=70 bbWeight=0.50 PerfScore 9.12
+ je SHORT G_M51216_IG14
+ ;; size=66 bbWeight=0.50 PerfScore 9.12
G_M51216_IG06: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov rbx, gword ptr [rbx+0x08]
sub esi, edi, dword ptr [rbx+0x20]
- test esi, esi
- jl SHORT G_M51216_IG07
+ js SHORT G_M51216_IG07
cmp esi, dword ptr [rbx+0x2C]
jle SHORT G_M51216_IG10
- ;; size=20 bbWeight=0.50 PerfScore 5.12
+ ;; size=18 bbWeight=0.50 PerfScore 5.00
G_M51216_IG07: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
mov rcx, gword ptr [rbx+0x08]
; gcrRegs +[rcx]
@@ -171,7 +170,7 @@ G_M51216_IG15: ; bbWeight=0.50, epilog, nogc, extend
ret
;; size=8 bbWeight=0.50 PerfScore 1.38
-; Total bytes of code 282, prolog size 19, PerfScore 55.12, instruction count 89, allocated bytes for code 282 (MethodHash=591837ef) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:AdvanceIfMatches(ushort):ubyte:this (FullOpts)
+; Total bytes of code 276, prolog size 19, PerfScore 55.00, instruction count 88, allocated bytes for code 276 (MethodHash=591837ef) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:AdvanceIfMatches(ushort):ubyte:this (FullOpts)
; ============================================================
Unwind Info: -6 (-2.10%) : 1786.dasm - System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (FullOpts)@@ -45,16 +45,14 @@ G_M53248_IG03: ; bbWeight=0.75, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
;; size=27 bbWeight=0.75 PerfScore 4.50
G_M53248_IG04: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
add rax, rdx, qword ptr [rcx+0x30]
- test rax, rax
- jge SHORT G_M53248_IG07
+ jns SHORT G_M53248_IG07
jmp G_M53248_IG12
- ;; size=17 bbWeight=0.50 PerfScore 3.12
+ ;; size=14 bbWeight=0.50 PerfScore 3.00
G_M53248_IG05: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
add rax, rdx, qword ptr [rcx+0x38]
- test rax, rax
- jge SHORT G_M53248_IG07
+ jns SHORT G_M53248_IG07
jmp SHORT G_M53248_IG11
- ;; size=14 bbWeight=0.50 PerfScore 3.12
+ ;; size=11 bbWeight=0.50 PerfScore 3.00
G_M53248_IG06: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
mov rax, rdx
test rax, rax
@@ -174,7 +172,7 @@ RWD00 dd G_M53248_IG06 - G_M53248_IG02
dd G_M53248_IG04 - G_M53248_IG02
-; Total bytes of code 286, prolog size 5, PerfScore 22.50, instruction count 70, allocated bytes for code 286 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (FullOpts)
+; Total bytes of code 280, prolog size 5, PerfScore 22.25, instruction count 68, allocated bytes for code 280 (MethodHash=fb3f2fff) for method System.IO.UnmanagedMemoryStream:Seek(long,int):long:this (FullOpts)
; ============================================================
Unwind Info: -2 (-1.63%) : 7038.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)@@ -34,9 +34,8 @@ G_M4769_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
;; size=12 bbWeight=1 PerfScore 3.75
G_M4769_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
sub edi, esi, dword ptr [rbx+0x20]
- test edi, edi
- jl SHORT G_M4769_IG04
- ;; size=11 bbWeight=1 PerfScore 4.25
+ js SHORT G_M4769_IG04
+ ;; size=9 bbWeight=1 PerfScore 4.00
G_M4769_IG03: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
cmp edi, dword ptr [rbx+0x2C]
jle SHORT G_M4769_IG07
@@ -94,7 +93,7 @@ G_M4769_IG08: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
ret
;; size=8 bbWeight=1 PerfScore 2.75
-; Total bytes of code 123, prolog size 7, PerfScore 30.12, instruction count 45, allocated bytes for code 123 (MethodHash=2f60ed5e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)
+; Total bytes of code 121, prolog size 7, PerfScore 29.88, instruction count 44, allocated bytes for code 121 (MethodHash=2f60ed5e) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow:Reset(int):this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.10%) : 7074.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:AddNewToken():this (FullOpts)@@ -621,11 +621,10 @@ G_M16204_IG47: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
; gcrRegs +[r13]
sub ebp, r15d, dword ptr [r12+0x20]
; gcrRegs -[rbp]
- test ebp, ebp
- jl SHORT G_M16204_IG48
+ js SHORT G_M16204_IG48
cmp ebp, dword ptr [r12+0x2C]
jle SHORT G_M16204_IG51
- ;; size=73 bbWeight=0.50 PerfScore 10.25
+ ;; size=71 bbWeight=0.50 PerfScore 10.12
G_M16204_IG48: ; bbWeight=0.50, gcrefRegs=7008 {rbx r12 r13 r14}, byrefRegs=0000 {}, byref, isz
; gcrRegs -[rcx]
mov rcx, gword ptr [r12+0x08]
@@ -814,7 +813,7 @@ G_M16204_IG68: ; bbWeight=0, gcVars=00000000000000000000000000000000 {},
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1998, prolog size 81, PerfScore 401.21, instruction count 365, allocated bytes for code 1998 (MethodHash=b022c0b3) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:AddNewToken():this (FullOpts)
+; Total bytes of code 1996, prolog size 81, PerfScore 401.08, instruction count 364, allocated bytes for code 1996 (MethodHash=b022c0b3) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser:AddNewToken():this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.17%) : 7709.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+InterpolatedStringScanner:ScanOpenQuote(byref,byref,byref):ubyte:this (FullOpts)@@ -400,11 +400,10 @@ G_M60391_IG17: ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=0040 {rsi
test eax, eax
jne SHORT G_M60391_IG23
sub ebx, edi, dword ptr [r14+0x20]
- test ebx, ebx
- jl SHORT G_M60391_IG18
+ js SHORT G_M60391_IG18
cmp ebx, dword ptr [r14+0x2C]
jle SHORT G_M60391_IG21
- ;; size=38 bbWeight=0.50 PerfScore 8.00
+ ;; size=36 bbWeight=0.50 PerfScore 7.88
G_M60391_IG18: ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=0040 {rsi}, byref, isz
mov rcx, gword ptr [r14+0x08]
; gcrRegs +[rcx]
@@ -588,7 +587,7 @@ G_M60391_IG33: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 1183, prolog size 16, PerfScore 283.25, instruction count 310, allocated bytes for code 1183 (MethodHash=46391418) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+InterpolatedStringScanner:ScanOpenQuote(byref,byref,byref):ubyte:this (FullOpts)
+; Total bytes of code 1181, prolog size 16, PerfScore 283.12, instruction count 309, allocated bytes for code 1181 (MethodHash=46391418) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer+InterpolatedStringScanner:ScanOpenQuote(byref,byref,byref):ubyte:this (FullOpts)
; ============================================================
Unwind Info: -6 (-0.19%) : 7295.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlCrefToken(byref):ubyte:this (FullOpts)@@ -403,11 +403,10 @@ G_M37698_IG18: ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx
mov rdi, gword ptr [rsi+0x08]
; gcrRegs +[rdi]
sub r14d, ebp, dword ptr [rdi+0x20]
- test r14d, r14d
- jl SHORT G_M37698_IG19
+ js SHORT G_M37698_IG19
cmp r14d, dword ptr [rdi+0x2C]
jle SHORT G_M37698_IG22
- ;; size=31 bbWeight=0.50 PerfScore 5.75
+ ;; size=28 bbWeight=0.50 PerfScore 5.62
G_M37698_IG19: ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rbx}, byref, isz
mov rcx, gword ptr [rdi+0x08]
; gcrRegs +[rcx]
@@ -505,11 +504,10 @@ G_M37698_IG26: ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0008 {rbx
mov rdi, gword ptr [rsi+0x08]
; gcrRegs +[rdi]
sub r14d, ebp, dword ptr [rdi+0x20]
- test r14d, r14d
- jl SHORT G_M37698_IG27
+ js SHORT G_M37698_IG27
cmp r14d, dword ptr [rdi+0x2C]
jle SHORT G_M37698_IG30
- ;; size=22 bbWeight=0.50 PerfScore 5.12
+ ;; size=19 bbWeight=0.50 PerfScore 5.00
G_M37698_IG27: ; bbWeight=0.50, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rbx}, byref, isz
mov rcx, gword ptr [rdi+0x08]
; gcrRegs +[rcx]
@@ -1462,7 +1460,7 @@ RWD140 dd G_M37698_IG69 - G_M37698_IG02
dd G_M37698_IG66 - G_M37698_IG02
-; Total bytes of code 3104, prolog size 22, PerfScore 420.21, instruction count 748, allocated bytes for code 3104 (MethodHash=39536cbd) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlCrefToken(byref):ubyte:this (FullOpts)
+; Total bytes of code 3098, prolog size 22, PerfScore 419.96, instruction count 746, allocated bytes for code 3098 (MethodHash=39536cbd) for method Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer:ScanXmlCrefToken(byref):ubyte:this (FullOpts)
; ============================================================
Unwind Info: smoke_tests.nativeaot.windows.x64.checked.mch-2 (-11.76%) : 24559.dasm - Internal.TypeSystem.TypeDesc:GetTypeFlags(int):int:this (FullOpts)@@ -19,9 +19,8 @@ G_M15941_IG01: ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
G_M15941_IG02: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[rcx]
and eax, edx, dword ptr [rcx+0x30]
- test eax, eax
jne SHORT G_M15941_IG04
- ;; size=11 bbWeight=1 PerfScore 4.25
+ ;; size=9 bbWeight=1 PerfScore 4.00
G_M15941_IG03: ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, epilog, nogc
jmp <unknown method>
;; size=5 bbWeight=0.50 PerfScore 1.00
@@ -30,7 +29,7 @@ G_M15941_IG04: ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
ret
;; size=1 bbWeight=0.50 PerfScore 0.50
-; Total bytes of code 17, prolog size 0, PerfScore 5.75, instruction count 5, allocated bytes for code 17 (MethodHash=7f2dc1ba) for method Internal.TypeSystem.TypeDesc:GetTypeFlags(int):int:this (FullOpts)
+; Total bytes of code 15, prolog size 0, PerfScore 5.50, instruction count 4, allocated bytes for code 15 (MethodHash=7f2dc1ba) for method Internal.TypeSystem.TypeDesc:GetTypeFlags(int):int:this (FullOpts)
; ============================================================
Unwind Info: -2 (-1.61%) : 2931.dasm - System.Text.StringBuilder:get_Chars(int):ushort:this (FullOpts)@@ -34,9 +34,8 @@ G_M31101_IG03: ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
;; size=9 bbWeight=4 PerfScore 13.00
G_M31101_IG04: ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
sub ebx, edx, dword ptr [rcx+0x1C]
- test ebx, ebx
- jl SHORT G_M31101_IG03
- ;; size=11 bbWeight=8 PerfScore 34.00
+ js SHORT G_M31101_IG03
+ ;; size=9 bbWeight=8 PerfScore 32.00
G_M31101_IG05: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
cmp ebx, dword ptr [rcx+0x18]
jge SHORT G_M31101_IG07
@@ -98,7 +97,7 @@ G_M31101_IG09: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 124, prolog size 5, PerfScore 64.25, instruction count 37, allocated bytes for code 124 (MethodHash=80738682) for method System.Text.StringBuilder:get_Chars(int):ushort:this (FullOpts)
+; Total bytes of code 122, prolog size 5, PerfScore 62.25, instruction count 36, allocated bytes for code 122 (MethodHash=80738682) for method System.Text.StringBuilder:get_Chars(int):ushort:this (FullOpts)
; ============================================================
Unwind Info: -2 (-1.31%) : 6121.dasm - System.Text.StringBuilder:set_Chars(int,ushort):this (FullOpts)@@ -35,9 +35,8 @@ G_M32255_IG03: ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
;; size=9 bbWeight=4 PerfScore 13.00
G_M32255_IG04: ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
sub ebx, edx, dword ptr [rcx+0x1C]
- test ebx, ebx
- jl SHORT G_M32255_IG03
- ;; size=11 bbWeight=8 PerfScore 34.00
+ js SHORT G_M32255_IG03
+ ;; size=9 bbWeight=8 PerfScore 32.00
G_M32255_IG05: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
cmp ebx, dword ptr [rcx+0x18]
jge SHORT G_M32255_IG07
@@ -105,7 +104,7 @@ G_M32255_IG09: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 153, prolog size 5, PerfScore 63.25, instruction count 41, allocated bytes for code 153 (MethodHash=ad9c8200) for method System.Text.StringBuilder:set_Chars(int,ushort):this (FullOpts)
+; Total bytes of code 151, prolog size 5, PerfScore 61.25, instruction count 40, allocated bytes for code 151 (MethodHash=ad9c8200) for method System.Text.StringBuilder:set_Chars(int,ushort):this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.45%) : 22676.dasm - System.Text.StringBuilder:CopyTo(int,System.Span`1[ushort],int):this (FullOpts)@@ -109,9 +109,8 @@ G_M20344_IG04: ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0020 {rbp},
;; size=19 bbWeight=2 PerfScore 4.00
G_M20344_IG05: ; bbWeight=4, gcrefRegs=0040 {rsi}, byrefRegs=0020 {rbp}, byref
sub ecx, edi, dword ptr [rsi+0x1C]
- test ecx, ecx
- jl G_M20344_IG15
- ;; size=15 bbWeight=4 PerfScore 17.00
+ js G_M20344_IG15
+ ;; size=13 bbWeight=4 PerfScore 16.00
G_M20344_IG06: ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0020 {rbp}, byref, isz
mov edx, dword ptr [rsi+0x18]
cmp ecx, edx
@@ -284,7 +283,7 @@ G_M20344_IG21: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=39 bbWeight=0 PerfScore 0.00
-; Total bytes of code 442, prolog size 24, PerfScore 144.00, instruction count 128, allocated bytes for code 442 (MethodHash=f81fb087) for method System.Text.StringBuilder:CopyTo(int,System.Span`1[ushort],int):this (FullOpts)
+; Total bytes of code 440, prolog size 24, PerfScore 143.00, instruction count 127, allocated bytes for code 440 (MethodHash=f81fb087) for method System.Text.StringBuilder:CopyTo(int,System.Span`1[ushort],int):this (FullOpts)
; ============================================================
Unwind Info: -2 (-0.77%) : 2716.dasm - System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this (FullOpts)@@ -41,9 +41,8 @@ G_M27413_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
G_M27413_IG02: ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
movzx rsi, dl
or cl, sil, byte ptr [rbx+0x15]
- test cl, cl
jne SHORT G_M27413_IG04
- ;; size=15 bbWeight=1 PerfScore 4.50
+ ;; size=13 bbWeight=1 PerfScore 4.25
G_M27413_IG03: ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
lea rcx, gword ptr [(reloc)]
; gcrRegs +[rcx]
@@ -169,7 +168,7 @@ G_M27413_IG19: ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
jmp SHORT G_M27413_IG16
;; size=17 bbWeight=0 PerfScore 0.00
-; Total bytes of code 260, prolog size 13, PerfScore 188.50, instruction count 78, allocated bytes for code 260 (MethodHash=372f94ea) for method System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this (FullOpts)
+; Total bytes of code 258, prolog size 13, PerfScore 188.25, instruction count 77, allocated bytes for code 258 (MethodHash=372f94ea) for method System.Runtime.InteropServices.SafeHandle:InternalRelease(ubyte):this (FullOpts)
; ============================================================
Unwind Info: -2 (-1.29%) : 13141.dasm - System.Text.StringBuilder:set_Chars(int,ushort):this (FullOpts)@@ -36,9 +36,8 @@ G_M32255_IG03: ; bbWeight=4, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byr
;; size=9 bbWeight=4 PerfScore 13.00
G_M32255_IG04: ; bbWeight=8, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
sub ebx, edx, dword ptr [rcx+0x1C]
- test ebx, ebx
- jl SHORT G_M32255_IG03
- ;; size=11 bbWeight=8 PerfScore 34.00
+ js SHORT G_M32255_IG03
+ ;; size=9 bbWeight=8 PerfScore 32.00
G_M32255_IG05: ; bbWeight=1, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
cmp ebx, dword ptr [rcx+0x18]
jge SHORT G_M32255_IG07
@@ -110,7 +109,7 @@ G_M32255_IG09: ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
int3
;; size=6 bbWeight=0 PerfScore 0.00
-; Total bytes of code 155, prolog size 5, PerfScore 63.25, instruction count 43, allocated bytes for code 155 (MethodHash=ad9c8200) for method System.Text.StringBuilder:set_Chars(int,ushort):this (FullOpts)
+; Total bytes of code 153, prolog size 5, PerfScore 61.25, instruction count 42, allocated bytes for code 153 (MethodHash=ad9c8200) for method System.Text.StringBuilder:set_Chars(int,ushort):this (FullOpts)
; ============================================================
Unwind Info: DetailsSize improvements/regressions per collection
PerfScore improvements/regressions per collection
Context information
jit-analyze output |
Failures look irrelevant , PR is ready for review. CC @dotnet/intel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR fixes bugs in the APX new data destination (NDD) code generation and improves the overall codegen logic.
- Updated binary instruction formatting to bypass a function call when NDD is enabled.
- Added an extra check to prevent emitting redundant move instructions when using APX NDD.
Comments suppressed due to low confidence (1)
src/coreclr/jit/emitxarch.cpp:10575
- The addition of the redundant mov check is a positive improvement. Please ensure that the IsRedundantMov function covers all relevant cases to avoid skipping a genuinely needed mov operation.
if (DoJitUseApxNDD(ins) && regOp->GetRegNum() != targetReg && !IsRedundantMov(INS_mov, IF_RWR_RRD, attr, targetReg, regOp->GetRegNum(), false))
@@ -6420,7 +6420,7 @@ regNumber emitter::emitInsBinary(instruction ins, emitAttr attr, GenTree* dst, G | |||
} | |||
else | |||
{ | |||
fmt = useNDD ? emitInsModeFormat(ins, IF_RWR_RRD_ARD) : emitInsModeFormat(ins, IF_RRD_ARD); | |||
fmt = useNDD ? IF_RWR_RRD_ARD : emitInsModeFormat(ins, IF_RRD_ARD); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By directly assigning IF_RWR_RRD_ARD when useNDD is true, ensure that this constant provides equivalent behavior as the previous call to emitInsModeFormat(ins, IF_RWR_RRD_ARD) and doesn't bypass any essential formatting logic.
fmt = useNDD ? IF_RWR_RRD_ARD : emitInsModeFormat(ins, IF_RRD_ARD); | |
fmt = useNDD ? emitInsModeFormat(ins, IF_RWR_RRD_ARD) : emitInsModeFormat(ins, IF_RRD_ARD); |
Copilot uses AI. Check for mistakes.
Fixes a few bugs when using APX new data destination feature, and improve the code gen a little when feature is on.