-
Notifications
You must be signed in to change notification settings - Fork 4
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
[Perf] Windows/x64: 10 Regressions on 12/14/2022 8:02:51 PM #10854
Comments
Run Information
Regressions in System.Net.Primitives.Tests.CredentialCacheTests
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Net.Primitives.Tests.CredentialCacheTests*' PayloadsHistogramSystem.Net.Primitives.Tests.CredentialCacheTests.ForEach(uriCount: 10, hostPortCount: 10)
Description of detection logic
; System.Collections.Generic.Dictionary`2[[System.ValueTuple`2[[System.Int32, System.Private.CoreLib],[System.Int32, System.Private.CoreLib]], System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.ValueTuple`2<Int32,Int32>)
push r15
push r14
push rdi
push rsi
push rbp
push rbx
sub rsp,28
mov [rsp+68],rdx
mov rsi,rcx
cmp qword ptr [rsi+8],0
jne short M01_L01
M01_L00:
xor r14d,r14d
jmp near ptr M01_L09
M01_L01:
mov rdi,[rsi+18]
test rdi,rdi
jne near ptr M01_L04
lea rcx,[rsp+68]
call qword ptr [7FF866C853A8]; System.ValueTuple`2[[System.Int32, System.Private.CoreLib],[System.Int32, System.Private.CoreLib]].GetHashCode()
mov edi,eax
mov rcx,[rsi+8]
mov edx,[rcx+8]
mov r8d,edi
imul r8,[rsi+30]
shr r8,20
inc r8
mov edx,edx
imul rdx,r8
shr rdx,20
cmp edx,[rcx+8]
jae near ptr M01_L10
mov edx,edx
lea rcx,[rcx+rdx*4+10]
mov ebx,[rcx]
mov rsi,[rsi+10]
xor ebp,ebp
dec ebx
M01_L02:
cmp [rsi+8],ebx
jbe short M01_L00
mov ecx,ebx
lea rcx,[rcx+rcx*2]
lea r14,[rsi+rcx*8+10]
cmp [r14+8],edi
jne short M01_L03
lea rcx,[r14+10]
mov edx,[rcx]
mov ebx,[rcx+4]
mov r8d,[rsp+68]
mov r15d,[rsp+6C]
mov rcx,25570C01FA0
mov rcx,[rcx]
call qword ptr [7FF866A63170]; System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, System.Private.CoreLib]].Equals(Int32, Int32)
test eax,eax
je short M01_L03
mov rcx,25570C01FA0
mov rcx,[rcx]
mov edx,ebx
mov r8d,r15d
call qword ptr [7FF866A63170]; System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, System.Private.CoreLib]].Equals(Int32, Int32)
test eax,eax
jne near ptr M01_L08
M01_L03:
mov ebx,[r14+0C]
inc ebp
cmp [rsi+8],ebp
jae short M01_L02
jmp near ptr M01_L07
M01_L04:
mov rcx,rdi
mov rdx,[rsp+68]
mov r11,7FF8663005D8
call qword ptr [r11]
mov ebx,eax
mov rdx,[rsi+8]
mov ecx,[rdx+8]
mov r8d,ebx
imul r8,[rsi+30]
shr r8,20
inc r8
mov ecx,ecx
imul rcx,r8
shr rcx,20
cmp ecx,[rdx+8]
jae short M01_L10
mov ecx,ecx
lea rdx,[rdx+rcx*4+10]
mov ebp,[rdx]
mov rsi,[rsi+10]
xor r15d,r15d
dec ebp
M01_L05:
cmp [rsi+8],ebp
jbe near ptr M01_L00
mov edx,ebp
lea rdx,[rdx+rdx*2]
lea r14,[rsi+rdx*8+10]
cmp [r14+8],ebx
jne short M01_L06
mov rdx,[r14+10]
mov rcx,rdi
mov r8,[rsp+68]
mov r11,7FF8663005E0
call qword ptr [r11]
test eax,eax
jne short M01_L08
M01_L06:
mov ebp,[r14+0C]
inc r15d
cmp [rsi+8],r15d
jae short M01_L05
M01_L07:
call qword ptr [7FF866BEFB10]
int 3
M01_L08:
cmp [r14],r14b
M01_L09:
mov rax,r14
add rsp,28
pop rbx
pop rbp
pop rsi
pop rdi
pop r14
pop r15
ret
M01_L10:
call CORINFO_HELP_RNGCHKFAIL
int 3
; Total bytes of code 409 ; System.Net.CredentialCache+CredentialEnumerator.Create(System.Net.CredentialCache)
push rdi
push rsi
push rbp
push rbx
sub rsp,28
mov rsi,rcx
mov rdi,[rsi+8]
test rdi,rdi
je near ptr M02_L04
cmp qword ptr [rsi+10],0
jne near ptr M02_L01
mov rcx,offset MT_System.Net.CredentialCache+CredentialEnumerator+SingleTableCredentialEnumerator`1[[System.Net.CredentialKey, System.Net.Primitives]]
call CORINFO_HELP_NEWSFAST
mov rbx,rax
lea rcx,[rbx+8]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
mov ecx,[rsi+18]
mov [rbx+18],ecx
mov rax,[rdi+28]
test rax,rax
jne short M02_L00
mov rcx,offset MT_System.Collections.Generic.Dictionary`2+ValueCollection[[System.Net.CredentialKey, System.Net.Primitives],[System.Net.NetworkCredential, System.Net.Primitives]]
call CORINFO_HELP_NEWSFAST
mov rsi,rax
lea rcx,[rsi+8]
mov rdx,rdi
call CORINFO_HELP_ASSIGN_REF
lea rcx,[rdi+28]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
mov rax,rsi
M02_L00:
mov rdx,[rax+8]
mov esi,[rdx+44]
lea rdi,[rbx+20]
mov rcx,rdi
call CORINFO_HELP_CHECKED_ASSIGN_REF
xor eax,eax
mov [rdi+8],rax
mov [rdi+10],eax
mov [rdi+14],esi
mov rax,rbx
add rsp,28
pop rbx
pop rbp
pop rsi
pop rdi
ret
M02_L01:
mov rcx,offset MT_System.Net.CredentialCache+CredentialEnumerator+DoubleTableCredentialEnumerator
call CORINFO_HELP_NEWSFAST
mov rbx,rax
lea rcx,[rbx+8]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
mov ecx,[rsi+18]
mov [rbx+18],ecx
mov rax,[rdi+28]
test rax,rax
jne short M02_L02
mov rcx,offset MT_System.Collections.Generic.Dictionary`2+ValueCollection[[System.Net.CredentialKey, System.Net.Primitives],[System.Net.NetworkCredential, System.Net.Primitives]]
call CORINFO_HELP_NEWSFAST
mov rbp,rax
lea rcx,[rbp+8]
mov rdx,rdi
call CORINFO_HELP_ASSIGN_REF
lea rcx,[rdi+28]
mov rdx,rbp
call CORINFO_HELP_ASSIGN_REF
mov rax,rbp
M02_L02:
mov rdx,[rax+8]
mov edi,[rdx+44]
lea rbp,[rbx+20]
mov rcx,rbp
call CORINFO_HELP_CHECKED_ASSIGN_REF
xor ecx,ecx
mov [rbp+8],rcx
mov [rbp+10],ecx
mov [rbp+14],edi
mov rsi,[rsi+10]
mov rax,[rsi+28]
test rax,rax
jne short M02_L03
mov rcx,offset MT_System.Collections.Generic.Dictionary`2+ValueCollection[[System.Net.CredentialHostKey, System.Net.Primitives],[System.Net.NetworkCredential, System.Net.Primitives]]
call CORINFO_HELP_NEWSFAST
mov rdi,rax
lea rcx,[rdi+8]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
lea rcx,[rsi+28]
mov rdx,rdi
call CORINFO_HELP_ASSIGN_REF
mov rax,rdi
M02_L03:
mov rdx,[rax+8]
mov esi,[rdx+44]
lea rdi,[rbx+40]
mov rcx,rdi
call CORINFO_HELP_CHECKED_ASSIGN_REF
xor eax,eax
mov [rdi+8],rax
mov [rdi+10],eax
mov [rdi+14],esi
mov rax,rbx
add rsp,28
pop rbx
pop rbp
pop rsi
pop rdi
ret
M02_L04:
cmp qword ptr [rsi+10],0
jne short M02_L05
mov rcx,offset MT_System.Net.CredentialCache+CredentialEnumerator
call CORINFO_HELP_NEWSFAST
mov rdi,rax
lea rcx,[rdi+8]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
mov eax,[rsi+18]
mov [rdi+18],eax
mov rax,rdi
add rsp,28
pop rbx
pop rbp
pop rsi
pop rdi
ret
M02_L05:
mov rcx,offset MT_System.Net.CredentialCache+CredentialEnumerator+SingleTableCredentialEnumerator`1[[System.Net.CredentialHostKey, System.Net.Primitives]]
call CORINFO_HELP_NEWSFAST
mov rdi,rax
mov rbx,[rsi+10]
lea rcx,[rdi+8]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
mov ecx,[rsi+18]
mov [rdi+18],ecx
mov rax,[rbx+28]
test rax,rax
jne short M02_L06
mov rcx,offset MT_System.Collections.Generic.Dictionary`2+ValueCollection[[System.Net.CredentialHostKey, System.Net.Primitives],[System.Net.NetworkCredential, System.Net.Primitives]]
call CORINFO_HELP_NEWSFAST
mov rsi,rax
lea rcx,[rsi+8]
mov rdx,rbx
call CORINFO_HELP_ASSIGN_REF
lea rcx,[rbx+28]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
mov rax,rsi
M02_L06:
mov rdx,[rax+8]
mov esi,[rdx+44]
lea rbx,[rdi+20]
mov rcx,rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
xor eax,eax
mov [rbx+8],rax
mov [rbx+10],eax
mov [rbx+14],esi
mov rax,rdi
add rsp,28
pop rbx
pop rbp
pop rsi
pop rdi
ret
; Total bytes of code 582 ; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
test rdx,rdx
je short M03_L03
mov rax,[rdx]
movzx r8d,word ptr [rax+0E]
test r8,r8
je short M03_L02
mov r9,[rax+38]
cmp r8,4
jl short M03_L01
M03_L00:
cmp [r9],rcx
je short M03_L03
cmp [r9+8],rcx
je short M03_L03
cmp [r9+10],rcx
je short M03_L03
cmp [r9+18],rcx
je short M03_L03
add r9,20
add r8,0FFFFFFFFFFFFFFFC
cmp r8,4
jge short M03_L00
test r8,r8
je short M03_L02
M03_L01:
cmp [r9],rcx
je short M03_L03
add r9,8
dec r8
test r8,r8
jg short M03_L01
M03_L02:
test dword ptr [rax],406C0000
jne short M03_L04
xor edx,edx
M03_L03:
mov rax,rdx
ret
M03_L04:
jmp qword ptr [7FF8664AD840]
; Total bytes of code 107 Compare Jit Disasm; System.Net.Primitives.Tests.CredentialCacheTests.ForEach(Int32, Int32)
push rbp
push rsi
sub rsp,38
lea rbp,[rsp+40]
mov [rbp-20],rsp
mov rsi,rcx
mov rcx,[rsi+10]
cmp [rcx],cl
mov [rbp-10],edx
mov [rbp-0C],r8d
mov rdx,[rbp-10]
call qword ptr [7FFE941E58D0]; System.Collections.Generic.Dictionary`2[[System.ValueTuple`2[[System.Int32, System.Private.CoreLib],[System.Int32, System.Private.CoreLib]], System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.ValueTuple`2<Int32,Int32>)
test rax,rax
je near ptr M00_L03
mov rcx,[rax]
mov rsi,[rsi+8]
cmp [rcx],cl
call qword ptr [7FFE943C90A8]; System.Net.CredentialCache+CredentialEnumerator.Create(System.Net.CredentialCache)
mov rdx,rax
mov [rbp-18],rdx
mov rcx,rdx
mov r11,7FFE938705B8
call qword ptr [r11]
test eax,eax
je short M00_L01
M00_L00:
mov rcx,[rbp-18]
mov r11,7FFE938705C0
call qword ptr [r11]
lea rcx,[rsi+10]
mov rdx,rax
call CORINFO_HELP_ASSIGN_REF
mov rcx,[rbp-18]
mov r11,7FFE938705B8
call qword ptr [r11]
test eax,eax
jne short M00_L00
M00_L01:
mov rdx,[rbp-18]
mov rcx,offset MT_System.IDisposable
call qword ptr [7FFE93A1D810]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
test rax,rax
je short M00_L02
mov rcx,rax
mov r11,7FFE938705C8
call qword ptr [r11]
M00_L02:
nop
add rsp,38
pop rsi
pop rbp
ret
M00_L03:
mov rcx,[rbp-10]
call qword ptr [7FFE943C7FC0]
int 3
push rbp
push rsi
sub rsp,28
mov rbp,[rcx+20]
mov [rsp+20],rbp
lea rbp,[rbp+40]
mov rdx,[rbp-18]
mov rcx,offset MT_System.IDisposable
call qword ptr [7FFE93A1D810]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
test rax,rax
je short M00_L04
mov rcx,rax
mov r11,7FFE938705C8
call qword ptr [r11]
M00_L04:
nop
add rsp,28
pop rsi
pop rbp
ret
; Total bytes of code 270 ; System.Collections.Generic.Dictionary`2[[System.ValueTuple`2[[System.Int32, System.Private.CoreLib],[System.Int32, System.Private.CoreLib]], System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.ValueTuple`2<Int32,Int32>)
push r15
push r14
push rdi
push rsi
push rbp
push rbx
sub rsp,28
mov [rsp+68],rdx
mov rsi,rcx
cmp qword ptr [rsi+8],0
jne short M01_L01
M01_L00:
xor r14d,r14d
jmp near ptr M01_L09
M01_L01:
mov rdi,[rsi+18]
test rdi,rdi
jne near ptr M01_L04
lea rcx,[rsp+68]
call qword ptr [7FFE941E53A8]; System.ValueTuple`2[[System.Int32, System.Private.CoreLib],[System.Int32, System.Private.CoreLib]].GetHashCode()
mov edi,eax
mov rcx,[rsi+8]
mov edx,[rcx+8]
mov r8d,edi
imul r8,[rsi+30]
shr r8,20
inc r8
mov edx,edx
imul rdx,r8
shr rdx,20
cmp edx,[rcx+8]
jae near ptr M01_L10
mov edx,edx
lea rcx,[rcx+rdx*4+10]
mov ebx,[rcx]
mov rsi,[rsi+10]
xor ebp,ebp
dec ebx
M01_L02:
cmp [rsi+8],ebx
jbe short M01_L00
mov ecx,ebx
lea rcx,[rcx+rcx*2]
lea r14,[rsi+rcx*8+10]
cmp [r14+8],edi
jne short M01_L03
lea rcx,[r14+10]
mov edx,[rcx]
mov ebx,[rcx+4]
mov r8d,[rsp+68]
mov r15d,[rsp+6C]
mov rcx,193D8C01FA0
mov rcx,[rcx]
call qword ptr [7FFE93FD3190]; System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, System.Private.CoreLib]].Equals(Int32, Int32)
test eax,eax
je short M01_L03
mov rcx,193D8C01FA0
mov rcx,[rcx]
mov edx,ebx
mov r8d,r15d
call qword ptr [7FFE93FD3190]; System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, System.Private.CoreLib]].Equals(Int32, Int32)
test eax,eax
jne near ptr M01_L08
M01_L03:
mov ebx,[r14+0C]
inc ebp
cmp [rsi+8],ebp
jae short M01_L02
jmp near ptr M01_L07
M01_L04:
mov rcx,rdi
mov rdx,[rsp+68]
mov r11,7FFE938705D0
call qword ptr [r11]
mov ebx,eax
mov rdx,[rsi+8]
mov ecx,[rdx+8]
mov r8d,ebx
imul r8,[rsi+30]
shr r8,20
inc r8
mov ecx,ecx
imul rcx,r8
shr rcx,20
cmp ecx,[rdx+8]
jae short M01_L10
mov ecx,ecx
lea rdx,[rdx+rcx*4+10]
mov ebp,[rdx]
mov rsi,[rsi+10]
xor r15d,r15d
dec ebp
M01_L05:
cmp [rsi+8],ebp
jbe near ptr M01_L00
mov edx,ebp
lea rdx,[rdx+rdx*2]
lea r14,[rsi+rdx*8+10]
cmp [r14+8],ebx
jne short M01_L06
mov rdx,[r14+10]
mov rcx,rdi
mov r8,[rsp+68]
mov r11,7FFE938705D8
call qword ptr [r11]
test eax,eax
jne short M01_L08
M01_L06:
mov ebp,[r14+0C]
inc r15d
cmp [rsi+8],r15d
jae short M01_L05
M01_L07:
call qword ptr [7FFE9415FB10]
int 3
M01_L08:
cmp [r14],r14b
M01_L09:
mov rax,r14
add rsp,28
pop rbx
pop rbp
pop rsi
pop rdi
pop r14
pop r15
ret
M01_L10:
call CORINFO_HELP_RNGCHKFAIL
int 3
; Total bytes of code 409 ; System.Net.CredentialCache+CredentialEnumerator.Create(System.Net.CredentialCache)
push rdi
push rsi
push rbp
push rbx
sub rsp,28
mov rsi,rcx
mov rdi,[rsi+8]
test rdi,rdi
je near ptr M02_L04
cmp qword ptr [rsi+10],0
jne near ptr M02_L01
mov rcx,offset MT_System.Net.CredentialCache+CredentialEnumerator+SingleTableCredentialEnumerator`1[[System.Net.CredentialKey, System.Net.Primitives]]
call CORINFO_HELP_NEWSFAST
mov rbx,rax
lea rcx,[rbx+8]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
mov ecx,[rsi+18]
mov [rbx+18],ecx
mov rax,[rdi+28]
test rax,rax
jne short M02_L00
mov rcx,offset MT_System.Collections.Generic.Dictionary`2+ValueCollection[[System.Net.CredentialKey, System.Net.Primitives],[System.Net.NetworkCredential, System.Net.Primitives]]
call CORINFO_HELP_NEWSFAST
mov rsi,rax
lea rcx,[rsi+8]
mov rdx,rdi
call CORINFO_HELP_ASSIGN_REF
lea rcx,[rdi+28]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
mov rax,rsi
M02_L00:
mov rdx,[rax+8]
mov esi,[rdx+44]
lea rdi,[rbx+20]
mov rcx,rdi
call CORINFO_HELP_CHECKED_ASSIGN_REF
xor eax,eax
mov [rdi+8],rax
mov [rdi+10],eax
mov [rdi+14],esi
mov rax,rbx
add rsp,28
pop rbx
pop rbp
pop rsi
pop rdi
ret
M02_L01:
mov rcx,offset MT_System.Net.CredentialCache+CredentialEnumerator+DoubleTableCredentialEnumerator
call CORINFO_HELP_NEWSFAST
mov rbx,rax
lea rcx,[rbx+8]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
mov ecx,[rsi+18]
mov [rbx+18],ecx
mov rax,[rdi+28]
test rax,rax
jne short M02_L02
mov rcx,offset MT_System.Collections.Generic.Dictionary`2+ValueCollection[[System.Net.CredentialKey, System.Net.Primitives],[System.Net.NetworkCredential, System.Net.Primitives]]
call CORINFO_HELP_NEWSFAST
mov rbp,rax
lea rcx,[rbp+8]
mov rdx,rdi
call CORINFO_HELP_ASSIGN_REF
lea rcx,[rdi+28]
mov rdx,rbp
call CORINFO_HELP_ASSIGN_REF
mov rax,rbp
M02_L02:
mov rdx,[rax+8]
mov edi,[rdx+44]
lea rbp,[rbx+20]
mov rcx,rbp
call CORINFO_HELP_CHECKED_ASSIGN_REF
xor ecx,ecx
mov [rbp+8],rcx
mov [rbp+10],ecx
mov [rbp+14],edi
mov rsi,[rsi+10]
mov rax,[rsi+28]
test rax,rax
jne short M02_L03
mov rcx,offset MT_System.Collections.Generic.Dictionary`2+ValueCollection[[System.Net.CredentialHostKey, System.Net.Primitives],[System.Net.NetworkCredential, System.Net.Primitives]]
call CORINFO_HELP_NEWSFAST
mov rdi,rax
lea rcx,[rdi+8]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
lea rcx,[rsi+28]
mov rdx,rdi
call CORINFO_HELP_ASSIGN_REF
mov rax,rdi
M02_L03:
mov rdx,[rax+8]
mov esi,[rdx+44]
lea rdi,[rbx+40]
mov rcx,rdi
call CORINFO_HELP_CHECKED_ASSIGN_REF
xor eax,eax
mov [rdi+8],rax
mov [rdi+10],eax
mov [rdi+14],esi
mov rax,rbx
add rsp,28
pop rbx
pop rbp
pop rsi
pop rdi
ret
M02_L04:
cmp qword ptr [rsi+10],0
jne short M02_L05
mov rcx,offset MT_System.Net.CredentialCache+CredentialEnumerator
call CORINFO_HELP_NEWSFAST
mov rdi,rax
lea rcx,[rdi+8]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
mov eax,[rsi+18]
mov [rdi+18],eax
mov rax,rdi
add rsp,28
pop rbx
pop rbp
pop rsi
pop rdi
ret
M02_L05:
mov rcx,offset MT_System.Net.CredentialCache+CredentialEnumerator+SingleTableCredentialEnumerator`1[[System.Net.CredentialHostKey, System.Net.Primitives]]
call CORINFO_HELP_NEWSFAST
mov rdi,rax
mov rbx,[rsi+10]
lea rcx,[rdi+8]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
mov ecx,[rsi+18]
mov [rdi+18],ecx
mov rax,[rbx+28]
test rax,rax
jne short M02_L06
mov rcx,offset MT_System.Collections.Generic.Dictionary`2+ValueCollection[[System.Net.CredentialHostKey, System.Net.Primitives],[System.Net.NetworkCredential, System.Net.Primitives]]
call CORINFO_HELP_NEWSFAST
mov rsi,rax
lea rcx,[rsi+8]
mov rdx,rbx
call CORINFO_HELP_ASSIGN_REF
lea rcx,[rbx+28]
mov rdx,rsi
call CORINFO_HELP_ASSIGN_REF
mov rax,rsi
M02_L06:
mov rdx,[rax+8]
mov esi,[rdx+44]
lea rbx,[rdi+20]
mov rcx,rbx
call CORINFO_HELP_CHECKED_ASSIGN_REF
xor eax,eax
mov [rbx+8],rax
mov [rbx+10],eax
mov [rbx+14],esi
mov rax,rdi
add rsp,28
pop rbx
pop rbp
pop rsi
pop rdi
ret
; Total bytes of code 582 ; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
test rdx,rdx
je short M03_L03
mov rax,[rdx]
movzx r8d,word ptr [rax+0E]
test r8,r8
je short M03_L02
mov r9,[rax+38]
cmp r8,4
jl short M03_L01
M03_L00:
cmp [r9],rcx
je short M03_L03
cmp [r9+8],rcx
je short M03_L03
cmp [r9+10],rcx
je short M03_L03
cmp [r9+18],rcx
je short M03_L03
add r9,20
add r8,0FFFFFFFFFFFFFFFC
cmp r8,4
jge short M03_L00
test r8,r8
je short M03_L02
M03_L01:
cmp [r9],rcx
je short M03_L03
add r9,8
dec r8
test r8,r8
jg short M03_L01
M03_L02:
test dword ptr [rax],406C0000
jne short M03_L04
xor edx,edx
M03_L03:
mov rax,rdx
ret
M03_L04:
jmp qword ptr [7FFE93A1D840]
; Total bytes of code 107 DocsProfiling workflow for dotnet/runtime repository
Regressions in System.Numerics.Tests.Perf_VectorOf<SByte>
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorOf<SByte>*' PayloadsHistogramSystem.Numerics.Tests.Perf_VectorOf<SByte>.DivideBenchmark
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository |
Dup of dotnet/runtime#79973 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Run Information
Regressions in System.Memory.Span<Int32>
Test Report
Repro
Payloads
Baseline
Compare
Histogram
System.Memory.Span<Int32>.BinarySearch(Size: 4)
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Regressions in System.Text.Json.Tests.Perf_Get
Test Report
Repro
Payloads
Baseline
Compare
Histogram
System.Text.Json.Tests.Perf_Get.GetBoolean
Description of detection logic
Compare Jit Disasm
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Numerics.Tests.Perf_VectorOf<Int16>
Test Report
Repro
Payloads
Baseline
Compare
Histogram
System.Numerics.Tests.Perf_VectorOf<Int16>.DivisionOperatorBenchmark
Description of detection logic
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.ContainsFalse<Int32>
Test Report
Repro
Payloads
Baseline
Compare
Histogram
System.Collections.ContainsFalse<Int32>.ImmutableSortedSet(Size: 512)
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: