Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
System.Collections.CreateAddAndRemove<String>.Queue
Créé
il y a 2 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
199 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
844 lignes
Copier tout
192 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
834 lignes
Copier tout
## .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
## .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
```assembly
```assembly
; System.Collections.CreateAddAndRemove`1[[System.__Canon, System.Private.CoreLib]].Queue()
; System.Collections.CreateAddAndRemove`1[[System.__Canon, System.Private.CoreLib]].Queue()
push r14
push r14
push rdi
push rdi
push rsi
push rsi
push rbp
push rbp
push rbx
push rbx
sub rsp,30
sub rsp,30
mov [rsp+28],rcx
mov [rsp+28],rcx
mov rbx,rcx
mov rbx,rcx
mov rcx,[rbx]
mov rcx,[rbx]
mov rdx,[rcx+30]
mov rdx,[rcx+30]
mov rdx,[rdx]
mov rdx,[rdx]
mov rdx,[rdx+18]
mov rdx,[rdx+18]
test rdx,rdx
test rdx,rdx
Copier
Copié
Copier
Copié
je near ptr M00_L1
0
je near ptr M00_L1
2
M00_L00:
M00_L00:
mov rcx,rdx
mov rcx,rdx
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
mov rsi,rax
mov rsi,rax
mov rcx,[rsi]
mov rcx,[rsi]
mov rdx,[rcx+30]
mov rdx,[rcx+30]
mov rdx,[rdx]
mov rdx,[rdx]
mov rax,[rdx+20]
mov rax,[rdx+20]
test rax,rax
test rax,rax
Copier
Copié
Copier
Copié
je near ptr M00_L1
1
je near ptr M00_L1
3
mov rcx,rax
mov rcx,rax
M00_L01:
M00_L01:
mov rdx,[rcx+18]
mov rdx,[rcx+18]
mov rdx,[rdx+18]
mov rdx,[rdx+18]
test rdx,rdx
test rdx,rdx
Copier
Copié
Copier
Copié
je near ptr M00_L1
2
je near ptr M00_L1
4
M00_L02:
M00_L02:
mov rcx,rdx
mov rcx,rdx
call System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBase(System.Runtime.CompilerServices.MethodTable*)
call System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBase(System.Runtime.CompilerServices.MethodTable*)
mov rdx,[rax]
mov rdx,[rax]
lea rcx,[rsi+8]
lea rcx,[rsi+8]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
mov rdi,[rbx+8]
mov rdi,[rbx+8]
mov ebp,[rdi+8]
mov ebp,[rdi+8]
test ebp,ebp
test ebp,ebp
Copier
Copié
Copier
Copié
jle short M00_L0
6
jle short M00_L0
7
add rdi,10
add rdi,10
Copier
Copié
Copier
Copié
jmp short M00_L05
nop dword ptr [rax]
M00_L03:
M00_L03:
Copier
Copié
Copier
Copié
Text moved with changes from lines 61-69 (94.9% similarity)
xor eax,eax
M00_L04:
mov [rcx],eax
inc dword ptr [rsi+18]
inc dword ptr [rsi+1C]
add rdi,8
dec ebp
je short M00_L07
M00_L05:
mov r14,[rdi]
mov r14,[rdi]
mov ecx,[rsi+18]
mov ecx,[rsi+18]
mov rdx,[rsi+8]
mov rdx,[rsi+8]
cmp ecx,[rdx+8]
cmp ecx,[rdx+8]
Copier
Copié
Copier
Copié
je near ptr M00_L1
3
je near ptr M00_L1
5
M00_L0
4
:
M00_L0
6
:
movsxd rdx,dword ptr [rsi+14]
movsxd rdx,dword ptr [rsi+14]
mov rcx,[rsi+8]
mov rcx,[rsi+8]
mov r8,r14
mov r8,r14
call System.Runtime.CompilerServices.CastHelpers.StelemRef(System.Object[], IntPtr, System.Object)
call System.Runtime.CompilerServices.CastHelpers.StelemRef(System.Object[], IntPtr, System.Object)
lea rcx,[rsi+14]
lea rcx,[rsi+14]
mov eax,[rcx]
mov eax,[rcx]
inc eax
inc eax
mov rdx,[rsi+8]
mov rdx,[rsi+8]
cmp [rdx+8],eax
cmp [rdx+8],eax
Copier
Copié
Copier
Copié
Text moved with changes to lines 48-56 (94.9% similarity)
je near ptr M00_L18
jne short
M00_L04
M00_L05:
jmp short
M00_L03
mov [rcx],eax
M00_L0
7
:
inc dword ptr [rsi+18]
inc dword ptr [rsi+1C]
add rdi,8
dec ebp
jne short
M00_L03
M00_L0
6
:
mov rcx,[rbx+8]
mov rcx,[rbx+8]
mov eax,[rcx+8]
mov eax,[rcx+8]
test eax,eax
test eax,eax
Copier
Copié
Copier
Copié
jle short M00_
L09
jle short M00_
L11
add rcx,10
add rcx,10
Copier
Copié
Copier
Copié
M00_L0
7:
jmp short M00_L10
M00_L0
8:
Text moved with changes from lines 93-101 (94.9% similarity)
xor r10d,r10d
M00_L09:
mov [rdx],r10d
dec dword ptr [rsi+18]
inc dword ptr [rsi+1C]
add rcx,8
dec eax
je short M00_L11
M00_L10:
mov edx,[rsi+10]
mov edx,[rsi+10]
mov r8,[rsi+8]
mov r8,[rsi+8]
mov r10,r8
mov r10,r8
cmp dword ptr [rsi+18],0
cmp dword ptr [rsi+18],0
je near ptr M00_L22
je near ptr M00_L22
mov r9d,[r10+8]
mov r9d,[r10+8]
cmp edx,r9d
cmp edx,r9d
jae near ptr M00_L23
jae near ptr M00_L23
movsxd rdx,edx
movsxd rdx,edx
cmp rdx,r9
cmp rdx,r9
jae near ptr M00_L23
jae near ptr M00_L23
xor r9d,r9d
xor r9d,r9d
mov [r10+rdx*8+10],r9
mov [r10+rdx*8+10],r9
lea rdx,[rsi+10]
lea rdx,[rsi+10]
mov r10d,[rdx]
mov r10d,[rdx]
inc r10d
inc r10d
cmp [r8+8],r10d
cmp [r8+8],r10d
Copier
Copié
Copier
Copié
Text moved with changes to lines 82-90 (94.9% similarity)
je near ptr M00_L19
jne short M00_L0
9
M00_L08:
jmp short
M00_L0
8
mov [rdx],r10d
M00_L11
:
dec dword ptr [rsi+18]
inc dword ptr [rsi+1C]
add rcx,8
dec eax
jne short M00_L0
7
M00_L0
9
:
mov rax,rsi
mov rax,rsi
add rsp,30
add rsp,30
pop rbx
pop rbx
pop rbp
pop rbp
pop rsi
pop rsi
pop rdi
pop rdi
pop r14
pop r14
ret
ret
Copier
Copié
Copier
Copié
M00_L1
0
:
M00_L1
2
:
mov rdx,7FFC4A9
9C6D0
mov rdx,7FFC4A9
1C628
call qword ptr [7FFC4A4
9
F4C8]; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr)
call qword ptr [7FFC4A4
1
F4C8]; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr)
mov rdx,rax
mov rdx,rax
jmp near ptr M00_L00
jmp near ptr M00_L00
Copier
Copié
Copier
Copié
M00_L1
1
:
M00_L1
3
:
mov rdx,7FFC4A9
9CF20
mov rdx,7FFC4A9
1CE78
call qword ptr [7FFC4A4
9
F4C8]; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr)
call qword ptr [7FFC4A4
1
F4C8]; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr)
mov rcx,rax
mov rcx,rax
jmp near ptr M00_L01
jmp near ptr M00_L01
Copier
Copié
Copier
Copié
M00_L1
2
:
M00_L1
4
:
mov rdx,7FFC4A9
9CFB0
mov rdx,7FFC4A9
1CF08
call qword ptr [7FFC4A4
9
F648]; System.Runtime.CompilerServices.GenericsHelpers.Method(IntPtr, IntPtr)
call qword ptr [7FFC4A4
1
F648]; System.Runtime.CompilerServices.GenericsHelpers.Method(IntPtr, IntPtr)
mov rdx,rax
mov rdx,rax
jmp near ptr M00_L02
jmp near ptr M00_L02
Copier
Copié
Copier
Copié
M00_L1
3
:
M00_L1
5
:
mov edx,[rsi+18]
mov edx,[rsi+18]
inc edx
inc edx
mov rcx,[rsi+8]
mov rcx,[rsi+8]
mov ecx,[rcx+8]
mov ecx,[rcx+8]
add ecx,ecx
add ecx,ecx
cmp ecx,7FFFFFC7
cmp ecx,7FFFFFC7
ja short M00_L20
ja short M00_L20
Copier
Copié
Copier
Copié
M00_L1
4
:
M00_L1
6
:
mov rax,[rsi+8]
mov rax,[rsi+8]
mov eax,[rax+8]
mov eax,[rax+8]
add eax,4
add eax,4
cmp ecx,eax
cmp ecx,eax
Copier
Copié
Copier
Copié
jl short M00_L1
7
jl short M00_L1
9
M00_L1
5
:
M00_L1
7
:
cmp ecx,edx
cmp ecx,edx
mov [rsp+24],ecx
mov [rsp+24],ecx
jl short M00_L21
jl short M00_L21
Copier
Copié
Copier
Copié
M00_L1
6
:
M00_L1
8
:
mov rcx,rsi
mov rcx,rsi
mov edx,[rsp+24]
mov edx,[rsp+24]
Copier
Copié
Copier
Copié
call qword ptr [7FFC4A9
B70C
0]; System.Collections.Generic.Queue`1[[System.__Canon, System.Private.CoreLib]].SetCapacity(Int32)
call qword ptr [7FFC4A9
3718
0]; System.Collections.Generic.Queue`1[[System.__Canon, System.Private.CoreLib]].SetCapacity(Int32)
jmp near ptr M00_L0
4
jmp near ptr M00_L0
6
M00_L1
7
:
M00_L1
9
:
mov ecx,eax
mov ecx,eax
Copier
Copié
Copier
Copié
jmp short M00_L1
5
jmp short M00_L1
7
M00_L18:
xor eax,eax
jmp near ptr M00_L05
M00_L19:
xor r10d,r10d
jmp near ptr M00_L08
M00_L20:
M00_L20:
mov ecx,7FFFFFC7
mov ecx,7FFFFFC7
Copier
Copié
Copier
Copié
jmp short M00_L1
4
jmp short M00_L1
6
M00_L21:
M00_L21:
mov [rsp+24],edx
mov [rsp+24],edx
Copier
Copié
Copier
Copié
jmp short M00_L1
6
jmp short M00_L1
8
M00_L22:
M00_L22:
mov rcx,rsi
mov rcx,rsi
Copier
Copié
Copier
Copié
call qword ptr [7FFC4A9
B71C
8]
call qword ptr [7FFC4A9
3728
8]
int 3
int 3
M00_L23:
M00_L23:
call CORINFO_HELP_RNGCHKFAIL
call CORINFO_HELP_RNGCHKFAIL
int 3
int 3
Copier
Copié
Copier
Copié
; Total bytes of code
503
; Total bytes of code
496
```
```
```assembly
```assembly
; System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBase(System.Runtime.CompilerServices.MethodTable*)
; System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBase(System.Runtime.CompilerServices.MethodTable*)
mov rax,[rcx+20]
mov rax,[rcx+20]
mov rax,[rax-18]
mov rax,[rax-18]
mov rdx,rax
mov rdx,rax
test dl,1
test dl,1
jne short M01_L00
jne short M01_L00
ret
ret
M01_L00:
M01_L00:
Copier
Copié
Copier
Copié
jmp qword ptr [7FFC4A4
9
5B90]; System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBaseSlow(System.Runtime.CompilerServices.MethodTable*)
jmp qword ptr [7FFC4A4
1
5B90]; System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBaseSlow(System.Runtime.CompilerServices.MethodTable*)
; Total bytes of code 23
; Total bytes of code 23
```
```
```assembly
```assembly
; System.Runtime.CompilerServices.CastHelpers.StelemRef(System.Object[], 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 rax,rdx
cmp rax,rdx
jbe short M02_L03
jbe short M02_L03
lea rax,[rcx+rdx*8+10]
lea rax,[rcx+rdx*8+10]
mov rdx,[rcx]
mov rdx,[rcx]
mov rdx,[rdx+30]
mov rdx,[rdx+30]
test r8,r8
test r8,r8
je short M02_L02
je short M02_L02
cmp rdx,[r8]
cmp rdx,[r8]
jne short M02_L01
jne short M02_L01
M02_L00:
M02_L00:
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)
M02_L01:
M02_L01:
mov r10,offset MT_System.Object[]
mov r10,offset MT_System.Object[]
cmp [rcx],r10
cmp [rcx],r10
je short M02_L00
je short M02_L00
mov rcx,rax
mov rcx,rax
add rsp,28
add rsp,28
Copier
Copié
Copier
Copié
jmp qword ptr [7FFC4A
8754E8
]; System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object ByRef, Void*, System.Object)
jmp qword ptr [7FFC4A
7E55F0
]; System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object ByRef, Void*, System.Object)
M02_L02:
M02_L02:
xor ecx,ecx
xor ecx,ecx
mov [rax],rcx
mov [rax],rcx
add rsp,28
add rsp,28
ret
ret
M02_L03:
M02_L03:
Copier
Copié
Copier
Copié
call qword ptr [7FFC4A9
BCF1
8]
call qword ptr [7FFC4A9
3CFD
8]
int 3
int 3
; Total bytes of code 94
; Total bytes of code 94
```
```
```assembly
```assembly
; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr)
; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr)
push rbp
push rbp
push r15
push r15
push r14
push r14
push r13
push r13
push r12
push r12
push rdi
push rdi
push rsi
push rsi
push rbx
push rbx
sub rsp,0A8
sub rsp,0A8
lea rbp,[rsp+0E0]
lea rbp,[rsp+0E0]
xor r8d,r8d
xor r8d,r8d
mov [rsp+20],r8
mov [rsp+20],r8
mov r8,rdx
mov r8,rdx
mov [rbp-9C],r8
mov [rbp-9C],r8
mov rdx,rcx
mov rdx,rcx
mov [rbp-0A4],rdx
mov [rbp-0A4],rdx
xor ecx,ecx
xor ecx,ecx
mov [rbp-0AC],rcx
mov [rbp-0AC],rcx
mov r9d,0FFFFFFFF
mov r9d,0FFFFFFFF
mov [rbp-94],r9d
mov [rbp-94],r9d
lea rcx,[rbp-90]
lea rcx,[rbp-90]
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9E
FA
130]; CORINFO_HELP_JIT_PINVOKE_BEGIN
call qword ptr [7FFCA9E
86
130]; CORINFO_HELP_JIT_PINVOKE_BEGIN
mov rax,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)]
mov rax,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)]
mov r8,[rbp-9C]
mov r8,[rbp-9C]
mov rdx,[rbp-0A4]
mov rdx,[rbp-0A4]
mov rcx,[rbp-0AC]
mov rcx,[rbp-0AC]
mov r9d,[rbp-94]
mov r9d,[rbp-94]
call qword ptr [rax]
call qword ptr [rax]
mov rbx,rax
mov rbx,rax
lea rcx,[rbp-90]
lea rcx,[rbp-90]
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9E
FA
138]; CORINFO_HELP_JIT_PINVOKE_END
call qword ptr [7FFCA9E
86
138]; CORINFO_HELP_JIT_PINVOKE_END
mov rax,rbx
mov rax,rbx
add rsp,0A8
add rsp,0A8
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
pop r12
pop r12
pop r13
pop r13
pop r14
pop r14
pop r15
pop r15
pop rbp
pop rbp
ret
ret
; Total bytes of code 166
; Total bytes of code 166
```
```
```assembly
```assembly
; System.Runtime.CompilerServices.GenericsHelpers.Method(IntPtr, IntPtr)
; System.Runtime.CompilerServices.GenericsHelpers.Method(IntPtr, IntPtr)
push rbp
push rbp
push r15
push r15
push r14
push r14
push r13
push r13
push r12
push r12
push rdi
push rdi
push rsi
push rsi
push rbx
push rbx
sub rsp,0A8
sub rsp,0A8
lea rbp,[rsp+0E0]
lea rbp,[rsp+0E0]
xor r8d,r8d
xor r8d,r8d
mov [rsp+20],r8
mov [rsp+20],r8
mov [rbp-9C],rcx
mov [rbp-9C],rcx
mov r8,rdx
mov r8,rdx
mov [rbp-0A4],r8
mov [rbp-0A4],r8
xor edx,edx
xor edx,edx
mov [rbp-0AC],rdx
mov [rbp-0AC],rdx
mov r9d,0FFFFFFFF
mov r9d,0FFFFFFFF
mov [rbp-94],r9d
mov [rbp-94],r9d
lea rcx,[rbp-90]
lea rcx,[rbp-90]
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9E
FA
130]; CORINFO_HELP_JIT_PINVOKE_BEGIN
call qword ptr [7FFCA9E
86
130]; CORINFO_HELP_JIT_PINVOKE_BEGIN
mov rax,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)]
mov rax,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)]
mov rcx,[rbp-9C]
mov rcx,[rbp-9C]
mov r8,[rbp-0A4]
mov r8,[rbp-0A4]
mov rdx,[rbp-0AC]
mov rdx,[rbp-0AC]
mov r9d,[rbp-94]
mov r9d,[rbp-94]
call qword ptr [rax]
call qword ptr [rax]
mov rbx,rax
mov rbx,rax
lea rcx,[rbp-90]
lea rcx,[rbp-90]
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9E
FA
138]; CORINFO_HELP_JIT_PINVOKE_END
call qword ptr [7FFCA9E
86
138]; CORINFO_HELP_JIT_PINVOKE_END
mov rax,rbx
mov rax,rbx
add rsp,0A8
add rsp,0A8
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
pop r12
pop r12
pop r13
pop r13
pop r14
pop r14
pop r15
pop r15
pop rbp
pop rbp
ret
ret
; Total bytes of code 163
; Total bytes of code 163
```
```
```assembly
```assembly
; System.Collections.Generic.Queue`1[[System.__Canon, System.Private.CoreLib]].SetCapacity(Int32)
; System.Collections.Generic.Queue`1[[System.__Canon, System.Private.CoreLib]].SetCapacity(Int32)
push rdi
push rdi
push rsi
push rsi
push rbx
push rbx
sub rsp,30
sub rsp,30
mov [rsp+28],rcx
mov [rsp+28],rcx
mov rbx,rcx
mov rbx,rcx
mov esi,edx
mov esi,edx
mov rcx,[rbx]
mov rcx,[rbx]
mov rdx,[rcx+30]
mov rdx,[rcx+30]
mov rdx,[rdx]
mov rdx,[rdx]
mov rax,[rdx+28]
mov rax,[rdx+28]
test rax,rax
test rax,rax
je near ptr M05_L02
je near ptr M05_L02
mov rcx,rax
mov rcx,rax
M05_L00:
M05_L00:
movsxd rdx,esi
movsxd rdx,esi
call CORINFO_HELP_NEWARR_1_OBJ
call CORINFO_HELP_NEWARR_1_OBJ
mov rdi,rax
mov rdi,rax
cmp dword ptr [rbx+18],0
cmp dword ptr [rbx+18],0
jle short M05_L01
jle short M05_L01
mov edx,[rbx+10]
mov edx,[rbx+10]
cmp edx,[rbx+14]
cmp edx,[rbx+14]
jl near ptr M05_L03
jl near ptr M05_L03
mov rcx,[rbx+8]
mov rcx,[rbx+8]
mov r8d,[rcx+8]
mov r8d,[rcx+8]
sub r8d,edx
sub r8d,edx
mov [rsp+20],r8d
mov [rsp+20],r8d
mov r8,rdi
mov r8,rdi
xor r9d,r9d
xor r9d,r9d
Copier
Copié
Copier
Copié
call qword ptr [7FFC4A9
B70D
8]; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32)
call qword ptr [7FFC4A9
3719
8]; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32)
mov r9d,[rbx+14]
mov r9d,[rbx+14]
mov [rsp+20],r9d
mov [rsp+20],r9d
mov rcx,[rbx+8]
mov rcx,[rbx+8]
mov r9d,[rcx+8]
mov r9d,[rcx+8]
sub r9d,[rbx+10]
sub r9d,[rbx+10]
mov r8,rdi
mov r8,rdi
xor edx,edx
xor edx,edx
Copier
Copié
Copier
Copié
call qword ptr [7FFC4A9
B70D
8]; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32)
call qword ptr [7FFC4A9
3719
8]; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32)
M05_L01:
M05_L01:
lea rcx,[rbx+8]
lea rcx,[rbx+8]
mov rdx,rdi
mov rdx,rdi
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
xor eax,eax
xor eax,eax
mov [rbx+10],eax
mov [rbx+10],eax
mov eax,[rbx+18]
mov eax,[rbx+18]
xor ecx,ecx
xor ecx,ecx
cmp eax,esi
cmp eax,esi
cmovne ecx,eax
cmovne ecx,eax
mov [rbx+14],ecx
mov [rbx+14],ecx
inc dword ptr [rbx+1C]
inc dword ptr [rbx+1C]
add rsp,30
add rsp,30
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
M05_L02:
M05_L02:
Copier
Copié
Copier
Copié
mov rdx,7FFC4A9
9CFC0
mov rdx,7FFC4A9
1CF18
call qword ptr [7FFC4A4
9
F4C8]; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr)
call qword ptr [7FFC4A4
1
F4C8]; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr)
mov rcx,rax
mov rcx,rax
jmp near ptr M05_L00
jmp near ptr M05_L00
M05_L03:
M05_L03:
mov ecx,[rbx+18]
mov ecx,[rbx+18]
mov [rsp+20],ecx
mov [rsp+20],ecx
mov rcx,[rbx+8]
mov rcx,[rbx+8]
mov r8,rdi
mov r8,rdi
xor r9d,r9d
xor r9d,r9d
Copier
Copié
Copier
Copié
call qword ptr [7FFC4A9
B70D
8]; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32)
call qword ptr [7FFC4A9
3719
8]; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32)
jmp short M05_L01
jmp short M05_L01
; Total bytes of code 222
; Total bytes of code 222
```
```
```assembly
```assembly
; System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBaseSlow(System.Runtime.CompilerServices.MethodTable*)
; System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBaseSlow(System.Runtime.CompilerServices.MethodTable*)
push rbx
push rbx
sub rsp,30
sub rsp,30
xor eax,eax
xor eax,eax
mov [rsp+28],rax
mov [rsp+28],rax
mov rbx,rcx
mov rbx,rcx
mov rcx,rbx
mov rcx,rbx
Copier
Copié
Copier
Copié
call qword ptr [
7FFCA9F14C90
]; Precode of System.Runtime.CompilerServices.InitHelpers.InitClassSlow(System.Runtime.CompilerServices.MethodTable*)
call qword ptr [
7FFCA9EA0C88
]; Precode of System.Runtime.CompilerServices.InitHelpers.InitClassSlow(System.Runtime.CompilerServices.MethodTable*)
mov rax,[rbx+20]
mov rax,[rbx+20]
mov rax,[rax-18]
mov rax,[rax-18]
mov [rsp+28],rax
mov [rsp+28],rax
mov rax,[rsp+28]
mov rax,[rsp+28]
and rax,0FFFFFFFFFFFFFFFE
and rax,0FFFFFFFFFFFFFFFE
xor ecx,ecx
xor ecx,ecx
mov [rsp+28],rcx
mov [rsp+28],rcx
add rsp,30
add rsp,30
pop rbx
pop rbx
ret
ret
; Total bytes of code 59
; Total bytes of code 59
```
```
```assembly
```assembly
; System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object ByRef, Void*, System.Object)
; System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object ByRef, Void*, System.Object)
push rdi
push rdi
push rsi
push rsi
push rbx
push rbx
sub rsp,20
sub rsp,20
mov rdi,rcx
mov rdi,rcx
mov rbx,rdx
mov rbx,rdx
mov rsi,r8
mov rsi,r8
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9E
FA
9F0]
call qword ptr [7FFCA9E
86
9F0]
mov rdx,[rax]
mov rdx,[rax]
mov rax,[rsi]
mov rax,[rsi]
add rdx,10
add rdx,10
mov r8,rax
mov r8,rax
rol r8,20
rol r8,20
xor r8,rbx
xor r8,rbx
mov r10,9E3779B97F4A7C15
mov r10,9E3779B97F4A7C15
imul r8,r10
imul r8,r10
mov ecx,[rdx]
mov ecx,[rdx]
shr r8,cl
shr r8,cl
xor ecx,ecx
xor ecx,ecx
Copier
Copié
Copier
Copié
jmp short M07_L01
M07_L00:
M07_L00:
Copier
Copié
Copier
Copié
Text moved with changes from lines 452-459 (98.0% similarity)
test r9d,r9d
je short M07_L03
inc ecx
add r8d,ecx
and r8d,[rdx+4]
cmp ecx,8
jge short M07_L03
M07_L01:
lea r10d,[r8+1]
lea r10d,[r8+1]
movsxd r10,r10d
movsxd r10,r10d
lea r10,[r10+r10*2]
lea r10,[r10+r10*2]
lea r10,[rdx+r10*8]
lea r10,[rdx+r10*8]
mov r9d,[r10]
mov r9d,[r10]
mov r11,[r10+8]
mov r11,[r10+8]
and r9d,0FFFFFFFE
and r9d,0FFFFFFFE
cmp r11,rax
cmp r11,rax
Copier
Copié
Copier
Copié
jne short M07_L0
1
jne short M07_L0
0
mov r11,rbx
mov r11,rbx
xor r11,[r10+10]
xor r11,[r10+10]
cmp r11,1
cmp r11,1
Copier
Copié
Copier
Copié
ja short M07_L0
1
ja short M07_L0
0
cmp r9d,[r10]
cmp r9d,[r10]
Copier
Copié
Copier
Copié
jne short M07_L0
2
jne short M07_L0
3
cmp r11d,1
cmp r11d,1
Copier
Copié
Copier
Copié
jne short M07_L0
2
jne short M07_L0
3
mov rcx,rdi
mov rcx,rdi
mov rdx,rsi
mov rdx,rsi
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F14C38
]; System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object)
call qword ptr [7FFCA9
EA0C30
]; System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object)
M07_L02:
nop
nop
add rsp,20
add rsp,20
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
Copier
Copié
Copier
Copié
M07_L0
1:
M07_L0
3:
Text moved with changes to lines 429-436 (98.0% similarity)
test r9d,r9d
je short M07_L02
inc ecx
add r8d,ecx
and r8d,[rdx+4]
cmp ecx,8
jl short M07_L00
M07_L02:
mov rcx,rbx
mov rcx,rbx
mov rdx,rsi
mov rdx,rsi
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F14C10
]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny_NoCacheLookup(Void*, System.Object)
call qword ptr [7FFCA9
EA0C08
]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny_NoCacheLookup(Void*, System.Object)
test rax,rax
test rax,rax
Copier
Copié
Copier
Copié
je short M07_L0
3
je short M07_L0
4
mov rcx,rdi
mov rcx,rdi
mov rdx,rax
mov rdx,rax
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F14C38
]; System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object)
call qword ptr [7FFCA9
EA0C30
]; System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object)
nop
jmp short M07_L02
add rsp,20
M07_L0
4
:
pop rbx
call qword ptr [7FFCA9
EA0C70
]
pop rsi
pop rdi
ret
M07_L0
3
:
call qword ptr [7FFCA9
F14C78
]
int 3
int 3
Copier
Copié
Copier
Copié
; Total bytes of code
203
; Total bytes of code
198
```
```
```assembly
```assembly
; System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)
; System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)
push rsi
push rsi
push rbx
push rbx
sub rsp,28
sub rsp,28
mov [rsp+20],rcx
mov [rsp+20],rcx
mov rbx,rdx
mov rbx,rdx
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9E
FF
6D8]
call qword ptr [7FFCA9E
8B
6D8]
mov rsi,rax
mov rsi,rax
mov rcx,rax
mov rcx,rax
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9E
FA
158]; CORINFO_HELP_GETSYNCFROMCLASSHANDLE
call qword ptr [7FFCA9E
86
158]; CORINFO_HELP_GETSYNCFROMCLASSHANDLE
mov rdx,rax
mov rdx,rax
mov rcx,rbx
mov rcx,rbx
mov r8d,1
mov r8d,1
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F0A
940]
call qword ptr [7FFCA9
E96
940]
mov r8,rax
mov r8,rax
test r8,r8
test r8,r8
je short M08_L00
je short M08_L00
mov rcx,rsi
mov rcx,rsi
cmp [r8],rcx
cmp [r8],rcx
je short M08_L00
je short M08_L00
mov rdx,rax
mov rdx,rax
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9E
FA
198]; Precode of System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
call qword ptr [7FFCA9E
86
198]; Precode of System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov r8,rax
mov r8,rax
M08_L00:
M08_L00:
mov rax,r8
mov rax,r8
add rsp,28
add rsp,28
pop rbx
pop rbx
pop rsi
pop rsi
ret
ret
; Total bytes of code 88
; Total bytes of code 88
```
```
```assembly
```assembly
; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32)
; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32)
sub rsp,38
sub rsp,38
mov eax,[rsp+60]
mov eax,[rsp+60]
test rcx,rcx
test rcx,rcx
je near ptr M09_L02
je near ptr M09_L02
test r8,r8
test r8,r8
je near ptr M09_L02
je near ptr M09_L02
mov r10,[rcx]
mov r10,[rcx]
cmp r10,[r8]
cmp r10,[r8]
jne near ptr M09_L02
jne near ptr M09_L02
cmp dword ptr [r10+4],18
cmp dword ptr [r10+4],18
ja short M09_L02
ja short M09_L02
mov r11d,eax
mov r11d,eax
or r11d,edx
or r11d,edx
or r11d,r9d
or r11d,r9d
jl short M09_L02
jl short M09_L02
lea r11d,[rdx+rax]
lea r11d,[rdx+rax]
cmp r11d,[rcx+8]
cmp r11d,[rcx+8]
ja short M09_L02
ja short M09_L02
lea r11d,[r9+rax]
lea r11d,[r9+rax]
cmp r11d,[r8+8]
cmp r11d,[r8+8]
ja short M09_L02
ja short M09_L02
movzx r11d,word ptr [r10]
movzx r11d,word ptr [r10]
mov eax,eax
mov eax,eax
imul rax,r11
imul rax,r11
mov edx,edx
mov edx,edx
imul rdx,r11
imul rdx,r11
lea rdx,[rcx+rdx+10]
lea rdx,[rcx+rdx+10]
mov ecx,r9d
mov ecx,r9d
imul rcx,r11
imul rcx,r11
lea rcx,[r8+rcx+10]
lea rcx,[r8+rcx+10]
test dword ptr [r10],1000000
test dword ptr [r10],1000000
je short M09_L01
je short M09_L01
cmp rax,4000
cmp rax,4000
ja short M09_L00
ja short M09_L00
mov r8,rax
mov r8,rax
add rsp,38
add rsp,38
jmp near ptr System.Buffer.__BulkMoveWithWriteBarrier(Byte ByRef, Byte ByRef, UIntPtr)
jmp near ptr System.Buffer.__BulkMoveWithWriteBarrier(Byte ByRef, Byte ByRef, UIntPtr)
M09_L00:
M09_L00:
mov r8,rax
mov r8,rax
add rsp,38
add rsp,38
Copier
Copié
Copier
Copié
jmp qword ptr [7FFC4A9
BCF3
0]
jmp qword ptr [7FFC4A9
3CFF
0]
M09_L01:
M09_L01:
mov r8,rax
mov r8,rax
Copier
Copié
Copier
Copié
call qword ptr [7FFC4A4
9
5800]; System.SpanHelpers.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
call qword ptr [7FFC4A4
1
5800]; System.SpanHelpers.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
nop
jmp
short M09_L03
add
rsp,38
ret
M09_L02:
M09_L02:
mov [rsp+20],eax
mov [rsp+20],eax
xor eax,eax
xor eax,eax
mov [rsp+28],eax
mov [rsp+28],eax
Copier
Copié
Copier
Copié
call qword ptr [7FFC4A9
BCF4
8]; System.Array.CopyImpl(System.Array, Int32, System.Array, Int32, Int32, Boolean)
call qword ptr [7FFC4A9
3D00
8]; System.Array.CopyImpl(System.Array, Int32, System.Array, Int32, Int32, Boolean)
M09_L03:
nop
nop
add rsp,38
add rsp,38
ret
ret
Copier
Copié
Copier
Copié
; Total bytes of code 18
8
; Total bytes of code 18
4
```
```
```assembly
```assembly
; System.SpanHelpers.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
; System.SpanHelpers.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov rax,rcx
mov rax,rcx
sub rax,rdx
sub rax,rdx
cmp rax,r8
cmp rax,r8
Copier
Copié
Copier
Copié
jb near ptr M10_L1
2
jb near ptr M10_L1
0
mov rax,rdx
mov rax,rdx
sub rax,rcx
sub rax,rcx
cmp rax,r8
cmp rax,r8
Copier
Copié
Copier
Copié
jb near ptr M10_L1
2
jb near ptr M10_L1
0
lea rax,[rdx+r8]
lea rax,[rdx+r8]
lea r10,[rcx+r8]
lea r10,[rcx+r8]
cmp r8,10
cmp r8,10
Copier
Copié
Copier
Copié
ja short M10_L0
5
ja short M10_L0
2
test r8b,18
test r8b,18
Copier
Copié
Copier
Copié
jne short M10_L0
0
jne short M10_L0
1
test r8b,4
test r8b,4
Copier
Copié
Copier
Copié
je short M10_L0
4
je short M10_L0
0
mov r8d,[rdx]
mov r8d,[rdx]
mov [rcx],r8d
mov [rcx],r8d
mov edx,[rax-4]
mov edx,[rax-4]
mov [r10-4],edx
mov [r10-4],edx
Copier
Copié
Copier
Copié
jmp
short
M10_
L03
jmp
near ptr
M10_
L11
M10_L00:
M10_L00:
Copier
Copié
Copier
Copié
Text moved with changes to lines 603-608 (95.3% similarity)
mov r8,[rdx]
mov [rcx],r8
mov rcx,[rax-8]
mov [r10-8],rcx
jmp short M10_L03
M10_L01:
vmovups xmm0,[rdx+20]
vmovups [rcx+20],xmm0
M10_L02:
vmovups xmm0,[rax-10]
vmovups [r10-10],xmm0
M10_L03:
vzeroupper
ret
M10_L04:
test r8,r8
test r8,r8
Copier
Copié
Copier
Copié
je
short
M10_
L03
je
near ptr
M10_
L11
movzx edx,byte ptr [rdx]
movzx edx,byte ptr [rdx]
mov [rcx],dl
mov [rcx],dl
test r8b,2
test r8b,2
Copier
Copié
Copier
Copié
je
short
M10_
L03
je
near ptr
M10_
L11
movsx rcx,word ptr [rax-2]
movsx rcx,word ptr [rax-2]
mov [r10-2],cx
mov [r10-2],cx
Copier
Copié
Copier
Copié
jmp
short
M10_
L03
jmp
near ptr
M10_
L11
M10_L0
5
:
M10_L01:
Text moved with changes from lines 594-599 (95.3% similarity)
mov r8,[rdx]
mov [rcx],r8
mov rcx,[rax-8]
mov [r10-8],rcx
jmp near ptr M10_L11
M10_L0
2
:
cmp r8,40
cmp r8,40
Copier
Copié
Copier
Copié
ja short M10_L0
7
ja short M10_L0
5
M10_L0
6
:
M10_L0
3
:
vmovups xmm0,[rdx]
vmovups xmm0,[rdx]
vmovups [rcx],xmm0
vmovups [rcx],xmm0
cmp r8,20
cmp r8,20
Copier
Copié
Copier
Copié
jbe
short M10_L0
2
ja
short M10_L0
8
jmp
short
M10_L1
0
M10_L04:
M10_L0
7
:
vmovups xmm0,[rax-10]
vmovups [r10-10],xmm0
jmp
near ptr
M10_L1
1
M10_L0
5
:
cmp r8,800
cmp r8,800
Copier
Copié
Copier
Copié
ja near ptr M10_L1
3
ja near ptr M10_L1
2
cmp r8,100
cmp r8,100
Copier
Copié
Copier
Copié
jae short M10_
L11
jae short M10_
L09
M10_L0
8
:
M10_L0
6
:
mov r9,r8
mov r9,r8
shr r9,6
shr r9,6
Copier
Copié
Copier
Copié
M10_L0
9
:
M10_L0
7
:
vmovdqu32 zmm0,[rdx]
vmovdqu32 zmm0,[rdx]
vmovdqu32 [rcx],zmm0
vmovdqu32 [rcx],zmm0
add rcx,40
add rcx,40
add rdx,40
add rdx,40
dec r9
dec r9
Copier
Copié
Copier
Copié
jne short M10_L0
9
jne short M10_L0
7
and r8,3F
and r8,3F
cmp r8,10
cmp r8,10
Copier
Copié
Copier
Copié
ja short M10_L0
6
ja short M10_L0
3
jmp
near ptr
M10_L0
2
jmp
short
M10_L0
4
M10_L
10
:
M10_L
08
:
vmovups xmm0,[rdx+10]
vmovups xmm0,[rdx+10]
vmovups [rcx+10],xmm0
vmovups [rcx+10],xmm0
cmp r8,30
cmp r8,30
Copier
Copié
Copier
Copié
jbe
near ptr
M10_
L02
jbe
short
M10_
L04
jmp
near ptr
M10_L0
1
vmovups xmm0,[rdx+20]
M10_
L11
:
vmovups [rcx+20],xmm0
jmp
short
M10_L0
4
M10_
L09
:
mov r9,rcx
mov r9,rcx
and r9,3F
and r9,3F
neg r9
neg r9
add r9,40
add r9,40
vmovdqu32 zmm0,[rdx]
vmovdqu32 zmm0,[rdx]
vmovdqu32 [rcx],zmm0
vmovdqu32 [rcx],zmm0
add rdx,r9
add rdx,r9
add rcx,r9
add rcx,r9
sub r8,r9
sub r8,r9
Copier
Copié
Copier
Copié
jmp short M10_L0
8
jmp short M10_L0
6
M10_L1
2
:
M10_L1
0
:
cmp rcx,rdx
cmp rcx,rdx
Copier
Copié
Copier
Copié
jne short M10_L1
3
jne short M10_L1
2
cmp [rdx],dl
cmp [rdx],dl
Copier
Copié
Copier
Copié
jmp
near ptr M10_L03
M10_L11:
M10_L1
3
:
vzeroupper
ret
M10_L1
2
:
cmp [rcx],cl
cmp [rcx],cl
cmp [rdx],dl
cmp [rdx],dl
vzeroupper
vzeroupper
Copier
Copié
Copier
Copié
jmp qword ptr [7FFC4A4
9
65C8]; System.Buffer._Memmove(Byte ByRef, Byte ByRef, UIntPtr)
jmp qword ptr [7FFC4A4
1
65C8]; System.Buffer._Memmove(Byte ByRef, Byte ByRef, UIntPtr)
; Total bytes of code
318
; Total bytes of code
323
```
```
```assembly
```assembly
; System.Array.CopyImpl(System.Array, Int32, System.Array, Int32, Int32, Boolean)
; System.Array.CopyImpl(System.Array, Int32, System.Array, Int32, Int32, Boolean)
push r15
push r15
push r14
push r14
push r13
push r13
push rdi
push rdi
push rsi
push rsi
push rbp
push rbp
push rbx
push rbx
sub rsp,30
sub rsp,30
mov rbx,rcx
mov rbx,rcx
mov edi,edx
mov edi,edx
mov rsi,r8
mov rsi,r8
mov ebp,r9d
mov ebp,r9d
mov r14d,[rsp+90]
mov r14d,[rsp+90]
test rbx,rbx
test rbx,rbx
je near ptr M11_L16
je near ptr M11_L16
test rsi,rsi
test rsi,rsi
je near ptr M11_L15
je near ptr M11_L15
mov r15,[rbx]
mov r15,[rbx]
mov r13,[rsi]
mov r13,[rsi]
cmp r15,r13
cmp r15,r13
je short M11_L00
je short M11_L00
mov rax,r15
mov rax,r15
mov eax,[rax+4]
mov eax,[rax+4]
add eax,0FFFFFFE8
add eax,0FFFFFFE8
shr eax,3
shr eax,3
mov ecx,1
mov ecx,1
test eax,eax
test eax,eax
cmove eax,ecx
cmove eax,ecx
mov rcx,r13
mov rcx,r13
mov ecx,[rcx+4]
mov ecx,[rcx+4]
add ecx,0FFFFFFE8
add ecx,0FFFFFFE8
shr ecx,3
shr ecx,3
mov edx,1
mov edx,1
test ecx,ecx
test ecx,ecx
cmove ecx,edx
cmove ecx,edx
cmp eax,ecx
cmp eax,ecx
jne near ptr M11_L06
jne near ptr M11_L06
M11_L00:
M11_L00:
test r14d,r14d
test r14d,r14d
jl near ptr M11_L14
jl near ptr M11_L14
mov rcx,rbx
mov rcx,rbx
xor edx,edx
xor edx,edx
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F0A
6A0]; Precode of System.Array.GetLowerBound(Int32)
call qword ptr [7FFCA9
E96
6A0]; Precode of System.Array.GetLowerBound(Int32)
cmp edi,eax
cmp edi,eax
jl near ptr M11_L07
jl near ptr M11_L07
sub edi,eax
sub edi,eax
mov ecx,edi
mov ecx,edi
test ecx,ecx
test ecx,ecx
jl near ptr M11_L13
jl near ptr M11_L13
mov rcx,rsi
mov rcx,rsi
xor edx,edx
xor edx,edx
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F0A
6A0]; Precode of System.Array.GetLowerBound(Int32)
call qword ptr [7FFCA9
E96
6A0]; Precode of System.Array.GetLowerBound(Int32)
cmp ebp,eax
cmp ebp,eax
jl near ptr M11_L08
jl near ptr M11_L08
sub ebp,eax
sub ebp,eax
mov ecx,ebp
mov ecx,ebp
test ecx,ecx
test ecx,ecx
jl near ptr M11_L12
jl near ptr M11_L12
lea ecx,[rdi+r14]
lea ecx,[rdi+r14]
cmp ecx,[rbx+8]
cmp ecx,[rbx+8]
ja near ptr M11_L11
ja near ptr M11_L11
lea ecx,[r14+rbp]
lea ecx,[r14+rbp]
cmp ecx,[rsi+8]
cmp ecx,[rsi+8]
ja near ptr M11_L10
ja near ptr M11_L10
cmp r15,r13
cmp r15,r13
je short M11_L01
je short M11_L01
mov rcx,rbx
mov rcx,rbx
mov rdx,rsi
mov rdx,rsi
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F0A
620]
call qword ptr [7FFCA9
E96
620]
test eax,eax
test eax,eax
jne short M11_L03
jne short M11_L03
M11_L01:
M11_L01:
mov rcx,r15
mov rcx,r15
movzx edx,word ptr [rcx]
movzx edx,word ptr [rcx]
mov r8d,r14d
mov r8d,r14d
imul r8,rdx
imul r8,rdx
add rbx,8
add rbx,8
mov eax,[r15+4]
mov eax,[r15+4]
add rax,0FFFFFFFFFFFFFFF0
add rax,0FFFFFFFFFFFFFFF0
add rax,rbx
add rax,rbx
mov r10d,edi
mov r10d,edi
imul r10,rdx
imul r10,rdx
add r10,rax
add r10,rax
add rsi,8
add rsi,8
mov eax,[r13+4]
mov eax,[r13+4]
add rax,0FFFFFFFFFFFFFFF0
add rax,0FFFFFFFFFFFFFFF0
add rax,rsi
add rax,rsi
mov r9d,ebp
mov r9d,ebp
imul rdx,r9
imul rdx,r9
add rdx,rax
add rdx,rax
test dword ptr [rcx],1000000
test dword ptr [rcx],1000000
je short M11_L05
je short M11_L05
cmp r8,4000
cmp r8,4000
ja short M11_L04
ja short M11_L04
mov rcx,rdx
mov rcx,rdx
mov rdx,r10
mov rdx,r10
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F0A
988]; System.Buffer.__BulkMoveWithWriteBarrier(Byte ByRef, Byte ByRef, UIntPtr)
call qword ptr [7FFCA9
E96
988]; System.Buffer.__BulkMoveWithWriteBarrier(Byte ByRef, Byte ByRef, UIntPtr)
M11_L02:
M11_L02:
nop
nop
add rsp,30
add rsp,30
pop rbx
pop rbx
pop rbp
pop rbp
pop rsi
pop rsi
pop rdi
pop rdi
pop r13
pop r13
pop r14
pop r14
pop r15
pop r15
ret
ret
M11_L03:
M11_L03:
cmp byte ptr [rsp+98],0
cmp byte ptr [rsp+98],0
jne near ptr M11_L09
jne near ptr M11_L09
mov [rsp+20],r14d
mov [rsp+20],r14d
mov [rsp+28],eax
mov [rsp+28],eax
mov rcx,rbx
mov rcx,rbx
mov edx,edi
mov edx,edi
mov r8,rsi
mov r8,rsi
mov r9d,ebp
mov r9d,ebp
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F0A
618]
call qword ptr [7FFCA9
E96
618]
nop
jmp short M11_L02
add rsp,30
pop rbx
pop rbp
pop rsi
pop rdi
pop r13
pop r14
pop r15
ret
M11_L04:
M11_L04:
mov rcx,rdx
mov rcx,rdx
mov rdx,r10
mov rdx,r10
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F0A
9C0]
call qword ptr [7FFCA9
E96
9C0]
jmp short M11_L02
jmp short M11_L02
M11_L05:
M11_L05:
mov rcx,rdx
mov rcx,rdx
mov rdx,r10
mov rdx,r10
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F0D
CF0]; Precode of System.SpanHelpers.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
call qword ptr [7FFCA9
E99
CF0]; Precode of System.SpanHelpers.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
nop
jmp short M11_L02
add rsp,30
pop rbx
pop rbp
pop rsi
pop rdi
pop r13
pop r14
pop r15
ret
M11_L06:
M11_L06:
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F04
070]
call qword ptr [7FFCA9
E90
070]
mov r14,rax
mov r14,rax
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F0F
160]
call qword ptr [7FFCA9
E9B
160]
mov rdx,rax
mov rdx,rax
mov rcx,r14
mov rcx,r14
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F0D
B78]
call qword ptr [7FFCA9
E99
B78]
mov rcx,r14
mov rcx,r14
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9E
FA
0C0]; CORINFO_HELP_THROW
call qword ptr [7FFCA9E
86
0C0]; CORINFO_HELP_THROW
int 3
int 3
M11_L07:
M11_L07:
mov r8,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)]
mov r8,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)]
mov r8,[r8]
mov r8,[r8]
mov ecx,edi
mov ecx,edi
mov edx,eax
mov edx,eax
Copier
Copié
Copier
Copié
call qword ptr [7FFCA9
F2170
0]
call qword ptr [7FFCA9
EAD79
0]
int 3
int 3
M11_L08:
M11_L08:
mov r8,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)]
mov r8,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)]
mov r8,[r8]
mov r8,[r8]
Copier
Copié
Copier
Copié
mo
mov ecx,ebp
mov edx,eax
call qword ptr [7FFCA9EAD790]
int 3
M11_L09:
call qword ptr [7FFCA9E8FE68]
mov r15,rax
call qword ptr [7FFCA9E9AAD0]
mov rdx,rax
mov rcx,r15
call qword ptr [7FFCA9E98640]
Différences enregistrées
Texte d'origine
Ouvrir un fichier
## .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI ```assembly ; System.Collections.CreateAddAndRemove`1[[System.__Canon, System.Private.CoreLib]].Queue() push r14 push rdi push rsi push rbp push rbx sub rsp,30 mov [rsp+28],rcx mov rbx,rcx mov rcx,[rbx] mov rdx,[rcx+30] mov rdx,[rdx] mov rdx,[rdx+18] test rdx,rdx je near ptr M00_L10 M00_L00: mov rcx,rdx call CORINFO_HELP_NEWSFAST mov rsi,rax mov rcx,[rsi] mov rdx,[rcx+30] mov rdx,[rdx] mov rax,[rdx+20] test rax,rax je near ptr M00_L11 mov rcx,rax M00_L01: mov rdx,[rcx+18] mov rdx,[rdx+18] test rdx,rdx je near ptr M00_L12 M00_L02: mov rcx,rdx call System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBase(System.Runtime.CompilerServices.MethodTable*) mov rdx,[rax] lea rcx,[rsi+8] call CORINFO_HELP_ASSIGN_REF mov rdi,[rbx+8] mov ebp,[rdi+8] test ebp,ebp jle short M00_L06 add rdi,10 M00_L03: mov r14,[rdi] mov ecx,[rsi+18] mov rdx,[rsi+8] cmp ecx,[rdx+8] je near ptr M00_L13 M00_L04: movsxd rdx,dword ptr [rsi+14] mov rcx,[rsi+8] mov r8,r14 call System.Runtime.CompilerServices.CastHelpers.StelemRef(System.Object[], IntPtr, System.Object) lea rcx,[rsi+14] mov eax,[rcx] inc eax mov rdx,[rsi+8] cmp [rdx+8],eax je near ptr M00_L18 M00_L05: mov [rcx],eax inc dword ptr [rsi+18] inc dword ptr [rsi+1C] add rdi,8 dec ebp jne short M00_L03 M00_L06: mov rcx,[rbx+8] mov eax,[rcx+8] test eax,eax jle short M00_L09 add rcx,10 M00_L07: mov edx,[rsi+10] mov r8,[rsi+8] mov r10,r8 cmp dword ptr [rsi+18],0 je near ptr M00_L22 mov r9d,[r10+8] cmp edx,r9d jae near ptr M00_L23 movsxd rdx,edx cmp rdx,r9 jae near ptr M00_L23 xor r9d,r9d mov [r10+rdx*8+10],r9 lea rdx,[rsi+10] mov r10d,[rdx] inc r10d cmp [r8+8],r10d je near ptr M00_L19 M00_L08: mov [rdx],r10d dec dword ptr [rsi+18] inc dword ptr [rsi+1C] add rcx,8 dec eax jne short M00_L07 M00_L09: mov rax,rsi add rsp,30 pop rbx pop rbp pop rsi pop rdi pop r14 ret M00_L10: mov rdx,7FFC4A99C6D0 call qword ptr [7FFC4A49F4C8]; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr) mov rdx,rax jmp near ptr M00_L00 M00_L11: mov rdx,7FFC4A99CF20 call qword ptr [7FFC4A49F4C8]; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr) mov rcx,rax jmp near ptr M00_L01 M00_L12: mov rdx,7FFC4A99CFB0 call qword ptr [7FFC4A49F648]; System.Runtime.CompilerServices.GenericsHelpers.Method(IntPtr, IntPtr) mov rdx,rax jmp near ptr M00_L02 M00_L13: mov edx,[rsi+18] inc edx mov rcx,[rsi+8] mov ecx,[rcx+8] add ecx,ecx cmp ecx,7FFFFFC7 ja short M00_L20 M00_L14: mov rax,[rsi+8] mov eax,[rax+8] add eax,4 cmp ecx,eax jl short M00_L17 M00_L15: cmp ecx,edx mov [rsp+24],ecx jl short M00_L21 M00_L16: mov rcx,rsi mov edx,[rsp+24] call qword ptr [7FFC4A9B70C0]; System.Collections.Generic.Queue`1[[System.__Canon, System.Private.CoreLib]].SetCapacity(Int32) jmp near ptr M00_L04 M00_L17: mov ecx,eax jmp short M00_L15 M00_L18: xor eax,eax jmp near ptr M00_L05 M00_L19: xor r10d,r10d jmp near ptr M00_L08 M00_L20: mov ecx,7FFFFFC7 jmp short M00_L14 M00_L21: mov [rsp+24],edx jmp short M00_L16 M00_L22: mov rcx,rsi call qword ptr [7FFC4A9B71C8] int 3 M00_L23: call CORINFO_HELP_RNGCHKFAIL int 3 ; Total bytes of code 503 ``` ```assembly ; System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBase(System.Runtime.CompilerServices.MethodTable*) mov rax,[rcx+20] mov rax,[rax-18] mov rdx,rax test dl,1 jne short M01_L00 ret M01_L00: jmp qword ptr [7FFC4A495B90]; System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBaseSlow(System.Runtime.CompilerServices.MethodTable*) ; Total bytes of code 23 ``` ```assembly ; System.Runtime.CompilerServices.CastHelpers.StelemRef(System.Object[], IntPtr, System.Object) sub rsp,28 mov eax,[rcx+8] cmp rax,rdx jbe short M02_L03 lea rax,[rcx+rdx*8+10] mov rdx,[rcx] mov rdx,[rdx+30] test r8,r8 je short M02_L02 cmp rdx,[r8] jne short M02_L01 M02_L00: mov rcx,rax mov rdx,r8 add rsp,28 jmp near ptr System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object) M02_L01: mov r10,offset MT_System.Object[] cmp [rcx],r10 je short M02_L00 mov rcx,rax add rsp,28 jmp qword ptr [7FFC4A8754E8]; System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object ByRef, Void*, System.Object) M02_L02: xor ecx,ecx mov [rax],rcx add rsp,28 ret M02_L03: call qword ptr [7FFC4A9BCF18] int 3 ; Total bytes of code 94 ``` ```assembly ; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr) push rbp push r15 push r14 push r13 push r12 push rdi push rsi push rbx sub rsp,0A8 lea rbp,[rsp+0E0] xor r8d,r8d mov [rsp+20],r8 mov r8,rdx mov [rbp-9C],r8 mov rdx,rcx mov [rbp-0A4],rdx xor ecx,ecx mov [rbp-0AC],rcx mov r9d,0FFFFFFFF mov [rbp-94],r9d lea rcx,[rbp-90] call qword ptr [7FFCA9EFA130]; CORINFO_HELP_JIT_PINVOKE_BEGIN mov rax,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov r8,[rbp-9C] mov rdx,[rbp-0A4] mov rcx,[rbp-0AC] mov r9d,[rbp-94] call qword ptr [rax] mov rbx,rax lea rcx,[rbp-90] call qword ptr [7FFCA9EFA138]; CORINFO_HELP_JIT_PINVOKE_END mov rax,rbx add rsp,0A8 pop rbx pop rsi pop rdi pop r12 pop r13 pop r14 pop r15 pop rbp ret ; Total bytes of code 166 ``` ```assembly ; System.Runtime.CompilerServices.GenericsHelpers.Method(IntPtr, IntPtr) push rbp push r15 push r14 push r13 push r12 push rdi push rsi push rbx sub rsp,0A8 lea rbp,[rsp+0E0] xor r8d,r8d mov [rsp+20],r8 mov [rbp-9C],rcx mov r8,rdx mov [rbp-0A4],r8 xor edx,edx mov [rbp-0AC],rdx mov r9d,0FFFFFFFF mov [rbp-94],r9d lea rcx,[rbp-90] call qword ptr [7FFCA9EFA130]; CORINFO_HELP_JIT_PINVOKE_BEGIN mov rax,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov rcx,[rbp-9C] mov r8,[rbp-0A4] mov rdx,[rbp-0AC] mov r9d,[rbp-94] call qword ptr [rax] mov rbx,rax lea rcx,[rbp-90] call qword ptr [7FFCA9EFA138]; CORINFO_HELP_JIT_PINVOKE_END mov rax,rbx add rsp,0A8 pop rbx pop rsi pop rdi pop r12 pop r13 pop r14 pop r15 pop rbp ret ; Total bytes of code 163 ``` ```assembly ; System.Collections.Generic.Queue`1[[System.__Canon, System.Private.CoreLib]].SetCapacity(Int32) push rdi push rsi push rbx sub rsp,30 mov [rsp+28],rcx mov rbx,rcx mov esi,edx mov rcx,[rbx] mov rdx,[rcx+30] mov rdx,[rdx] mov rax,[rdx+28] test rax,rax je near ptr M05_L02 mov rcx,rax M05_L00: movsxd rdx,esi call CORINFO_HELP_NEWARR_1_OBJ mov rdi,rax cmp dword ptr [rbx+18],0 jle short M05_L01 mov edx,[rbx+10] cmp edx,[rbx+14] jl near ptr M05_L03 mov rcx,[rbx+8] mov r8d,[rcx+8] sub r8d,edx mov [rsp+20],r8d mov r8,rdi xor r9d,r9d call qword ptr [7FFC4A9B70D8]; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32) mov r9d,[rbx+14] mov [rsp+20],r9d mov rcx,[rbx+8] mov r9d,[rcx+8] sub r9d,[rbx+10] mov r8,rdi xor edx,edx call qword ptr [7FFC4A9B70D8]; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32) M05_L01: lea rcx,[rbx+8] mov rdx,rdi call CORINFO_HELP_ASSIGN_REF xor eax,eax mov [rbx+10],eax mov eax,[rbx+18] xor ecx,ecx cmp eax,esi cmovne ecx,eax mov [rbx+14],ecx inc dword ptr [rbx+1C] add rsp,30 pop rbx pop rsi pop rdi ret M05_L02: mov rdx,7FFC4A99CFC0 call qword ptr [7FFC4A49F4C8]; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr) mov rcx,rax jmp near ptr M05_L00 M05_L03: mov ecx,[rbx+18] mov [rsp+20],ecx mov rcx,[rbx+8] mov r8,rdi xor r9d,r9d call qword ptr [7FFC4A9B70D8]; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32) jmp short M05_L01 ; Total bytes of code 222 ``` ```assembly ; System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBaseSlow(System.Runtime.CompilerServices.MethodTable*) push rbx sub rsp,30 xor eax,eax mov [rsp+28],rax mov rbx,rcx mov rcx,rbx call qword ptr [7FFCA9F14C90]; Precode of System.Runtime.CompilerServices.InitHelpers.InitClassSlow(System.Runtime.CompilerServices.MethodTable*) mov rax,[rbx+20] mov rax,[rax-18] mov [rsp+28],rax mov rax,[rsp+28] and rax,0FFFFFFFFFFFFFFFE xor ecx,ecx mov [rsp+28],rcx add rsp,30 pop rbx ret ; Total bytes of code 59 ``` ```assembly ; System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object ByRef, Void*, System.Object) push rdi push rsi push rbx sub rsp,20 mov rdi,rcx mov rbx,rdx mov rsi,r8 call qword ptr [7FFCA9EFA9F0] mov rdx,[rax] mov rax,[rsi] add rdx,10 mov r8,rax rol r8,20 xor r8,rbx mov r10,9E3779B97F4A7C15 imul r8,r10 mov ecx,[rdx] shr r8,cl xor ecx,ecx M07_L00: lea r10d,[r8+1] movsxd r10,r10d lea r10,[r10+r10*2] lea r10,[rdx+r10*8] mov r9d,[r10] mov r11,[r10+8] and r9d,0FFFFFFFE cmp r11,rax jne short M07_L01 mov r11,rbx xor r11,[r10+10] cmp r11,1 ja short M07_L01 cmp r9d,[r10] jne short M07_L02 cmp r11d,1 jne short M07_L02 mov rcx,rdi mov rdx,rsi call qword ptr [7FFCA9F14C38]; System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object) nop add rsp,20 pop rbx pop rsi pop rdi ret M07_L01: test r9d,r9d je short M07_L02 inc ecx add r8d,ecx and r8d,[rdx+4] cmp ecx,8 jl short M07_L00 M07_L02: mov rcx,rbx mov rdx,rsi call qword ptr [7FFCA9F14C10]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny_NoCacheLookup(Void*, System.Object) test rax,rax je short M07_L03 mov rcx,rdi mov rdx,rax call qword ptr [7FFCA9F14C38]; System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object) nop add rsp,20 pop rbx pop rsi pop rdi ret M07_L03: call qword ptr [7FFCA9F14C78] int 3 ; Total bytes of code 203 ``` ```assembly ; System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly) push rsi push rbx sub rsp,28 mov [rsp+20],rcx mov rbx,rdx call qword ptr [7FFCA9EFF6D8] mov rsi,rax mov rcx,rax call qword ptr [7FFCA9EFA158]; CORINFO_HELP_GETSYNCFROMCLASSHANDLE mov rdx,rax mov rcx,rbx mov r8d,1 call qword ptr [7FFCA9F0A940] mov r8,rax test r8,r8 je short M08_L00 mov rcx,rsi cmp [r8],rcx je short M08_L00 mov rdx,rax call qword ptr [7FFCA9EFA198]; Precode of System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object) mov r8,rax M08_L00: mov rax,r8 add rsp,28 pop rbx pop rsi ret ; Total bytes of code 88 ``` ```assembly ; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32) sub rsp,38 mov eax,[rsp+60] test rcx,rcx je near ptr M09_L02 test r8,r8 je near ptr M09_L02 mov r10,[rcx] cmp r10,[r8] jne near ptr M09_L02 cmp dword ptr [r10+4],18 ja short M09_L02 mov r11d,eax or r11d,edx or r11d,r9d jl short M09_L02 lea r11d,[rdx+rax] cmp r11d,[rcx+8] ja short M09_L02 lea r11d,[r9+rax] cmp r11d,[r8+8] ja short M09_L02 movzx r11d,word ptr [r10] mov eax,eax imul rax,r11 mov edx,edx imul rdx,r11 lea rdx,[rcx+rdx+10] mov ecx,r9d imul rcx,r11 lea rcx,[r8+rcx+10] test dword ptr [r10],1000000 je short M09_L01 cmp rax,4000 ja short M09_L00 mov r8,rax add rsp,38 jmp near ptr System.Buffer.__BulkMoveWithWriteBarrier(Byte ByRef, Byte ByRef, UIntPtr) M09_L00: mov r8,rax add rsp,38 jmp qword ptr [7FFC4A9BCF30] M09_L01: mov r8,rax call qword ptr [7FFC4A495800]; System.SpanHelpers.Memmove(Byte ByRef, Byte ByRef, UIntPtr) nop add rsp,38 ret M09_L02: mov [rsp+20],eax xor eax,eax mov [rsp+28],eax call qword ptr [7FFC4A9BCF48]; System.Array.CopyImpl(System.Array, Int32, System.Array, Int32, Int32, Boolean) nop add rsp,38 ret ; Total bytes of code 188 ``` ```assembly ; System.SpanHelpers.Memmove(Byte ByRef, Byte ByRef, UIntPtr) mov rax,rcx sub rax,rdx cmp rax,r8 jb near ptr M10_L12 mov rax,rdx sub rax,rcx cmp rax,r8 jb near ptr M10_L12 lea rax,[rdx+r8] lea r10,[rcx+r8] cmp r8,10 ja short M10_L05 test r8b,18 jne short M10_L00 test r8b,4 je short M10_L04 mov r8d,[rdx] mov [rcx],r8d mov edx,[rax-4] mov [r10-4],edx jmp short M10_L03 M10_L00: mov r8,[rdx] mov [rcx],r8 mov rcx,[rax-8] mov [r10-8],rcx jmp short M10_L03 M10_L01: vmovups xmm0,[rdx+20] vmovups [rcx+20],xmm0 M10_L02: vmovups xmm0,[rax-10] vmovups [r10-10],xmm0 M10_L03: vzeroupper ret M10_L04: test r8,r8 je short M10_L03 movzx edx,byte ptr [rdx] mov [rcx],dl test r8b,2 je short M10_L03 movsx rcx,word ptr [rax-2] mov [r10-2],cx jmp short M10_L03 M10_L05: cmp r8,40 ja short M10_L07 M10_L06: vmovups xmm0,[rdx] vmovups [rcx],xmm0 cmp r8,20 jbe short M10_L02 jmp short M10_L10 M10_L07: cmp r8,800 ja near ptr M10_L13 cmp r8,100 jae short M10_L11 M10_L08: mov r9,r8 shr r9,6 M10_L09: vmovdqu32 zmm0,[rdx] vmovdqu32 [rcx],zmm0 add rcx,40 add rdx,40 dec r9 jne short M10_L09 and r8,3F cmp r8,10 ja short M10_L06 jmp near ptr M10_L02 M10_L10: vmovups xmm0,[rdx+10] vmovups [rcx+10],xmm0 cmp r8,30 jbe near ptr M10_L02 jmp near ptr M10_L01 M10_L11: mov r9,rcx and r9,3F neg r9 add r9,40 vmovdqu32 zmm0,[rdx] vmovdqu32 [rcx],zmm0 add rdx,r9 add rcx,r9 sub r8,r9 jmp short M10_L08 M10_L12: cmp rcx,rdx jne short M10_L13 cmp [rdx],dl jmp near ptr M10_L03 M10_L13: cmp [rcx],cl cmp [rdx],dl vzeroupper jmp qword ptr [7FFC4A4965C8]; System.Buffer._Memmove(Byte ByRef, Byte ByRef, UIntPtr) ; Total bytes of code 318 ``` ```assembly ; System.Array.CopyImpl(System.Array, Int32, System.Array, Int32, Int32, Boolean) push r15 push r14 push r13 push rdi push rsi push rbp push rbx sub rsp,30 mov rbx,rcx mov edi,edx mov rsi,r8 mov ebp,r9d mov r14d,[rsp+90] test rbx,rbx je near ptr M11_L16 test rsi,rsi je near ptr M11_L15 mov r15,[rbx] mov r13,[rsi] cmp r15,r13 je short M11_L00 mov rax,r15 mov eax,[rax+4] add eax,0FFFFFFE8 shr eax,3 mov ecx,1 test eax,eax cmove eax,ecx mov rcx,r13 mov ecx,[rcx+4] add ecx,0FFFFFFE8 shr ecx,3 mov edx,1 test ecx,ecx cmove ecx,edx cmp eax,ecx jne near ptr M11_L06 M11_L00: test r14d,r14d jl near ptr M11_L14 mov rcx,rbx xor edx,edx call qword ptr [7FFCA9F0A6A0]; Precode of System.Array.GetLowerBound(Int32) cmp edi,eax jl near ptr M11_L07 sub edi,eax mov ecx,edi test ecx,ecx jl near ptr M11_L13 mov rcx,rsi xor edx,edx call qword ptr [7FFCA9F0A6A0]; Precode of System.Array.GetLowerBound(Int32) cmp ebp,eax jl near ptr M11_L08 sub ebp,eax mov ecx,ebp test ecx,ecx jl near ptr M11_L12 lea ecx,[rdi+r14] cmp ecx,[rbx+8] ja near ptr M11_L11 lea ecx,[r14+rbp] cmp ecx,[rsi+8] ja near ptr M11_L10 cmp r15,r13 je short M11_L01 mov rcx,rbx mov rdx,rsi call qword ptr [7FFCA9F0A620] test eax,eax jne short M11_L03 M11_L01: mov rcx,r15 movzx edx,word ptr [rcx] mov r8d,r14d imul r8,rdx add rbx,8 mov eax,[r15+4] add rax,0FFFFFFFFFFFFFFF0 add rax,rbx mov r10d,edi imul r10,rdx add r10,rax add rsi,8 mov eax,[r13+4] add rax,0FFFFFFFFFFFFFFF0 add rax,rsi mov r9d,ebp imul rdx,r9 add rdx,rax test dword ptr [rcx],1000000 je short M11_L05 cmp r8,4000 ja short M11_L04 mov rcx,rdx mov rdx,r10 call qword ptr [7FFCA9F0A988]; System.Buffer.__BulkMoveWithWriteBarrier(Byte ByRef, Byte ByRef, UIntPtr) M11_L02: nop add rsp,30 pop rbx pop rbp pop rsi pop rdi pop r13 pop r14 pop r15 ret M11_L03: cmp byte ptr [rsp+98],0 jne near ptr M11_L09 mov [rsp+20],r14d mov [rsp+28],eax mov rcx,rbx mov edx,edi mov r8,rsi mov r9d,ebp call qword ptr [7FFCA9F0A618] nop add rsp,30 pop rbx pop rbp pop rsi pop rdi pop r13 pop r14 pop r15 ret M11_L04: mov rcx,rdx mov rdx,r10 call qword ptr [7FFCA9F0A9C0] jmp short M11_L02 M11_L05: mov rcx,rdx mov rdx,r10 call qword ptr [7FFCA9F0DCF0]; Precode of System.SpanHelpers.Memmove(Byte ByRef, Byte ByRef, UIntPtr) nop add rsp,30 pop rbx pop rbp pop rsi pop rdi pop r13 pop r14 pop r15 ret M11_L06: call qword ptr [7FFCA9F04070] mov r14,rax call qword ptr [7FFCA9F0F160] mov rdx,rax mov rcx,r14 call qword ptr [7FFCA9F0DB78] mov rcx,r14 call qword ptr [7FFCA9EFA0C0]; CORINFO_HELP_THROW int 3 M11_L07: mov r8,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov r8,[r8] mov ecx,edi mov edx,eax call qword ptr [7FFCA9F21700] int 3 M11_L08: mov r8,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov r8,[r8] mov ecx,ebp mov edx,eax call qword ptr [7FFCA9F21700] int 3 M11_L09: call qword ptr [7FFCA9F03E68] mov r15,rax call qword ptr [7FFCA9F0EAD0] mov rdx,rax mov rcx,r15 call qword ptr [7FFCA9F0C640] mov rcx,r15 call qword ptr [7FFCA9EFA0C0]; CORINFO_HELP_THROW int 3 M11_L10: call qword ptr [7FFCA9F03E40] mov r14,rax call qword ptr [7FFCA9F0DFD0] mov rdx,rax mov r8,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov r8,[r8] mov rcx,r14 call qword ptr [7FFCA9F0C5C0] mov rcx,r14 call qword ptr [7FFCA9EFA0C0]; CORINFO_HELP_THROW int 3 M11_L11: call qword ptr [7FFCA9F03E40] mov rbx,rax call qword ptr [7FFCA9F0DFD8] mov rdx,rax mov r8,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov r8,[r8] mov rcx,rbx call qword ptr [7FFCA9F0C5C0] mov rcx,rbx call qword ptr [7FFCA9EFA0C0]; CORINFO_HELP_THROW int 3 M11_L12: mov rdx,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov rdx,[rdx] call qword ptr [7FFCA9F216E8] int 3 M11_L13: mov rdx,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov rdx,[rdx] call qword ptr [7FFCA9F216E8] int 3 M11_L14: mov rdx,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov rdx,[rdx] mov ecx,r14d call qword ptr [7FFCA9F216E8] int 3 M11_L15: mov ecx,43 call qword ptr [7FFCA9F0F7C0] int 3 M11_L16: mov ecx,41 call qword ptr [7FFCA9F0F7C0] int 3 ; Total bytes of code 726 ``` **Extern method** System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object) System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny_NoCacheLookup(Void*, System.Object) System.Buffer.__BulkMoveWithWriteBarrier(Byte ByRef, Byte ByRef, UIntPtr)
Texte modifié
Ouvrir un fichier
## .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI ```assembly ; System.Collections.CreateAddAndRemove`1[[System.__Canon, System.Private.CoreLib]].Queue() push r14 push rdi push rsi push rbp push rbx sub rsp,30 mov [rsp+28],rcx mov rbx,rcx mov rcx,[rbx] mov rdx,[rcx+30] mov rdx,[rdx] mov rdx,[rdx+18] test rdx,rdx je near ptr M00_L12 M00_L00: mov rcx,rdx call CORINFO_HELP_NEWSFAST mov rsi,rax mov rcx,[rsi] mov rdx,[rcx+30] mov rdx,[rdx] mov rax,[rdx+20] test rax,rax je near ptr M00_L13 mov rcx,rax M00_L01: mov rdx,[rcx+18] mov rdx,[rdx+18] test rdx,rdx je near ptr M00_L14 M00_L02: mov rcx,rdx call System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBase(System.Runtime.CompilerServices.MethodTable*) mov rdx,[rax] lea rcx,[rsi+8] call CORINFO_HELP_ASSIGN_REF mov rdi,[rbx+8] mov ebp,[rdi+8] test ebp,ebp jle short M00_L07 add rdi,10 jmp short M00_L05 nop dword ptr [rax] M00_L03: xor eax,eax M00_L04: mov [rcx],eax inc dword ptr [rsi+18] inc dword ptr [rsi+1C] add rdi,8 dec ebp je short M00_L07 M00_L05: mov r14,[rdi] mov ecx,[rsi+18] mov rdx,[rsi+8] cmp ecx,[rdx+8] je near ptr M00_L15 M00_L06: movsxd rdx,dword ptr [rsi+14] mov rcx,[rsi+8] mov r8,r14 call System.Runtime.CompilerServices.CastHelpers.StelemRef(System.Object[], IntPtr, System.Object) lea rcx,[rsi+14] mov eax,[rcx] inc eax mov rdx,[rsi+8] cmp [rdx+8],eax jne short M00_L04 jmp short M00_L03 M00_L07: mov rcx,[rbx+8] mov eax,[rcx+8] test eax,eax jle short M00_L11 add rcx,10 jmp short M00_L10 M00_L08: xor r10d,r10d M00_L09: mov [rdx],r10d dec dword ptr [rsi+18] inc dword ptr [rsi+1C] add rcx,8 dec eax je short M00_L11 M00_L10: mov edx,[rsi+10] mov r8,[rsi+8] mov r10,r8 cmp dword ptr [rsi+18],0 je near ptr M00_L22 mov r9d,[r10+8] cmp edx,r9d jae near ptr M00_L23 movsxd rdx,edx cmp rdx,r9 jae near ptr M00_L23 xor r9d,r9d mov [r10+rdx*8+10],r9 lea rdx,[rsi+10] mov r10d,[rdx] inc r10d cmp [r8+8],r10d jne short M00_L09 jmp short M00_L08 M00_L11: mov rax,rsi add rsp,30 pop rbx pop rbp pop rsi pop rdi pop r14 ret M00_L12: mov rdx,7FFC4A91C628 call qword ptr [7FFC4A41F4C8]; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr) mov rdx,rax jmp near ptr M00_L00 M00_L13: mov rdx,7FFC4A91CE78 call qword ptr [7FFC4A41F4C8]; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr) mov rcx,rax jmp near ptr M00_L01 M00_L14: mov rdx,7FFC4A91CF08 call qword ptr [7FFC4A41F648]; System.Runtime.CompilerServices.GenericsHelpers.Method(IntPtr, IntPtr) mov rdx,rax jmp near ptr M00_L02 M00_L15: mov edx,[rsi+18] inc edx mov rcx,[rsi+8] mov ecx,[rcx+8] add ecx,ecx cmp ecx,7FFFFFC7 ja short M00_L20 M00_L16: mov rax,[rsi+8] mov eax,[rax+8] add eax,4 cmp ecx,eax jl short M00_L19 M00_L17: cmp ecx,edx mov [rsp+24],ecx jl short M00_L21 M00_L18: mov rcx,rsi mov edx,[rsp+24] call qword ptr [7FFC4A937180]; System.Collections.Generic.Queue`1[[System.__Canon, System.Private.CoreLib]].SetCapacity(Int32) jmp near ptr M00_L06 M00_L19: mov ecx,eax jmp short M00_L17 M00_L20: mov ecx,7FFFFFC7 jmp short M00_L16 M00_L21: mov [rsp+24],edx jmp short M00_L18 M00_L22: mov rcx,rsi call qword ptr [7FFC4A937288] int 3 M00_L23: call CORINFO_HELP_RNGCHKFAIL int 3 ; Total bytes of code 496 ``` ```assembly ; System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBase(System.Runtime.CompilerServices.MethodTable*) mov rax,[rcx+20] mov rax,[rax-18] mov rdx,rax test dl,1 jne short M01_L00 ret M01_L00: jmp qword ptr [7FFC4A415B90]; System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBaseSlow(System.Runtime.CompilerServices.MethodTable*) ; Total bytes of code 23 ``` ```assembly ; System.Runtime.CompilerServices.CastHelpers.StelemRef(System.Object[], IntPtr, System.Object) sub rsp,28 mov eax,[rcx+8] cmp rax,rdx jbe short M02_L03 lea rax,[rcx+rdx*8+10] mov rdx,[rcx] mov rdx,[rdx+30] test r8,r8 je short M02_L02 cmp rdx,[r8] jne short M02_L01 M02_L00: mov rcx,rax mov rdx,r8 add rsp,28 jmp near ptr System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object) M02_L01: mov r10,offset MT_System.Object[] cmp [rcx],r10 je short M02_L00 mov rcx,rax add rsp,28 jmp qword ptr [7FFC4A7E55F0]; System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object ByRef, Void*, System.Object) M02_L02: xor ecx,ecx mov [rax],rcx add rsp,28 ret M02_L03: call qword ptr [7FFC4A93CFD8] int 3 ; Total bytes of code 94 ``` ```assembly ; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr) push rbp push r15 push r14 push r13 push r12 push rdi push rsi push rbx sub rsp,0A8 lea rbp,[rsp+0E0] xor r8d,r8d mov [rsp+20],r8 mov r8,rdx mov [rbp-9C],r8 mov rdx,rcx mov [rbp-0A4],rdx xor ecx,ecx mov [rbp-0AC],rcx mov r9d,0FFFFFFFF mov [rbp-94],r9d lea rcx,[rbp-90] call qword ptr [7FFCA9E86130]; CORINFO_HELP_JIT_PINVOKE_BEGIN mov rax,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov r8,[rbp-9C] mov rdx,[rbp-0A4] mov rcx,[rbp-0AC] mov r9d,[rbp-94] call qword ptr [rax] mov rbx,rax lea rcx,[rbp-90] call qword ptr [7FFCA9E86138]; CORINFO_HELP_JIT_PINVOKE_END mov rax,rbx add rsp,0A8 pop rbx pop rsi pop rdi pop r12 pop r13 pop r14 pop r15 pop rbp ret ; Total bytes of code 166 ``` ```assembly ; System.Runtime.CompilerServices.GenericsHelpers.Method(IntPtr, IntPtr) push rbp push r15 push r14 push r13 push r12 push rdi push rsi push rbx sub rsp,0A8 lea rbp,[rsp+0E0] xor r8d,r8d mov [rsp+20],r8 mov [rbp-9C],rcx mov r8,rdx mov [rbp-0A4],r8 xor edx,edx mov [rbp-0AC],rdx mov r9d,0FFFFFFFF mov [rbp-94],r9d lea rcx,[rbp-90] call qword ptr [7FFCA9E86130]; CORINFO_HELP_JIT_PINVOKE_BEGIN mov rax,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov rcx,[rbp-9C] mov r8,[rbp-0A4] mov rdx,[rbp-0AC] mov r9d,[rbp-94] call qword ptr [rax] mov rbx,rax lea rcx,[rbp-90] call qword ptr [7FFCA9E86138]; CORINFO_HELP_JIT_PINVOKE_END mov rax,rbx add rsp,0A8 pop rbx pop rsi pop rdi pop r12 pop r13 pop r14 pop r15 pop rbp ret ; Total bytes of code 163 ``` ```assembly ; System.Collections.Generic.Queue`1[[System.__Canon, System.Private.CoreLib]].SetCapacity(Int32) push rdi push rsi push rbx sub rsp,30 mov [rsp+28],rcx mov rbx,rcx mov esi,edx mov rcx,[rbx] mov rdx,[rcx+30] mov rdx,[rdx] mov rax,[rdx+28] test rax,rax je near ptr M05_L02 mov rcx,rax M05_L00: movsxd rdx,esi call CORINFO_HELP_NEWARR_1_OBJ mov rdi,rax cmp dword ptr [rbx+18],0 jle short M05_L01 mov edx,[rbx+10] cmp edx,[rbx+14] jl near ptr M05_L03 mov rcx,[rbx+8] mov r8d,[rcx+8] sub r8d,edx mov [rsp+20],r8d mov r8,rdi xor r9d,r9d call qword ptr [7FFC4A937198]; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32) mov r9d,[rbx+14] mov [rsp+20],r9d mov rcx,[rbx+8] mov r9d,[rcx+8] sub r9d,[rbx+10] mov r8,rdi xor edx,edx call qword ptr [7FFC4A937198]; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32) M05_L01: lea rcx,[rbx+8] mov rdx,rdi call CORINFO_HELP_ASSIGN_REF xor eax,eax mov [rbx+10],eax mov eax,[rbx+18] xor ecx,ecx cmp eax,esi cmovne ecx,eax mov [rbx+14],ecx inc dword ptr [rbx+1C] add rsp,30 pop rbx pop rsi pop rdi ret M05_L02: mov rdx,7FFC4A91CF18 call qword ptr [7FFC4A41F4C8]; System.Runtime.CompilerServices.GenericsHelpers.Class(IntPtr, IntPtr) mov rcx,rax jmp near ptr M05_L00 M05_L03: mov ecx,[rbx+18] mov [rsp+20],ecx mov rcx,[rbx+8] mov r8,rdi xor r9d,r9d call qword ptr [7FFC4A937198]; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32) jmp short M05_L01 ; Total bytes of code 222 ``` ```assembly ; System.Runtime.CompilerServices.StaticsHelpers.GetGCStaticBaseSlow(System.Runtime.CompilerServices.MethodTable*) push rbx sub rsp,30 xor eax,eax mov [rsp+28],rax mov rbx,rcx mov rcx,rbx call qword ptr [7FFCA9EA0C88]; Precode of System.Runtime.CompilerServices.InitHelpers.InitClassSlow(System.Runtime.CompilerServices.MethodTable*) mov rax,[rbx+20] mov rax,[rax-18] mov [rsp+28],rax mov rax,[rsp+28] and rax,0FFFFFFFFFFFFFFFE xor ecx,ecx mov [rsp+28],rcx add rsp,30 pop rbx ret ; Total bytes of code 59 ``` ```assembly ; System.Runtime.CompilerServices.CastHelpers.StelemRef_Helper(System.Object ByRef, Void*, System.Object) push rdi push rsi push rbx sub rsp,20 mov rdi,rcx mov rbx,rdx mov rsi,r8 call qword ptr [7FFCA9E869F0] mov rdx,[rax] mov rax,[rsi] add rdx,10 mov r8,rax rol r8,20 xor r8,rbx mov r10,9E3779B97F4A7C15 imul r8,r10 mov ecx,[rdx] shr r8,cl xor ecx,ecx jmp short M07_L01 M07_L00: test r9d,r9d je short M07_L03 inc ecx add r8d,ecx and r8d,[rdx+4] cmp ecx,8 jge short M07_L03 M07_L01: lea r10d,[r8+1] movsxd r10,r10d lea r10,[r10+r10*2] lea r10,[rdx+r10*8] mov r9d,[r10] mov r11,[r10+8] and r9d,0FFFFFFFE cmp r11,rax jne short M07_L00 mov r11,rbx xor r11,[r10+10] cmp r11,1 ja short M07_L00 cmp r9d,[r10] jne short M07_L03 cmp r11d,1 jne short M07_L03 mov rcx,rdi mov rdx,rsi call qword ptr [7FFCA9EA0C30]; System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object) M07_L02: nop add rsp,20 pop rbx pop rsi pop rdi ret M07_L03: mov rcx,rbx mov rdx,rsi call qword ptr [7FFCA9EA0C08]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny_NoCacheLookup(Void*, System.Object) test rax,rax je short M07_L04 mov rcx,rdi mov rdx,rax call qword ptr [7FFCA9EA0C30]; System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object) jmp short M07_L02 M07_L04: call qword ptr [7FFCA9EA0C70] int 3 ; Total bytes of code 198 ``` ```assembly ; System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly) push rsi push rbx sub rsp,28 mov [rsp+20],rcx mov rbx,rdx call qword ptr [7FFCA9E8B6D8] mov rsi,rax mov rcx,rax call qword ptr [7FFCA9E86158]; CORINFO_HELP_GETSYNCFROMCLASSHANDLE mov rdx,rax mov rcx,rbx mov r8d,1 call qword ptr [7FFCA9E96940] mov r8,rax test r8,r8 je short M08_L00 mov rcx,rsi cmp [r8],rcx je short M08_L00 mov rdx,rax call qword ptr [7FFCA9E86198]; Precode of System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object) mov r8,rax M08_L00: mov rax,r8 add rsp,28 pop rbx pop rsi ret ; Total bytes of code 88 ``` ```assembly ; System.Array.Copy(System.Array, Int32, System.Array, Int32, Int32) sub rsp,38 mov eax,[rsp+60] test rcx,rcx je near ptr M09_L02 test r8,r8 je near ptr M09_L02 mov r10,[rcx] cmp r10,[r8] jne near ptr M09_L02 cmp dword ptr [r10+4],18 ja short M09_L02 mov r11d,eax or r11d,edx or r11d,r9d jl short M09_L02 lea r11d,[rdx+rax] cmp r11d,[rcx+8] ja short M09_L02 lea r11d,[r9+rax] cmp r11d,[r8+8] ja short M09_L02 movzx r11d,word ptr [r10] mov eax,eax imul rax,r11 mov edx,edx imul rdx,r11 lea rdx,[rcx+rdx+10] mov ecx,r9d imul rcx,r11 lea rcx,[r8+rcx+10] test dword ptr [r10],1000000 je short M09_L01 cmp rax,4000 ja short M09_L00 mov r8,rax add rsp,38 jmp near ptr System.Buffer.__BulkMoveWithWriteBarrier(Byte ByRef, Byte ByRef, UIntPtr) M09_L00: mov r8,rax add rsp,38 jmp qword ptr [7FFC4A93CFF0] M09_L01: mov r8,rax call qword ptr [7FFC4A415800]; System.SpanHelpers.Memmove(Byte ByRef, Byte ByRef, UIntPtr) jmp short M09_L03 M09_L02: mov [rsp+20],eax xor eax,eax mov [rsp+28],eax call qword ptr [7FFC4A93D008]; System.Array.CopyImpl(System.Array, Int32, System.Array, Int32, Int32, Boolean) M09_L03: nop add rsp,38 ret ; Total bytes of code 184 ``` ```assembly ; System.SpanHelpers.Memmove(Byte ByRef, Byte ByRef, UIntPtr) mov rax,rcx sub rax,rdx cmp rax,r8 jb near ptr M10_L10 mov rax,rdx sub rax,rcx cmp rax,r8 jb near ptr M10_L10 lea rax,[rdx+r8] lea r10,[rcx+r8] cmp r8,10 ja short M10_L02 test r8b,18 jne short M10_L01 test r8b,4 je short M10_L00 mov r8d,[rdx] mov [rcx],r8d mov edx,[rax-4] mov [r10-4],edx jmp near ptr M10_L11 M10_L00: test r8,r8 je near ptr M10_L11 movzx edx,byte ptr [rdx] mov [rcx],dl test r8b,2 je near ptr M10_L11 movsx rcx,word ptr [rax-2] mov [r10-2],cx jmp near ptr M10_L11 M10_L01: mov r8,[rdx] mov [rcx],r8 mov rcx,[rax-8] mov [r10-8],rcx jmp near ptr M10_L11 M10_L02: cmp r8,40 ja short M10_L05 M10_L03: vmovups xmm0,[rdx] vmovups [rcx],xmm0 cmp r8,20 ja short M10_L08 M10_L04: vmovups xmm0,[rax-10] vmovups [r10-10],xmm0 jmp near ptr M10_L11 M10_L05: cmp r8,800 ja near ptr M10_L12 cmp r8,100 jae short M10_L09 M10_L06: mov r9,r8 shr r9,6 M10_L07: vmovdqu32 zmm0,[rdx] vmovdqu32 [rcx],zmm0 add rcx,40 add rdx,40 dec r9 jne short M10_L07 and r8,3F cmp r8,10 ja short M10_L03 jmp short M10_L04 M10_L08: vmovups xmm0,[rdx+10] vmovups [rcx+10],xmm0 cmp r8,30 jbe short M10_L04 vmovups xmm0,[rdx+20] vmovups [rcx+20],xmm0 jmp short M10_L04 M10_L09: mov r9,rcx and r9,3F neg r9 add r9,40 vmovdqu32 zmm0,[rdx] vmovdqu32 [rcx],zmm0 add rdx,r9 add rcx,r9 sub r8,r9 jmp short M10_L06 M10_L10: cmp rcx,rdx jne short M10_L12 cmp [rdx],dl M10_L11: vzeroupper ret M10_L12: cmp [rcx],cl cmp [rdx],dl vzeroupper jmp qword ptr [7FFC4A4165C8]; System.Buffer._Memmove(Byte ByRef, Byte ByRef, UIntPtr) ; Total bytes of code 323 ``` ```assembly ; System.Array.CopyImpl(System.Array, Int32, System.Array, Int32, Int32, Boolean) push r15 push r14 push r13 push rdi push rsi push rbp push rbx sub rsp,30 mov rbx,rcx mov edi,edx mov rsi,r8 mov ebp,r9d mov r14d,[rsp+90] test rbx,rbx je near ptr M11_L16 test rsi,rsi je near ptr M11_L15 mov r15,[rbx] mov r13,[rsi] cmp r15,r13 je short M11_L00 mov rax,r15 mov eax,[rax+4] add eax,0FFFFFFE8 shr eax,3 mov ecx,1 test eax,eax cmove eax,ecx mov rcx,r13 mov ecx,[rcx+4] add ecx,0FFFFFFE8 shr ecx,3 mov edx,1 test ecx,ecx cmove ecx,edx cmp eax,ecx jne near ptr M11_L06 M11_L00: test r14d,r14d jl near ptr M11_L14 mov rcx,rbx xor edx,edx call qword ptr [7FFCA9E966A0]; Precode of System.Array.GetLowerBound(Int32) cmp edi,eax jl near ptr M11_L07 sub edi,eax mov ecx,edi test ecx,ecx jl near ptr M11_L13 mov rcx,rsi xor edx,edx call qword ptr [7FFCA9E966A0]; Precode of System.Array.GetLowerBound(Int32) cmp ebp,eax jl near ptr M11_L08 sub ebp,eax mov ecx,ebp test ecx,ecx jl near ptr M11_L12 lea ecx,[rdi+r14] cmp ecx,[rbx+8] ja near ptr M11_L11 lea ecx,[r14+rbp] cmp ecx,[rsi+8] ja near ptr M11_L10 cmp r15,r13 je short M11_L01 mov rcx,rbx mov rdx,rsi call qword ptr [7FFCA9E96620] test eax,eax jne short M11_L03 M11_L01: mov rcx,r15 movzx edx,word ptr [rcx] mov r8d,r14d imul r8,rdx add rbx,8 mov eax,[r15+4] add rax,0FFFFFFFFFFFFFFF0 add rax,rbx mov r10d,edi imul r10,rdx add r10,rax add rsi,8 mov eax,[r13+4] add rax,0FFFFFFFFFFFFFFF0 add rax,rsi mov r9d,ebp imul rdx,r9 add rdx,rax test dword ptr [rcx],1000000 je short M11_L05 cmp r8,4000 ja short M11_L04 mov rcx,rdx mov rdx,r10 call qword ptr [7FFCA9E96988]; System.Buffer.__BulkMoveWithWriteBarrier(Byte ByRef, Byte ByRef, UIntPtr) M11_L02: nop add rsp,30 pop rbx pop rbp pop rsi pop rdi pop r13 pop r14 pop r15 ret M11_L03: cmp byte ptr [rsp+98],0 jne near ptr M11_L09 mov [rsp+20],r14d mov [rsp+28],eax mov rcx,rbx mov edx,edi mov r8,rsi mov r9d,ebp call qword ptr [7FFCA9E96618] jmp short M11_L02 M11_L04: mov rcx,rdx mov rdx,r10 call qword ptr [7FFCA9E969C0] jmp short M11_L02 M11_L05: mov rcx,rdx mov rdx,r10 call qword ptr [7FFCA9E99CF0]; Precode of System.SpanHelpers.Memmove(Byte ByRef, Byte ByRef, UIntPtr) jmp short M11_L02 M11_L06: call qword ptr [7FFCA9E90070] mov r14,rax call qword ptr [7FFCA9E9B160] mov rdx,rax mov rcx,r14 call qword ptr [7FFCA9E99B78] mov rcx,r14 call qword ptr [7FFCA9E860C0]; CORINFO_HELP_THROW int 3 M11_L07: mov r8,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov r8,[r8] mov ecx,edi mov edx,eax call qword ptr [7FFCA9EAD790] int 3 M11_L08: mov r8,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov r8,[r8] mov ecx,ebp mov edx,eax call qword ptr [7FFCA9EAD790] int 3 M11_L09: call qword ptr [7FFCA9E8FE68] mov r15,rax call qword ptr [7FFCA9E9AAD0] mov rdx,rax mov rcx,r15 call qword ptr [7FFCA9E98640] mov rcx,r15 call qword ptr [7FFCA9E860C0]; CORINFO_HELP_THROW int 3 M11_L10: call qword ptr [7FFCA9E8FE40] mov r14,rax call qword ptr [7FFCA9E99FD0] mov rdx,rax mov r8,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov r8,[r8] mov rcx,r14 call qword ptr [7FFCA9E985C0] mov rcx,r14 call qword ptr [7FFCA9E860C0]; CORINFO_HELP_THROW int 3 M11_L11: call qword ptr [7FFCA9E8FE40] mov rbx,rax call qword ptr [7FFCA9E99FD8] mov rdx,rax mov r8,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov r8,[r8] mov rcx,rbx call qword ptr [7FFCA9E985C0] mov rcx,rbx call qword ptr [7FFCA9E860C0]; CORINFO_HELP_THROW int 3 M11_L12: mov rdx,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov rdx,[rdx] call qword ptr [7FFCA9EAD778] int 3 M11_L13: mov rdx,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov rdx,[rdx] call qword ptr [7FFCA9EAD778] int 3 M11_L14: mov rdx,[System.Reflection.CustomAttributeExtensions.GetCustomAttribute[[System.__Canon, System.Private.CoreLib]](System.Reflection.Assembly)] mov rdx,[rdx] mov ecx,r14d call qword ptr [7FFCA9EAD778] int 3 M11_L15: mov ecx,43 call qword ptr [7FFCA9E9B7C0] int 3 M11_L16: mov ecx,41 call qword ptr [7FFCA9E9B7C0] int 3 ; Total bytes of code 698 ``` **Extern method** System.Runtime.CompilerServices.CastHelpers.WriteBarrier(System.Object ByRef, System.Object) System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny_NoCacheLookup(Void*, System.Object) System.Buffer.__BulkMoveWithWriteBarrier(Byte ByRef, Byte ByRef, UIntPtr)
Trouver la différence