Untitled Diff

Created Diff never expires
19 removals
142 lines
44 additions
167 lines
; Assembly listing for method System.Net.Sockets.Socket:ReceiveAsync(System.ArraySegment`1[ubyte],int):System.Threading.Tasks.Task`1[int]:this
; Assembly listing for method System.Net.Sockets.Socket:ReceiveAsync(System.ArraySegment`1[ubyte],int):System.Threading.Tasks.Task`1[int]:this


G_M54425_IG01:
G_M54425_IG01:
push r15
push r15
push r14
push r14
push r12
push r12
push rdi
push rdi
push rsi
push rsi
push rbp
push rbp
push rbx
push rbx
sub rsp, 96
sub rsp, 96
vxorps xmm4, xmm4
vxorps xmm4, xmm4
vmovdqa xmmword ptr [rsp+20H], xmm4
vmovdqa xmmword ptr [rsp+20H], xmm4
vmovdqa xmmword ptr [rsp+30H], xmm4
vmovdqa xmmword ptr [rsp+30H], xmm4
vmovdqa xmmword ptr [rsp+40H], xmm4
vmovdqa xmmword ptr [rsp+40H], xmm4
vmovdqa xmmword ptr [rsp+50H], xmm4
vmovdqa xmmword ptr [rsp+50H], xmm4
mov rsi, rcx
mov rsi, rcx
mov edi, r8d
mov edi, r8d
;; size=48 bbWeight=1 PerfScore 16.08
;; size=48 bbWeight=1 PerfScore 16.08
G_M54425_IG02:
G_M54425_IG02:
mov rbx, gword ptr [rdx]
mov rbx, gword ptr [rdx]
mov ebp, dword ptr [rdx+08H]
mov ebp, dword ptr [rdx+08H]
mov r14d, dword ptr [rdx+0CH]
mov r14d, dword ptr [rdx+0CH]
mov gword ptr [rsp+30H], rbx
mov gword ptr [rsp+30H], rbx
mov dword ptr [rsp+38H], ebp
mov dword ptr [rsp+38H], ebp
mov dword ptr [rsp+3CH], r14d
mov dword ptr [rsp+3CH], r14d
lea rcx, [rsp+30H]
lea rcx, [rsp+30H]
call [System.Net.Sockets.Socket:ValidateBuffer(System.ArraySegment`1[ubyte])]
call [System.Net.Sockets.Socket:ValidateBuffer(System.ArraySegment`1[ubyte])]
test rbx, rbx
test rbx, rbx
jne SHORT G_M54425_IG04
jne SHORT G_M54425_IG04
;; size=40 bbWeight=1 PerfScore 13.75
;; size=40 bbWeight=1 PerfScore 13.75
G_M54425_IG03:
G_M54425_IG03:
or ebp, r14d
or ebp, r14d
jne G_M54425_IG13
jne G_M54425_IG15
xor rbp, rbp
xor rbp, rbp
xor r15d, r15d
xor r15d, r15d
xor r12d, r12d
xor r12d, r12d
jmp SHORT G_M54425_IG05
jmp SHORT G_M54425_IG05
;; size=19 bbWeight=0.50 PerfScore 2.00
;; size=19 bbWeight=0.50 PerfScore 2.00
G_M54425_IG04:
G_M54425_IG04:
mov ecx, ebp
mov ecx, ebp
mov edx, r14d
mov edx, r14d
add rcx, rdx
add rcx, rdx
mov edx, dword ptr [rbx+08H]
mov edx, dword ptr [rbx+08H]
cmp rcx, rdx
cmp rcx, rdx
ja G_M54425_IG13
ja G_M54425_IG15
mov r15d, ebp
mov r15d, ebp
mov r12d, r14d
mov r12d, r14d
mov rbp, rbx
mov rbp, rbx
;; size=29 bbWeight=0.50 PerfScore 2.38
;; size=29 bbWeight=0.50 PerfScore 2.38
G_M54425_IG05:
G_M54425_IG05:
cmp byte ptr [rsi], sil
cmp byte ptr [rsi], sil
lea rcx, bword ptr [rsi+30H]
lea rcx, bword ptr [rsi+30H]
xor rdx, rdx
xor rdx, rdx
call System.Threading.Interlocked:Exchange(byref,System.Object):System.Object
call System.Threading.Interlocked:Exchange(byref,System.Object):System.Object
mov rbx, rax
mov rbx, rax
test rbx, rbx
test rbx, rbx
jne SHORT G_M54425_IG07
jne SHORT G_M54425_IG07
;; size=22 bbWeight=1 PerfScore 6.25
;; size=22 bbWeight=1 PerfScore 6.25
G_M54425_IG06:
G_M54425_IG06:
mov rcx, 0xD1FFAB1E ; System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs
mov rcx, 0xD1FFAB1E ; System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs
call CORINFO_HELP_NEWFAST
call CORINFO_HELP_NEWFAST
mov rbx, rax
mov rbx, rax
mov rcx, 0xD1FFAB1E ; System.Runtime.CompilerServices.StrongBox`1[System.Net.Sockets.SocketAsyncEventArgs]
mov rcx, 0xD1FFAB1E ; System.Runtime.CompilerServices.StrongBox`1[System.Net.Sockets.SocketAsyncEventArgs]
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
lea rcx, bword ptr [rbx+B8H]
lea rcx, bword ptr [rbx+B8H]
mov rdx, rax
mov rdx, rax
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
mov byte ptr [rbx+FAH], 0
mov byte ptr [rbx+FAH], 0
mov rcx, rbx
mov rcx, rbx
call [System.Net.Sockets.SocketAsyncEventArgs:InitializeInternals():this]
call [System.Net.Sockets.SocketAsyncEventArgs:InitializeInternals():this]
lea rcx, bword ptr [rbx+150H]
lea rcx, bword ptr [rbx+150H]
mov rdx, rsi
mov rdx, rsi
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
mov byte ptr [rbx+172H], 1
mov byte ptr [rbx+172H], 1
;; size=86 bbWeight=0.50 PerfScore 5.75
;; size=86 bbWeight=0.50 PerfScore 5.75
G_M54425_IG07:
G_M54425_IG07:
mov rcx, rbx
mov rcx, rbx
mov gword ptr [rsp+20H], rbp
mov gword ptr [rsp+20H], rbp
mov dword ptr [rsp+28H], r15d
mov dword ptr [rsp+28H], r15d
mov dword ptr [rsp+2CH], r12d
mov dword ptr [rsp+2CH], r12d
lea rdx, [rsp+20H]
lea rdx, [rsp+20H]
cmp dword ptr [rcx], ecx
cmp dword ptr [rcx], ecx
call [System.Net.Sockets.SocketAsyncEventArgs:SetBuffer(System.Memory`1[ubyte]):this]
call [System.Net.Sockets.SocketAsyncEventArgs:SetBuffer(System.Memory`1[ubyte]):this]
mov dword ptr [rbx+ECH], edi
mov dword ptr [rbx+ECH], edi
mov byte ptr [rbx+173H], 0
mov byte ptr [rbx+173H], 0
lea rdx, [rsp+40H]
lea rdx, [rsp+40H]
mov rcx, rbx
mov rcx, rbx
mov r8, rsi
mov r8, rsi
xor r9, r9
xor r9, r9
call [System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs:ReceiveAsync(System.Net.Sockets.Socket,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[int]:this]
call [System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs:ReceiveAsync(System.Net.Sockets.Socket,System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[int]:this]
mov rcx, gword ptr [rsp+40H]
mov rcx, gword ptr [rsp+40H]
mov gword ptr [rsp+50H], rcx
mov gword ptr [rsp+50H], rcx
mov ecx, dword ptr [rsp+48H]
mov ecx, dword ptr [rsp+48H]
mov dword ptr [rsp+58H], ecx
mov dword ptr [rsp+58H], ecx
movsx rcx, word ptr [rsp+4CH]
movsx rcx, word ptr [rsp+4CH]
mov word ptr [rsp+5CH], cx
mov word ptr [rsp+5CH], cx
movzx rcx, byte ptr [rsp+4EH]
movzx rcx, byte ptr [rsp+4EH]
mov byte ptr [rsp+5EH], cl
mov byte ptr [rsp+5EH], cl
mov rsi, gword ptr [rsp+50H]
mov rsi, gword ptr [rsp+50H]
test rsi, rsi
test rsi, rsi
jne SHORT G_M54425_IG09
jne SHORT G_M54425_IG11
;; size=112 bbWeight=1 PerfScore 28.25
;; size=112 bbWeight=1 PerfScore 28.25
G_M54425_IG08:
G_M54425_IG08:
mov ecx, dword ptr [rsp+58H]
mov esi, dword ptr [rsp+58H]
call [System.Threading.Tasks.Task:FromResult[int](int):System.Threading.Tasks.Task`1[int]]
mov edi, esi
jmp SHORT G_M54425_IG11
inc edi
;; size=12 bbWeight=0.50 PerfScore 3.00
cmp edi, 10
jae SHORT G_M54425_IG09
mov rcx, 0xD1FFAB1E
mov edx, 986
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov rcx, 0xD1FFAB1E ; data for System.Threading.Tasks.TaskCache:s_int32Tasks
mov rcx, gword ptr [rcx]
cmp edi, dword ptr [rcx+08H]
jae SHORT G_M54425_IG16
mov eax, edi
mov rax, gword ptr [rcx+8*rax+10H]
jmp SHORT G_M54425_IG10
;; size=60 bbWeight=0.50 PerfScore 7.38
G_M54425_IG09:
G_M54425_IG09:
mov rcx, 0xD1FFAB1E ; System.Threading.Tasks.Task`1[int]
call CORINFO_HELP_NEWSFAST
mov dword ptr [rax+34H], 0xD1FFAB1E
mov dword ptr [rax+38H], esi
;; size=25 bbWeight=0.50 PerfScore 1.62
G_M54425_IG10:
jmp SHORT G_M54425_IG13
;; size=2 bbWeight=0.50 PerfScore 1.00
G_M54425_IG11:
mov rdx, rsi
mov rdx, rsi
mov rcx, 0xD1FFAB1E ; System.Threading.Tasks.Task`1[int]
mov rcx, 0xD1FFAB1E ; System.Threading.Tasks.Task`1[int]
call [CORINFO_HELP_ISINSTANCEOFCLASS]
call [CORINFO_HELP_ISINSTANCEOFCLASS]
test rax, rax
test rax, rax
je SHORT G_M54425_IG10
je SHORT G_M54425_IG12
jmp SHORT G_M54425_IG11
jmp SHORT G_M54425_IG13
;; size=26 bbWeight=0.50 PerfScore 3.38
;; size=26 bbWeight=0.50 PerfScore 3.38
G_M54425_IG10:
G_M54425_IG12:
lea rcx, bword ptr [rsp+50H]
lea rcx, bword ptr [rsp+50H]
mov rdx, rsi
mov rdx, rsi
call [System.Threading.Tasks.ValueTask`1[int]:GetTaskForValueTaskSource(System.Threading.Tasks.Sources.IValueTaskSource`1[int]):System.Threading.Tasks.Task`1[int]:this]
call [System.Threading.Tasks.ValueTask`1[int]:GetTaskForValueTaskSource(System.Threading.Tasks.Sources.IValueTaskSource`1[int]):System.Threading.Tasks.Task`1[int]:this]
;; size=14 bbWeight=0.50 PerfScore 1.88
;; size=14 bbWeight=0.50 PerfScore 1.88
G_M54425_IG11:
G_M54425_IG13:
nop
nop
;; size=1 bbWeight=1 PerfScore 0.25
;; size=1 bbWeight=1 PerfScore 0.25
G_M54425_IG12:
G_M54425_IG14:
add rsp, 96
add rsp, 96
pop rbx
pop rbx
pop rbp
pop rbp
pop rsi
pop rsi
pop rdi
pop rdi
pop r12
pop r12
pop r14
pop r14
pop r15
pop r15
ret
ret
;; size=15 bbWeight=1 PerfScore 4.75
;; size=15 bbWeight=1 PerfScore 4.75
G_M54425_IG13:
G_M54425_IG15:
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
call [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
int3
int3
;; size=7 bbWeight=0 PerfScore 0.00
;; size=7 bbWeight=0 PerfScore 0.00
G_M54425_IG16:
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00


; Total bytes of code 431, prolog size 42, PerfScore 131.31, instruction count 111, allocated bytes for code 436 (MethodHash=979a2b66) for method System.Net.Sockets.Socket:ReceiveAsync(System.ArraySegment`1[ubyte],int):System.Threading.Tasks.Task`1[int]:this
; Total bytes of code 512, prolog size 42, PerfScore 146.41, instruction count 130, allocated bytes for code 517 (MethodHash=979a2b66) for method System.Net.Sockets.Socket:ReceiveAsync(System.ArraySegment`1[ubyte],int):System.Threading.Tasks.Task`1[int]:this
; ============================================================
; ============================================================