Diff
checker
Testo
Testo
Immagini
Documenti
Excel
Cartelle
Legal
Enterprise
Applicazione per desktop
Prezzi
Accedi
Scarica Diffchecker Desktop
Confronta il testo
Trova la differenza tra due file di testo
Strumenti
Cronologia
Editor live
Comprimi invariate
Senza a capo
Layout
Diviso
Unificato
Livello di dettaglio
Intelligente
Parola
Carattere
Evidenziazione sintassi
Scegli sintassi
Ignora
Trasforma testo
Vai alla prima modifica
Modifica input
Diffchecker Desktop
Il modo più sicuro per usare Diffchecker. Ottieni l'app Diffchecker Desktop: i tuoi diff non lasciano mai il tuo computer!
Ottieni Desktop
Untitled diff
Creato
anno scorso
Il diff non scade mai
Eliminare
Esporta
Condividere
Spiegare
89 rimozioni
Linee
Totale
Rimosso
Caratteri
Totale
Rimosso
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
70 linee
Copia tutti
75 aggiunte
Linee
Totale
Aggiunto
Caratteri
Totale
Aggiunto
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
61 linee
Copia tutti
Copia
Copiato
Copia
Copiato
; Assembly listing for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1
-OSR
)
; Assembly listing for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1
)
; Emitting BLENDED_CODE for X64 with AVX512 - Windows
; Emitting BLENDED_CODE for X64 with AVX512 - Windows
Copia
Copiato
Copia
Copiato
; Tier1
-OSR
code
; Tier1
code
; OSR variant for entry point 0x1c
; optimized code
; optimized code
; optimized using Synthesized PGO
; optimized using Synthesized PGO
; rsp based frame
; rsp based frame
; fully interruptible
; fully interruptible
Copia
Copiato
Copia
Copiato
; with Synthesized PGO: fgCalledCount is
1.99
; with Synthesized PGO: fgCalledCount is
100
; Final local variable assignments
; Final local variable assignments
;
;
Copia
Copiato
Copia
Copiato
; V00 arg0 [V00,T0
4
] ( 4,
94.03
) ref -> rcx class-hnd single-def <ubyte[]>
; V00 arg0 [V00,T0
2
] ( 4,
75.82
) ref -> rcx class-hnd single-def <ubyte[]>
; V01 arg1 [V01,T0
2
] ( 4,
184.06
) ref -> r
a
x class-hnd single-def <ubyte[]>
; V01 arg1 [V01,T0
3
] ( 4,
75.82
) ref -> r
d
x class-hnd single-def <ubyte[]>
; V02 loc0 [V02,T00] (
7,545.80
) int ->
rdx
; V02 loc0 [V02,T00] (
5,291.00
) int ->
r8
;
V03 OutArgs [V03 ] ( 1, 1 ) struct (
32
) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <
UNNAMED
>
;
#
V03 OutArgs [V03 ] ( 1, 1 ) struct (
0
) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <
Empty
>
; V04 cse0 [V04,T0
3
] ( 4,
183.60
) int ->
r8
"CSE #01: aggressive"
; V04 cse0 [V04,T0
4
] ( 4,
75.26
) int ->
rax
"CSE #01: aggressive"
; V05 cse1 [V05,
T01] ( 3,
273.08
) long -> r10 "CSE #02: aggressive"
; V05 cse1 [V05,
T05] ( 2, 2 ) int -> r8 "CSE #03: aggressive"
; V06 cse2 [V06,
T01] ( 3,
218.47
) long -> r10 "CSE #02: aggressive"
;* V07 cse3 [V07,T06] ( 0, 0 ) long -> zero-ref "CSE #04: aggressive"
;
;
Copia
Copiato
Copia
Copiato
; Lcl frame size =
4
0
; Lcl frame size =
0
G_M45663_IG01: ;; offset=0x0000
G_M45663_IG01: ;; offset=0x0000
Copia
Copiato
Copia
Copiato
sub rsp, 40
;; size=
0
bbWeight=1 PerfScore
0.00
mov rcx, gword ptr [rsp+0xB0]
G_M45663_IG02: ;; offset=
0x0000
mov rax, gword ptr [rsp+0xB8]
mov eax, dword ptr [rcx+0x08]
mov edx, dword ptr [rsp+0x64]
mov r8d, dword ptr [r
d
x+0x08]
;; size=
24
bbWeight=1 PerfScore
6.25
cmp
eax,
r8d
G_M45663_IG02: ;; offset=
0x0018
j
n
e SHORT G_M45663_IG0
8
mov r8d, dword ptr [r
c
x+0x08]
;; size=
12
bbWeight=1 PerfScore
5
.25
cmp
r8d
, edx
G_M45663_IG03: ;; offset=0x00
0C
j
l
e SHORT G_M45663_IG0
5
xor
r8d
, r8d
align [0 bytes for IG03]
test eax, eax
;; size=
9
bbWeight=1 PerfScore
3
.25
jle
SHORT G_M45663_IG0
6
G_M45663_IG03: ;; offset=0x00
21
align [13 bytes for IG04]
cmp
edx
, r8d
;; size=20 bbWeight=0.80 PerfScore 1.40
jae
SHORT G_M45663_IG0
9
G_M45663_IG04: ;; offset=0x0020
mov r10d,
edx
mov r10d,
r8d
movzx r9, byte ptr [rcx+r10+0x10]
movzx r9, byte ptr [rcx+r10+0x10]
Copia
Copiato
Copia
Copiato
cmp edx, dword ptr [rax+0x08]
cmp r9b, byte ptr [r
d
x+r10+0x10]
jae SHORT G_M45663_IG09
jne SHORT G_M45663_IG0
8
cmp r9b, byte ptr [r
a
x+r10+0x10]
;; size=
16
bbWeight=
72.82
PerfScore
455.14
jne SHORT G_M45663_IG0
7
G_M45663_IG0
5
: ;; offset=0x003
0
;; size=
26
bbWeight=
91.03
PerfScore
1046.82
inc
r8d
G_M45663_IG0
4
: ;; offset=0x003
B
cmp
eax,
r8d
inc
edx
jg SHORT G_M45663_IG0
4
cmp
r8d
, edx
;; size=
8
bbWeight=
72.46
PerfScore
108.69
jg SHORT G_M45663_IG0
3
G_M45663_IG0
6
: ;; offset=0x00
38
;; size=
7
bbWeight=
90.57
PerfScore
135.86
G_M45663_IG0
5
: ;; offset=0x00
42
mov eax, 1
mov eax, 1
Copia
Copiato
Copia
Copiato
;; size=5 bbWeight=0.
54
PerfScore 0.
14
;; size=5 bbWeight=0.
44
PerfScore 0.
11
G_M45663_IG0
6
: ;; offset=0x00
47
G_M45663_IG0
7
: ;; offset=0x00
3D
add rsp, 160
pop rbp
ret
ret
Copia
Copiato
Copia
Copiato
;; size=
9
bbWeight=0.
54
PerfScore 0.
95
;; size=
1
bbWeight=0.
44
PerfScore 0.
44
G_M45663_IG0
7
: ;; offset=0x00
50
G_M45663_IG0
8
: ;; offset=0x00
3E
xor eax, eax
xor eax, eax
Copia
Copiato
Copia
Copiato
;; size=2 bbWeight=0.
46
PerfScore 0.
11
;; size=2 bbWeight=0.
56
PerfScore 0.
14
G_M45663_IG0
8
: ;; offset=
0x0052
G_M45663_IG0
9
: ;; offset=
0x0040
add rsp, 160
pop rbp
ret
ret
Copia
Copiato
Copia
Copiato
;; size=
9
bbWeight=0.
46
PerfScore 0.
80
;; size=
1
bbWeight=0.
56
PerfScore 0.
56
G_M45663_IG09: ;; offset=0x005B
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
Copia
Copiato
Copia
Copiato
; Total bytes of code
97
, prolog size
24
, PerfScore
1194.18
, instruction count
29
, allocated bytes for code
97
(MethodHash=5b564da0) for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1
-OSR
)
; Total bytes of code
65
, prolog size
0
, PerfScore
571.73
, instruction count
19
, allocated bytes for code
65
(MethodHash=5b564da0) for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1
)
; ============================================================
; ============================================================
Diff salvati
Testo originale
Apri file
; Assembly listing for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1-OSR) ; Emitting BLENDED_CODE for X64 with AVX512 - Windows ; Tier1-OSR code ; OSR variant for entry point 0x1c ; optimized code ; optimized using Synthesized PGO ; rsp based frame ; fully interruptible ; with Synthesized PGO: fgCalledCount is 1.99 ; Final local variable assignments ; ; V00 arg0 [V00,T04] ( 4, 94.03) ref -> rcx class-hnd single-def <ubyte[]> ; V01 arg1 [V01,T02] ( 4,184.06) ref -> rax class-hnd single-def <ubyte[]> ; V02 loc0 [V02,T00] ( 7,545.80) int -> rdx ; V03 OutArgs [V03 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED> ; V04 cse0 [V04,T03] ( 4,183.60) int -> r8 "CSE #01: aggressive" ; V05 cse1 [V05,T01] ( 3,273.08) long -> r10 "CSE #02: aggressive" ; ; Lcl frame size = 40 G_M45663_IG01: ;; offset=0x0000 sub rsp, 40 mov rcx, gword ptr [rsp+0xB0] mov rax, gword ptr [rsp+0xB8] mov edx, dword ptr [rsp+0x64] ;; size=24 bbWeight=1 PerfScore 6.25 G_M45663_IG02: ;; offset=0x0018 mov r8d, dword ptr [rcx+0x08] cmp r8d, edx jle SHORT G_M45663_IG05 align [0 bytes for IG03] ;; size=9 bbWeight=1 PerfScore 3.25 G_M45663_IG03: ;; offset=0x0021 cmp edx, r8d jae SHORT G_M45663_IG09 mov r10d, edx movzx r9, byte ptr [rcx+r10+0x10] cmp edx, dword ptr [rax+0x08] jae SHORT G_M45663_IG09 cmp r9b, byte ptr [rax+r10+0x10] jne SHORT G_M45663_IG07 ;; size=26 bbWeight=91.03 PerfScore 1046.82 G_M45663_IG04: ;; offset=0x003B inc edx cmp r8d, edx jg SHORT G_M45663_IG03 ;; size=7 bbWeight=90.57 PerfScore 135.86 G_M45663_IG05: ;; offset=0x0042 mov eax, 1 ;; size=5 bbWeight=0.54 PerfScore 0.14 G_M45663_IG06: ;; offset=0x0047 add rsp, 160 pop rbp ret ;; size=9 bbWeight=0.54 PerfScore 0.95 G_M45663_IG07: ;; offset=0x0050 xor eax, eax ;; size=2 bbWeight=0.46 PerfScore 0.11 G_M45663_IG08: ;; offset=0x0052 add rsp, 160 pop rbp ret ;; size=9 bbWeight=0.46 PerfScore 0.80 G_M45663_IG09: ;; offset=0x005B call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 ; Total bytes of code 97, prolog size 24, PerfScore 1194.18, instruction count 29, allocated bytes for code 97 (MethodHash=5b564da0) for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1-OSR) ; ============================================================
Testo modificato
Apri file
; Assembly listing for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1) ; Emitting BLENDED_CODE for X64 with AVX512 - Windows ; Tier1 code ; optimized code ; optimized using Synthesized PGO ; rsp based frame ; fully interruptible ; with Synthesized PGO: fgCalledCount is 100 ; Final local variable assignments ; ; V00 arg0 [V00,T02] ( 4, 75.82) ref -> rcx class-hnd single-def <ubyte[]> ; V01 arg1 [V01,T03] ( 4, 75.82) ref -> rdx class-hnd single-def <ubyte[]> ; V02 loc0 [V02,T00] ( 5,291.00) int -> r8 ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty> ; V04 cse0 [V04,T04] ( 4, 75.26) int -> rax "CSE #01: aggressive" ; V05 cse1 [V05,T05] ( 2, 2 ) int -> r8 "CSE #03: aggressive" ; V06 cse2 [V06,T01] ( 3,218.47) long -> r10 "CSE #02: aggressive" ;* V07 cse3 [V07,T06] ( 0, 0 ) long -> zero-ref "CSE #04: aggressive" ; ; Lcl frame size = 0 G_M45663_IG01: ;; offset=0x0000 ;; size=0 bbWeight=1 PerfScore 0.00 G_M45663_IG02: ;; offset=0x0000 mov eax, dword ptr [rcx+0x08] mov r8d, dword ptr [rdx+0x08] cmp eax, r8d jne SHORT G_M45663_IG08 ;; size=12 bbWeight=1 PerfScore 5.25 G_M45663_IG03: ;; offset=0x000C xor r8d, r8d test eax, eax jle SHORT G_M45663_IG06 align [13 bytes for IG04] ;; size=20 bbWeight=0.80 PerfScore 1.40 G_M45663_IG04: ;; offset=0x0020 mov r10d, r8d movzx r9, byte ptr [rcx+r10+0x10] cmp r9b, byte ptr [rdx+r10+0x10] jne SHORT G_M45663_IG08 ;; size=16 bbWeight=72.82 PerfScore 455.14 G_M45663_IG05: ;; offset=0x0030 inc r8d cmp eax, r8d jg SHORT G_M45663_IG04 ;; size=8 bbWeight=72.46 PerfScore 108.69 G_M45663_IG06: ;; offset=0x0038 mov eax, 1 ;; size=5 bbWeight=0.44 PerfScore 0.11 G_M45663_IG07: ;; offset=0x003D ret ;; size=1 bbWeight=0.44 PerfScore 0.44 G_M45663_IG08: ;; offset=0x003E xor eax, eax ;; size=2 bbWeight=0.56 PerfScore 0.14 G_M45663_IG09: ;; offset=0x0040 ret ;; size=1 bbWeight=0.56 PerfScore 0.56 ; Total bytes of code 65, prolog size 0, PerfScore 571.73, instruction count 19, allocated bytes for code 65 (MethodHash=5b564da0) for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1) ; ============================================================
Trovare la differenza