pgo diff
15 removals
32 lines
15 additions
33 lines
; System.Runtime.CompilerServices.CastHelpers.StelemRef(System.Array, IntPtr, System.Object)
; System.Runtime.CompilerServices.CastHelpers.StelemRef(System.Object[], IntPtr, System.Object)
sub rsp,28
sub rsp,28
mov eax,[rcx+8]
mov eax,[rcx+8]
cmp rdx,rax
cmp rax,rdx
jae short M01_L02
jbe short M01_L01
lea rax,[rcx+rdx*8+10]
lea rax,[rcx+rdx*8+10]
mov rdx,[rcx]
mov rdx,[rcx]
mov rdx,[rdx+38]
mov rdx,[rdx+30]
test r8,r8
test r8,r8
jne short M01_L00
jne short M01_L02
xor ecx,ecx
xor ecx,ecx
mov [rax],rcx
mov [rax],rcx
add rsp,28
add rsp,28
ret
ret
M01_L00:
M01_L00:
cmp rdx,[r8]
je short M01_L01
mov r10,offset MT_System.Object[]
mov r10,offset MT_System.Object[]
cmp [rcx],r10
cmp [rcx],r10
je short M01_L01
je short M01_L03
mov rcx,rax
mov rcx,rax
add rsp,28
add rsp,28
jmp qword ptr [7FFB68CB4498]; System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object ByRef, Void*, System.Object)
jmp qword ptr [7FFB6BDB44B0]; System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object ByRef, Void*, System.Object)
M01_L01:
M01_L01:
call qword ptr [7FFB6BDB4450]
int 3
M01_L02:
cmp rdx,[r8]
jne short M01_L00
M01_L03:
mov rcx,rax
mov rcx,rax
mov rdx,r8
mov rdx,r8
add rsp,28
add rsp,28
jmp near ptr System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object)
jmp near ptr System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object)
M01_L02:
; Total bytes of code 94
call CORINFO_HELP_RNGCHKFAIL
int 3
; Total bytes of code 93