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
Untitled Diff
Créé
il y a 3 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
41 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
75 lignes
Copier tout
43 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
74 lignes
Copier tout
Copier
Copié
Copier
Copié
; Assembly listing for method System.ArraySegment`1[double]:ToArray():double[]:this
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; partially interruptible
; partially interruptible
; No PGO data
; No PGO data
Copier
Copié
Copier
Copié
; 0 inlinees with PGO data;
0
single block inlinees; 1 inlinees without PGO data
; 0 inlinees with PGO data;
1
single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 this [V00,T00] ( 6, 5 ) byref -> rsi this single-def
; V00 this [V00,T00] ( 6, 5 ) byref -> rsi this single-def
; V01 loc0 [V01,T02] ( 3, 1.50) ref -> rbx class-hnd exact single-def
; V01 loc0 [V01,T02] ( 3, 1.50) ref -> rbx class-hnd exact single-def
; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (40) [rsp+00H] "OutgoingArgSpace"
; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (40) [rsp+00H] "OutgoingArgSpace"
Copier
Copié
Copier
Copié
;
V03 tmp1 [V03 ] (
2
,
2
) struct (16)
[rsp+30H] do-not-enreg[HS] must-init hidden-struct-arg
"struct address for call/obj"
;
*
V03 tmp1 [V03 ] (
0
,
0
) struct (16)
zero-ref
"struct address for call/obj"
; V04 tmp2 [V04,T03] ( 2, 1
.50
) ref ->
[rsp+30H]
do-not-enreg[H] hidden-struct-arg
V03._array(offs=0x00) P-
DEP "field V03._array (fldOffset=0x0)"
; V04 tmp2 [V04,T03] ( 2, 1
) ref ->
rax
single-def
V03._array(offs=0x00) P-
IN
DEP "field V03._array (fldOffset=0x0)"
;
V05 tmp3 [V05
,T04
] (
1
,
1
) int ->
[rsp+38H] do-not-enreg[H] hidden-struct-arg
V03._offset(offs=0x08) P-
DEP "field V03._offset (fldOffset=0x8)"
;
*
V05 tmp3 [V05
] (
0
,
0
) int ->
zero-ref
V03._offset(offs=0x08) P-
IN
DEP "field V03._offset (fldOffset=0x8)"
;
V06 tmp4 [V06
,T05
] (
1
,
1
) int ->
[rsp+3CH] do-not-enreg[H] hidden-struct-arg
V03._count(offs=0x0c) P-
DEP "field V03._count (fldOffset=0xc)"
;
*
V06 tmp4 [V06
] (
0
,
0
) int ->
zero-ref
V03._count(offs=0x0c) P-
IN
DEP "field V03._count (fldOffset=0xc)"
; V07 cse0 [V07,T01] ( 4, 3 ) int -> rdi "CSE - aggressive"
; V07 cse0 [V07,T01] ( 4, 3 ) int -> rdi "CSE - aggressive"
;
;
Copier
Copié
Copier
Copié
; Lcl frame size =
64
; Lcl frame size =
48
G_M49573_IG01:
G_M49573_IG01:
push rdi
push rdi
push rsi
push rsi
push rbx
push rbx
Copier
Copié
Copier
Copié
sub rsp,
64
sub rsp,
48
xor eax, eax
mov qword ptr [rsp+30H], rax
mov rsi, rcx
mov rsi, rcx
Copier
Copié
Copier
Copié
;; size=
17
bbWeight=1 PerfScore
4.75
;; size=
10
bbWeight=1 PerfScore
3.50
G_M49573_IG02:
G_M49573_IG02:
cmp gword ptr [rsi], 0
cmp gword ptr [rsi], 0
je SHORT G_M49573_IG07
je SHORT G_M49573_IG07
mov edi, dword ptr [rsi+0CH]
mov edi, dword ptr [rsi+0CH]
test edi, edi
test edi, edi
jne SHORT G_M49573_IG05
jne SHORT G_M49573_IG05
;; size=13 bbWeight=1 PerfScore 7.25
;; size=13 bbWeight=1 PerfScore 7.25
G_M49573_IG03:
G_M49573_IG03:
Copier
Copié
Copier
Copié
lea
r
c
x,
[rsp+30H]
mov
r
a
x,
0xD1FFAB1E
; box for
System.ArraySegment`1[double]:
<
Empty
>k__BackingField
call [
System.ArraySegment`1[double]:
get_
Empty
():System.ArraySegment`1[double]
]
mov rax, gword ptr [rax
]
mov rax, gword ptr [
rsp+30
H]
mov rax, gword ptr [
rax+08
H]
;; size=
16
bbWeight=0.50 PerfScore 2.
25
;; size=
17
bbWeight=0.50 PerfScore 2.
12
G_M49573_IG04:
G_M49573_IG04:
Copier
Copié
Copier
Copié
add rsp,
64
add rsp,
48
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
;; size=8 bbWeight=0.50 PerfScore 1.38
;; size=8 bbWeight=0.50 PerfScore 1.38
G_M49573_IG05:
G_M49573_IG05:
movsxd rdx, edi
movsxd rdx, edi
mov rcx, 0xD1FFAB1E ; double[]
mov rcx, 0xD1FFAB1E ; double[]
call CORINFO_HELP_NEWARR_1_VC
call CORINFO_HELP_NEWARR_1_VC
mov rbx, rax
mov rbx, rax
mov dword ptr [rsp+20H], edi
mov dword ptr [rsp+20H], edi
mov rcx, gword ptr [rsi]
mov rcx, gword ptr [rsi]
mov edx, dword ptr [rsi+08H]
mov edx, dword ptr [rsi+08H]
mov r8, rbx
mov r8, rbx
xor r9d, r9d
xor r9d, r9d
call [System.Array:Copy(System.Array,int,System.Array,int,int)]
call [System.Array:Copy(System.Array,int,System.Array,int,int)]
mov rax, rbx
mov rax, rbx
;; size=46 bbWeight=0.50 PerfScore 5.25
;; size=46 bbWeight=0.50 PerfScore 5.25
G_M49573_IG06:
G_M49573_IG06:
Copier
Copié
Copier
Copié
add rsp,
64
add rsp,
48
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
;; size=8 bbWeight=0.50 PerfScore 1.38
;; size=8 bbWeight=0.50 PerfScore 1.38
G_M49573_IG07:
G_M49573_IG07:
mov ecx, 22
mov ecx, 22
call [System.ThrowHelper:ThrowInvalidOperationException(int)]
call [System.ThrowHelper:ThrowInvalidOperationException(int)]
int3
int3
;; size=12 bbWeight=0 PerfScore 0.00
;; size=12 bbWeight=0 PerfScore 0.00
Copier
Copié
Copier
Copié
; Total bytes of code
120
, prolog size
14
, PerfScore
34.25
, instruction count
39
, allocated bytes for code
120
(MethodHash=bece3e5a) for method System.ArraySegment`1[double]:ToArray():double[]:this
; Total bytes of code
114
, prolog size
7
, PerfScore
32.28
, instruction count
37
, allocated bytes for code
114
(MethodHash=bece3e5a) for method System.ArraySegment`1[double]:ToArray():double[]:this
; ============================================================
; ============================================================
Différences enregistrées
Texte d'origine
Ouvrir un fichier
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 6, 5 ) byref -> rsi this single-def ; V01 loc0 [V01,T02] ( 3, 1.50) ref -> rbx class-hnd exact single-def ; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (40) [rsp+00H] "OutgoingArgSpace" ; V03 tmp1 [V03 ] ( 2, 2 ) struct (16) [rsp+30H] do-not-enreg[HS] must-init hidden-struct-arg "struct address for call/obj" ; V04 tmp2 [V04,T03] ( 2, 1.50) ref -> [rsp+30H] do-not-enreg[H] hidden-struct-arg V03._array(offs=0x00) P-DEP "field V03._array (fldOffset=0x0)" ; V05 tmp3 [V05,T04] ( 1, 1 ) int -> [rsp+38H] do-not-enreg[H] hidden-struct-arg V03._offset(offs=0x08) P-DEP "field V03._offset (fldOffset=0x8)" ; V06 tmp4 [V06,T05] ( 1, 1 ) int -> [rsp+3CH] do-not-enreg[H] hidden-struct-arg V03._count(offs=0x0c) P-DEP "field V03._count (fldOffset=0xc)" ; V07 cse0 [V07,T01] ( 4, 3 ) int -> rdi "CSE - aggressive" ; ; Lcl frame size = 64 G_M49573_IG01: push rdi push rsi push rbx sub rsp, 64 xor eax, eax mov qword ptr [rsp+30H], rax mov rsi, rcx ;; size=17 bbWeight=1 PerfScore 4.75 G_M49573_IG02: cmp gword ptr [rsi], 0 je SHORT G_M49573_IG07 mov edi, dword ptr [rsi+0CH] test edi, edi jne SHORT G_M49573_IG05 ;; size=13 bbWeight=1 PerfScore 7.25 G_M49573_IG03: lea rcx, [rsp+30H] call [System.ArraySegment`1[double]:get_Empty():System.ArraySegment`1[double]] mov rax, gword ptr [rsp+30H] ;; size=16 bbWeight=0.50 PerfScore 2.25 G_M49573_IG04: add rsp, 64 pop rbx pop rsi pop rdi ret ;; size=8 bbWeight=0.50 PerfScore 1.38 G_M49573_IG05: movsxd rdx, edi mov rcx, 0xD1FFAB1E ; double[] call CORINFO_HELP_NEWARR_1_VC mov rbx, rax mov dword ptr [rsp+20H], edi mov rcx, gword ptr [rsi] mov edx, dword ptr [rsi+08H] mov r8, rbx xor r9d, r9d call [System.Array:Copy(System.Array,int,System.Array,int,int)] mov rax, rbx ;; size=46 bbWeight=0.50 PerfScore 5.25 G_M49573_IG06: add rsp, 64 pop rbx pop rsi pop rdi ret ;; size=8 bbWeight=0.50 PerfScore 1.38 G_M49573_IG07: mov ecx, 22 call [System.ThrowHelper:ThrowInvalidOperationException(int)] int3 ;; size=12 bbWeight=0 PerfScore 0.00 ; Total bytes of code 120, prolog size 14, PerfScore 34.25, instruction count 39, allocated bytes for code 120 (MethodHash=bece3e5a) for method System.ArraySegment`1[double]:ToArray():double[]:this ; ============================================================
Texte modifié
Ouvrir un fichier
; Assembly listing for method System.ArraySegment`1[double]:ToArray():double[]:this ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 6, 5 ) byref -> rsi this single-def ; V01 loc0 [V01,T02] ( 3, 1.50) ref -> rbx class-hnd exact single-def ; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (40) [rsp+00H] "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) struct (16) zero-ref "struct address for call/obj" ; V04 tmp2 [V04,T03] ( 2, 1 ) ref -> rax single-def V03._array(offs=0x00) P-INDEP "field V03._array (fldOffset=0x0)" ;* V05 tmp3 [V05 ] ( 0, 0 ) int -> zero-ref V03._offset(offs=0x08) P-INDEP "field V03._offset (fldOffset=0x8)" ;* V06 tmp4 [V06 ] ( 0, 0 ) int -> zero-ref V03._count(offs=0x0c) P-INDEP "field V03._count (fldOffset=0xc)" ; V07 cse0 [V07,T01] ( 4, 3 ) int -> rdi "CSE - aggressive" ; ; Lcl frame size = 48 G_M49573_IG01: push rdi push rsi push rbx sub rsp, 48 mov rsi, rcx ;; size=10 bbWeight=1 PerfScore 3.50 G_M49573_IG02: cmp gword ptr [rsi], 0 je SHORT G_M49573_IG07 mov edi, dword ptr [rsi+0CH] test edi, edi jne SHORT G_M49573_IG05 ;; size=13 bbWeight=1 PerfScore 7.25 G_M49573_IG03: mov rax, 0xD1FFAB1E ; box for System.ArraySegment`1[double]:<Empty>k__BackingField mov rax, gword ptr [rax] mov rax, gword ptr [rax+08H] ;; size=17 bbWeight=0.50 PerfScore 2.12 G_M49573_IG04: add rsp, 48 pop rbx pop rsi pop rdi ret ;; size=8 bbWeight=0.50 PerfScore 1.38 G_M49573_IG05: movsxd rdx, edi mov rcx, 0xD1FFAB1E ; double[] call CORINFO_HELP_NEWARR_1_VC mov rbx, rax mov dword ptr [rsp+20H], edi mov rcx, gword ptr [rsi] mov edx, dword ptr [rsi+08H] mov r8, rbx xor r9d, r9d call [System.Array:Copy(System.Array,int,System.Array,int,int)] mov rax, rbx ;; size=46 bbWeight=0.50 PerfScore 5.25 G_M49573_IG06: add rsp, 48 pop rbx pop rsi pop rdi ret ;; size=8 bbWeight=0.50 PerfScore 1.38 G_M49573_IG07: mov ecx, 22 call [System.ThrowHelper:ThrowInvalidOperationException(int)] int3 ;; size=12 bbWeight=0 PerfScore 0.00 ; Total bytes of code 114, prolog size 7, PerfScore 32.28, instruction count 37, allocated bytes for code 114 (MethodHash=bece3e5a) for method System.ArraySegment`1[double]:ToArray():double[]:this ; ============================================================
Trouver la différence