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
32 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
41 lignes
Copier tout
81 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
86 lignes
Copier tout
; Assembly listing for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool
; Assembly listing for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool
; 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; 1 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
Copier
Copié
Copier
Copié
; V00 arg0 [V00,T00] (
3
,
6
) byref ->
rsi
single-def
; V00 arg0 [V00,T00] (
4
,
8
) byref ->
rcx
single-def
; V01 arg1 [V01,T01] (
3
, 3 ) byref -> r
d
i single-def
; V01 arg1 [V01,T01] (
4
, 3 ) byref -> r
s
i single-def
; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
Copier
Copié
Copier
Copié
;
*
V03 tmp1 [V03
] ( 0, 0 ) byref -> zero-ref
V05
._reference(offs=0x00) P-INDEP "field V00._reference (fldOffset=0x0)"
;
V03 tmp1 [V03
,T05] ( 3, 2 ) bool -> rax "Inline return value spill temp"
;* V
04
tmp
2
[V
04
] ( 0, 0 ) int -> zero-ref
V05
._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)"
; V04 tmp2 [V04 ] ( 9, 8.50) struct (128) [rsp+30H] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref"
;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg"
; V06 tmp4 [V06,T02] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V06 tmp4 [V06,T02] ( 2, 4 ) ref -> rdx class-hnd single-def "Inlining Arg"
;* V07 tmp5 [V07 ] ( 0, 0 ) struct ( 8) zero-ref "folding static ro fld struct"
;* V08 tmp6 [V08 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg"
;* V09 tmp7 [V09
] ( 0, 0 ) byref -> zero-ref
V16
._reference(offs=0x00) P-INDEP "field V00._reference (fldOffset=0x0)"
;* V
10
tmp
8
[V
10
] ( 0, 0 ) int -> zero-ref
V16
._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)"
; V11 tmp9 [V11,T03] ( 3, 3 ) byref -> rdi single-def V05._reference(offs=0x00) P-INDEP "field V05._reference (fldOffset=0x0)"
; V12 tmp10 [V12,T04] ( 3, 3 ) int -> rbx V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)"
;* V13 tmp11 [V13,T06] ( 0, 0 ) long -> zero-ref V07._dateData(offs=0x00) P-INDEP "field V07._dateData (fldOffset=0x0)"
;* V14 tmp12 [V14 ] ( 0, 0 ) byref -> zero-ref V08._reference(offs=0x00) P-INDEP "field V08._reference (fldOffset=0x0)"
;* V15 tmp13 [V15 ] ( 0, 0 ) int -> zero-ref V08._length(offs=0x08) P-INDEP "field V08._length (fldOffset=0x8)"
;* V16 tmp14 [V16 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref"
; V17 tmp15 [V17 ] ( 3, 6 ) struct (16) [rsp+20H] do-not-enreg[XSF] must-init addr-exposed "by-value struct argument"
;
;
Copier
Copié
Copier
Copié
; Lcl frame size =
40
; Lcl frame size =
176
G_M61794_IG01:
G_M61794_IG01:
push rdi
push rdi
push rsi
push rsi
Copier
Copié
Copier
Copié
sub rsp,
40
push rbx
mov rsi, rcx
sub rsp,
176
mov r
d
i, rdx
vxorps xmm4, xmm4
;; size=
12
bbWeight=1 PerfScore
2.75
mov rax, -144
vmovdqa xmmword ptr [rsp+rax+B0H], xmm4
vmovdqa xmmword ptr [rsp+rax+C0H], xmm4
vmovdqa xmmword ptr [rsp+rax+D0H], xmm4
add rax, 48
jne SHORT -5 instr
mov r
s
i, rdx
;; size=
60
bbWeight=1 PerfScore
11.33
G_M61794_IG02:
G_M61794_IG02:
Copier
Copié
Copier
Copié
mov rdi, bword ptr [rcx]
mov ebx, dword ptr [rcx+08H]
call [System.Globalization.DateTimeFormatInfo:get_CurrentInfo():System.Globalization.DateTimeFormatInfo]
call [System.Globalization.DateTimeFormatInfo:get_CurrentInfo():System.Globalization.DateTimeFormatInfo]
mov rdx, rax
mov rdx, rax
Copier
Copié
Copier
Copié
mov rcx, rsi
mov bword ptr [rsp+90H], rdi
mov r9, rdi
mov dword ptr [rsp+98H], ebx
mov dword ptr [rsp+58H], -1
mov dword ptr [rsp+5CH], -1
mov dword ptr [rsp+60H], -1
mov rcx, 0xD1FFAB1E
mov qword ptr [rsp+50H], rcx
mov dword ptr [rsp+70H], -1
mov bword ptr [rsp+20H], rdi
mov dword ptr [rsp+28H], ebx
lea rcx, [rsp+20H]
lea r9, [rsp+30H]
xor r8d, r8d
xor r8d, r8d
Copier
Copié
Copier
Copié
;; size=
18
bbWeight=1 PerfScore
4
.00
call [System.DateTimeParse:TryParse(System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,int,byref):bool]
test eax, eax
je SHORT G_M61794_IG04
;; size=
109
bbWeight=1 PerfScore
22
.00
G_M61794_IG03:
G_M61794_IG03:
Copier
Copié
Copier
Copié
add rsp,
40
mov rax, qword ptr [rsp+88H]
mov qword ptr [rsi], rax
mov eax, 1
jmp SHORT G_M61794_IG05
;; size=18 bbWeight=0.50 PerfScore 2.12
G_M61794_IG04:
xor eax, eax
mov qword ptr [rsi], rax
;; size=5 bbWeight=0.50 PerfScore 0.62
G_M61794_IG05:
add rsp,
176
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
Copier
Copié
Copier
Copié
tail.jmp [System.DateTimeParse:TryParse(System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,int,byref):bool]
ret
;; size=
12
bbWeight=1 PerfScore
3.2
5
;; size=
11
bbWeight=1 PerfScore
2.7
5
Copier
Copié
Copier
Copié
; Total bytes of code
42
, prolog size
6
, PerfScore
14.20
, instruction count
14
, allocated bytes for code
42
(MethodHash=e7870e9d) for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool
; Total bytes of code
203
, prolog size
57
, PerfScore
59.13
, instruction count
43
, allocated bytes for code
203
(MethodHash=e7870e9d) for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool
; ============================================================
; ============================================================
Différences enregistrées
Texte d'origine
Ouvrir un fichier
; Assembly listing for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 3, 6 ) byref -> rsi single-def ; V01 arg1 [V01,T01] ( 3, 3 ) byref -> rdi single-def ; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) byref -> zero-ref V05._reference(offs=0x00) P-INDEP "field V00._reference (fldOffset=0x0)" ;* V04 tmp2 [V04 ] ( 0, 0 ) int -> zero-ref V05._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref" ; V06 tmp4 [V06,T02] ( 2, 4 ) ref -> rdx single-def "argument with side effect" ; ; Lcl frame size = 40 G_M61794_IG01: push rdi push rsi sub rsp, 40 mov rsi, rcx mov rdi, rdx ;; size=12 bbWeight=1 PerfScore 2.75 G_M61794_IG02: call [System.Globalization.DateTimeFormatInfo:get_CurrentInfo():System.Globalization.DateTimeFormatInfo] mov rdx, rax mov rcx, rsi mov r9, rdi xor r8d, r8d ;; size=18 bbWeight=1 PerfScore 4.00 G_M61794_IG03: add rsp, 40 pop rsi pop rdi tail.jmp [System.DateTimeParse:TryParse(System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,int,byref):bool] ;; size=12 bbWeight=1 PerfScore 3.25 ; Total bytes of code 42, prolog size 6, PerfScore 14.20, instruction count 14, allocated bytes for code 42 (MethodHash=e7870e9d) for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool ; ============================================================
Texte modifié
Ouvrir un fichier
; Assembly listing for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool ; 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 arg0 [V00,T00] ( 4, 8 ) byref -> rcx single-def ; V01 arg1 [V01,T01] ( 4, 3 ) byref -> rsi single-def ; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V03 tmp1 [V03,T05] ( 3, 2 ) bool -> rax "Inline return value spill temp" ; V04 tmp2 [V04 ] ( 9, 8.50) struct (128) [rsp+30H] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" ; V06 tmp4 [V06,T02] ( 2, 4 ) ref -> rdx class-hnd single-def "Inlining Arg" ;* V07 tmp5 [V07 ] ( 0, 0 ) struct ( 8) zero-ref "folding static ro fld struct" ;* V08 tmp6 [V08 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" ;* V09 tmp7 [V09 ] ( 0, 0 ) byref -> zero-ref V16._reference(offs=0x00) P-INDEP "field V00._reference (fldOffset=0x0)" ;* V10 tmp8 [V10 ] ( 0, 0 ) int -> zero-ref V16._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)" ; V11 tmp9 [V11,T03] ( 3, 3 ) byref -> rdi single-def V05._reference(offs=0x00) P-INDEP "field V05._reference (fldOffset=0x0)" ; V12 tmp10 [V12,T04] ( 3, 3 ) int -> rbx V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)" ;* V13 tmp11 [V13,T06] ( 0, 0 ) long -> zero-ref V07._dateData(offs=0x00) P-INDEP "field V07._dateData (fldOffset=0x0)" ;* V14 tmp12 [V14 ] ( 0, 0 ) byref -> zero-ref V08._reference(offs=0x00) P-INDEP "field V08._reference (fldOffset=0x0)" ;* V15 tmp13 [V15 ] ( 0, 0 ) int -> zero-ref V08._length(offs=0x08) P-INDEP "field V08._length (fldOffset=0x8)" ;* V16 tmp14 [V16 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref" ; V17 tmp15 [V17 ] ( 3, 6 ) struct (16) [rsp+20H] do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" ; ; Lcl frame size = 176 G_M61794_IG01: push rdi push rsi push rbx sub rsp, 176 vxorps xmm4, xmm4 mov rax, -144 vmovdqa xmmword ptr [rsp+rax+B0H], xmm4 vmovdqa xmmword ptr [rsp+rax+C0H], xmm4 vmovdqa xmmword ptr [rsp+rax+D0H], xmm4 add rax, 48 jne SHORT -5 instr mov rsi, rdx ;; size=60 bbWeight=1 PerfScore 11.33 G_M61794_IG02: mov rdi, bword ptr [rcx] mov ebx, dword ptr [rcx+08H] call [System.Globalization.DateTimeFormatInfo:get_CurrentInfo():System.Globalization.DateTimeFormatInfo] mov rdx, rax mov bword ptr [rsp+90H], rdi mov dword ptr [rsp+98H], ebx mov dword ptr [rsp+58H], -1 mov dword ptr [rsp+5CH], -1 mov dword ptr [rsp+60H], -1 mov rcx, 0xD1FFAB1E mov qword ptr [rsp+50H], rcx mov dword ptr [rsp+70H], -1 mov bword ptr [rsp+20H], rdi mov dword ptr [rsp+28H], ebx lea rcx, [rsp+20H] lea r9, [rsp+30H] xor r8d, r8d call [System.DateTimeParse:TryParse(System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,int,byref):bool] test eax, eax je SHORT G_M61794_IG04 ;; size=109 bbWeight=1 PerfScore 22.00 G_M61794_IG03: mov rax, qword ptr [rsp+88H] mov qword ptr [rsi], rax mov eax, 1 jmp SHORT G_M61794_IG05 ;; size=18 bbWeight=0.50 PerfScore 2.12 G_M61794_IG04: xor eax, eax mov qword ptr [rsi], rax ;; size=5 bbWeight=0.50 PerfScore 0.62 G_M61794_IG05: add rsp, 176 pop rbx pop rsi pop rdi ret ;; size=11 bbWeight=1 PerfScore 2.75 ; Total bytes of code 203, prolog size 57, PerfScore 59.13, instruction count 43, allocated bytes for code 203 (MethodHash=e7870e9d) for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool ; ============================================================
Trouver la différence