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
Masquer les espaces
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Styles de texte
Modifier l’apparence
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 5 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
14 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
110 lignes
Copier tout
13 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
109 lignes
Copier tout
; Assembly listing for method JsonSerializerOptionsUpdateHandler:ClearCache(ref)
; Assembly listing for method JsonSerializerOptionsUpdateHandler:ClearCache(ref)
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
;* V00 arg0 [V00 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def
;* V00 arg0 [V00 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def
; V01 loc0 [V01,T01] ( 7, 10 ) ref -> [rbp-28H] class-hnd EH-live single-def
; V01 loc0 [V01,T01] ( 7, 10 ) ref -> [rbp-28H] class-hnd EH-live single-def
; V02 loc1 [V02 ] ( 2, 8 ) struct (16) [rbp-20H] do-not-enreg[XSB] must-init addr-exposed ld-addr-op
; V02 loc1 [V02 ] ( 2, 8 ) struct (16) [rbp-20H] do-not-enreg[XSB] must-init addr-exposed ld-addr-op
; V03 OutArgs [V03 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V03 OutArgs [V03 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V04 tmp1 [V04,T00] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg"
; V04 tmp1 [V04,T00] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg"
; V05 tmp2 [V05 ] ( 2, 8 ) ref -> [rbp-20H] do-not-enreg[X] addr-exposed V02.key(offs=0x00) P-DEP "field V02.key (fldOffset=0x0)"
; V05 tmp2 [V05 ] ( 2, 8 ) ref -> [rbp-20H] do-not-enreg[X] addr-exposed V02.key(offs=0x00) P-DEP "field V02.key (fldOffset=0x0)"
; V06 tmp3 [V06 ] ( 1, 4 ) ref -> [rbp-18H] do-not-enreg[X] addr-exposed V02.value(offs=0x08) P-DEP "field V02.value (fldOffset=0x8)"
; V06 tmp3 [V06 ] ( 1, 4 ) ref -> [rbp-18H] do-not-enreg[X] addr-exposed V02.value(offs=0x08) P-DEP "field V02.value (fldOffset=0x8)"
Copier
Copié
Copier
Copié
; V07
tmp4 [V07,T02] ( 2, 4 ) ref -> rcx single-def "argument with side effect"
; V07
PSPSym [V0
7
] ( 1, 1 ) long -> [rbp-30H] do-not-enreg[X] addr-exposed "PSPSym"
; V08
PSPSym [V0
8
] ( 1, 1 ) long -> [rbp-30H] do-not-enreg[X] addr-exposed "PSPSym"
; V0
8
tmp
5
[V0
8
,T0
2
] ( 2, 2 ) ref -> rsi "optAddCopies"
; V0
9
tmp
6
[V0
9
,T0
3
] ( 2, 2 ) ref -> rsi "optAddCopies"
;
;
; Lcl frame size = 64
; Lcl frame size = 64
G_M53696_IG01:
G_M53696_IG01:
push rbp
push rbp
push rdi
push rdi
push rsi
push rsi
sub rsp, 64
sub rsp, 64
lea rbp, [rsp+50H]
lea rbp, [rsp+50H]
xor eax, eax
xor eax, eax
mov qword ptr [rbp-20H], rax
mov qword ptr [rbp-20H], rax
mov qword ptr [rbp-18H], rax
mov qword ptr [rbp-18H], rax
mov qword ptr [rbp-30H], rsp
mov qword ptr [rbp-30H], rsp
;; bbWeight=1 PerfScore 7.00
;; bbWeight=1 PerfScore 7.00
G_M53696_IG02:
G_M53696_IG02:
mov rcx, 0xD1FFAB1E
mov rcx, 0xD1FFAB1E
mov edx, 61
mov edx, 61
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov rcx, 0xD1FFAB1E
mov rcx, 0xD1FFAB1E
mov rcx, gword ptr [rcx]
mov rcx, gword ptr [rcx]
Copier
Copié
Copier
Copié
mov
r11, 0xD1FFAB1E
cmp
dword ptr [rcx], ecx
call [
IEnumerable
`1:
GetEnumerator():IEnumerator`1:this]
call [
ConditionalWeakTable`2:System.Collections.Generic.
IEnumerable
<System.Collections.Generic.KeyValuePair<TKey,TValue>>.
GetEnumerator():IEnumerator`1:this]
mov rsi, rax
mov rsi, rax
mov gword ptr [rbp-28H], rsi
mov gword ptr [rbp-28H], rsi
Copier
Copié
Copier
Copié
;; bbWeight=1 PerfScore
8.25
;; bbWeight=1 PerfScore
10.00
G_M53696_IG03:
G_M53696_IG03:
mov rcx, rsi
mov rcx, rsi
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [IEnumerator:MoveNext():bool:this]
call [IEnumerator:MoveNext():bool:this]
test eax, eax
test eax, eax
je SHORT G_M53696_IG05
je SHORT G_M53696_IG05
;; bbWeight=1 PerfScore 4.75
;; bbWeight=1 PerfScore 4.75
G_M53696_IG04:
G_M53696_IG04:
lea rdx, bword ptr [rbp-20H]
lea rdx, bword ptr [rbp-20H]
mov rcx, rsi
mov rcx, rsi
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [IEnumerator`1:get_Current():KeyValuePair`2:this]
call [IEnumerator`1:get_Current():KeyValuePair`2:this]
mov rdi, gword ptr [rbp-20H]
mov rdi, gword ptr [rbp-20H]
mov rcx, gword ptr [rdi+24]
mov rcx, gword ptr [rdi+24]
cmp dword ptr [rcx], ecx
cmp dword ptr [rcx], ecx
call [ConcurrentDictionary`2:Clear():this]
call [ConcurrentDictionary`2:Clear():this]
xor rcx, rcx
xor rcx, rcx
mov gword ptr [rdi+32], rcx
mov gword ptr [rdi+32], rcx
mov rcx, rsi
mov rcx, rsi
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [IEnumerator:MoveNext():bool:this]
call [IEnumerator:MoveNext():bool:this]
test eax, eax
test eax, eax
jne SHORT G_M53696_IG04
jne SHORT G_M53696_IG04
;; bbWeight=4 PerfScore 72.00
;; bbWeight=4 PerfScore 72.00
G_M53696_IG05:
G_M53696_IG05:
mov rcx, rsi
mov rcx, rsi
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [IDisposable:Dispose():this]
call [IDisposable:Dispose():this]
nop
nop
;; bbWeight=1 PerfScore 3.75
;; bbWeight=1 PerfScore 3.75
G_M53696_IG06:
G_M53696_IG06:
add rsp, 64
add rsp, 64
pop rsi
pop rsi
pop rdi
pop rdi
pop rbp
pop rbp
ret
ret
;; bbWeight=1 PerfScore 2.75
;; bbWeight=1 PerfScore 2.75
G_M53696_IG07:
G_M53696_IG07:
push rbp
push rbp
push rdi
push rdi
push rsi
push rsi
sub rsp, 48
sub rsp, 48
mov rbp, qword ptr [rcx+32]
mov rbp, qword ptr [rcx+32]
mov qword ptr [rsp+20H], rbp
mov qword ptr [rsp+20H], rbp
lea rbp, [rbp+50H]
lea rbp, [rbp+50H]
;; bbWeight=0 PerfScore 0.00
;; bbWeight=0 PerfScore 0.00
G_M53696_IG08:
G_M53696_IG08:
cmp gword ptr [rbp-28H], 0
cmp gword ptr [rbp-28H], 0
je SHORT G_M53696_IG09
je SHORT G_M53696_IG09
mov rcx, gword ptr [rbp-28H]
mov rcx, gword ptr [rbp-28H]
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [IDisposable:Dispose():this]
call [IDisposable:Dispose():this]
;; bbWeight=0 PerfScore 0.00
;; bbWeight=0 PerfScore 0.00
G_M53696_IG09:
G_M53696_IG09:
nop
nop
;; bbWeight=0 PerfScore 0.00
;; bbWeight=0 PerfScore 0.00
G_M53696_IG10:
G_M53696_IG10:
add rsp, 48
add rsp, 48
pop rsi
pop rsi
pop rdi
pop rdi
pop rbp
pop rbp
ret
ret
;; bbWeight=0 PerfScore 0.00
;; bbWeight=0 PerfScore 0.00
Copier
Copié
Copier
Copié
; Total bytes of code
257
, prolog size 26, PerfScore 12
4.20
, instruction count 65, allocated bytes for code
257
(MethodHash=ded42e3f) for method JsonSerializerOptionsUpdateHandler:ClearCache(ref)
; Total bytes of code
249
, prolog size 26, PerfScore 12
5.15
, instruction count 65, allocated bytes for code
249
(MethodHash=ded42e3f) for method JsonSerializerOptionsUpdateHandler:ClearCache(ref)
; ============================================================
; ============================================================
Différences enregistrées
Texte d'origine
Ouvrir un fichier
; Assembly listing for method JsonSerializerOptionsUpdateHandler:ClearCache(ref) ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def ; V01 loc0 [V01,T01] ( 7, 10 ) ref -> [rbp-28H] class-hnd EH-live single-def ; V02 loc1 [V02 ] ( 2, 8 ) struct (16) [rbp-20H] do-not-enreg[XSB] must-init addr-exposed ld-addr-op ; V03 OutArgs [V03 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V04 tmp1 [V04,T00] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" ; V05 tmp2 [V05 ] ( 2, 8 ) ref -> [rbp-20H] do-not-enreg[X] addr-exposed V02.key(offs=0x00) P-DEP "field V02.key (fldOffset=0x0)" ; V06 tmp3 [V06 ] ( 1, 4 ) ref -> [rbp-18H] do-not-enreg[X] addr-exposed V02.value(offs=0x08) P-DEP "field V02.value (fldOffset=0x8)" ; V07 tmp4 [V07,T02] ( 2, 4 ) ref -> rcx single-def "argument with side effect" ; V08 PSPSym [V08 ] ( 1, 1 ) long -> [rbp-30H] do-not-enreg[X] addr-exposed "PSPSym" ; V09 tmp6 [V09,T03] ( 2, 2 ) ref -> rsi "optAddCopies" ; ; Lcl frame size = 64 G_M53696_IG01: push rbp push rdi push rsi sub rsp, 64 lea rbp, [rsp+50H] xor eax, eax mov qword ptr [rbp-20H], rax mov qword ptr [rbp-18H], rax mov qword ptr [rbp-30H], rsp ;; bbWeight=1 PerfScore 7.00 G_M53696_IG02: mov rcx, 0xD1FFAB1E mov edx, 61 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov rcx, 0xD1FFAB1E mov rcx, gword ptr [rcx] mov r11, 0xD1FFAB1E call [IEnumerable`1:GetEnumerator():IEnumerator`1:this] mov rsi, rax mov gword ptr [rbp-28H], rsi ;; bbWeight=1 PerfScore 8.25 G_M53696_IG03: mov rcx, rsi mov r11, 0xD1FFAB1E call [IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M53696_IG05 ;; bbWeight=1 PerfScore 4.75 G_M53696_IG04: lea rdx, bword ptr [rbp-20H] mov rcx, rsi mov r11, 0xD1FFAB1E call [IEnumerator`1:get_Current():KeyValuePair`2:this] mov rdi, gword ptr [rbp-20H] mov rcx, gword ptr [rdi+24] cmp dword ptr [rcx], ecx call [ConcurrentDictionary`2:Clear():this] xor rcx, rcx mov gword ptr [rdi+32], rcx mov rcx, rsi mov r11, 0xD1FFAB1E call [IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M53696_IG04 ;; bbWeight=4 PerfScore 72.00 G_M53696_IG05: mov rcx, rsi mov r11, 0xD1FFAB1E call [IDisposable:Dispose():this] nop ;; bbWeight=1 PerfScore 3.75 G_M53696_IG06: add rsp, 64 pop rsi pop rdi pop rbp ret ;; bbWeight=1 PerfScore 2.75 G_M53696_IG07: push rbp push rdi push rsi sub rsp, 48 mov rbp, qword ptr [rcx+32] mov qword ptr [rsp+20H], rbp lea rbp, [rbp+50H] ;; bbWeight=0 PerfScore 0.00 G_M53696_IG08: cmp gword ptr [rbp-28H], 0 je SHORT G_M53696_IG09 mov rcx, gword ptr [rbp-28H] mov r11, 0xD1FFAB1E call [IDisposable:Dispose():this] ;; bbWeight=0 PerfScore 0.00 G_M53696_IG09: nop ;; bbWeight=0 PerfScore 0.00 G_M53696_IG10: add rsp, 48 pop rsi pop rdi pop rbp ret ;; bbWeight=0 PerfScore 0.00 ; Total bytes of code 257, prolog size 26, PerfScore 124.20, instruction count 65, allocated bytes for code 257 (MethodHash=ded42e3f) for method JsonSerializerOptionsUpdateHandler:ClearCache(ref) ; ============================================================
Texte modifié
Ouvrir un fichier
; Assembly listing for method JsonSerializerOptionsUpdateHandler:ClearCache(ref) ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def ; V01 loc0 [V01,T01] ( 7, 10 ) ref -> [rbp-28H] class-hnd EH-live single-def ; V02 loc1 [V02 ] ( 2, 8 ) struct (16) [rbp-20H] do-not-enreg[XSB] must-init addr-exposed ld-addr-op ; V03 OutArgs [V03 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V04 tmp1 [V04,T00] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" ; V05 tmp2 [V05 ] ( 2, 8 ) ref -> [rbp-20H] do-not-enreg[X] addr-exposed V02.key(offs=0x00) P-DEP "field V02.key (fldOffset=0x0)" ; V06 tmp3 [V06 ] ( 1, 4 ) ref -> [rbp-18H] do-not-enreg[X] addr-exposed V02.value(offs=0x08) P-DEP "field V02.value (fldOffset=0x8)" ; V07 PSPSym [V07 ] ( 1, 1 ) long -> [rbp-30H] do-not-enreg[X] addr-exposed "PSPSym" ; V08 tmp5 [V08,T02] ( 2, 2 ) ref -> rsi "optAddCopies" ; ; Lcl frame size = 64 G_M53696_IG01: push rbp push rdi push rsi sub rsp, 64 lea rbp, [rsp+50H] xor eax, eax mov qword ptr [rbp-20H], rax mov qword ptr [rbp-18H], rax mov qword ptr [rbp-30H], rsp ;; bbWeight=1 PerfScore 7.00 G_M53696_IG02: mov rcx, 0xD1FFAB1E mov edx, 61 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov rcx, 0xD1FFAB1E mov rcx, gword ptr [rcx] cmp dword ptr [rcx], ecx call [ConditionalWeakTable`2:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():IEnumerator`1:this] mov rsi, rax mov gword ptr [rbp-28H], rsi ;; bbWeight=1 PerfScore 10.00 G_M53696_IG03: mov rcx, rsi mov r11, 0xD1FFAB1E call [IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M53696_IG05 ;; bbWeight=1 PerfScore 4.75 G_M53696_IG04: lea rdx, bword ptr [rbp-20H] mov rcx, rsi mov r11, 0xD1FFAB1E call [IEnumerator`1:get_Current():KeyValuePair`2:this] mov rdi, gword ptr [rbp-20H] mov rcx, gword ptr [rdi+24] cmp dword ptr [rcx], ecx call [ConcurrentDictionary`2:Clear():this] xor rcx, rcx mov gword ptr [rdi+32], rcx mov rcx, rsi mov r11, 0xD1FFAB1E call [IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M53696_IG04 ;; bbWeight=4 PerfScore 72.00 G_M53696_IG05: mov rcx, rsi mov r11, 0xD1FFAB1E call [IDisposable:Dispose():this] nop ;; bbWeight=1 PerfScore 3.75 G_M53696_IG06: add rsp, 64 pop rsi pop rdi pop rbp ret ;; bbWeight=1 PerfScore 2.75 G_M53696_IG07: push rbp push rdi push rsi sub rsp, 48 mov rbp, qword ptr [rcx+32] mov qword ptr [rsp+20H], rbp lea rbp, [rbp+50H] ;; bbWeight=0 PerfScore 0.00 G_M53696_IG08: cmp gword ptr [rbp-28H], 0 je SHORT G_M53696_IG09 mov rcx, gword ptr [rbp-28H] mov r11, 0xD1FFAB1E call [IDisposable:Dispose():this] ;; bbWeight=0 PerfScore 0.00 G_M53696_IG09: nop ;; bbWeight=0 PerfScore 0.00 G_M53696_IG10: add rsp, 48 pop rsi pop rdi pop rbp ret ;; bbWeight=0 PerfScore 0.00 ; Total bytes of code 249, prolog size 26, PerfScore 125.15, instruction count 65, allocated bytes for code 249 (MethodHash=ded42e3f) for method JsonSerializerOptionsUpdateHandler:ClearCache(ref) ; ============================================================
Trouver la différence