Untitled Diff

作成日 差分は期限切れになりません
19 削除
142 行
44 追加
167 行
; 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]