Diff
checker
Texto
Texto
Imagens
Documentos
Excel
Pastas
Legal
Enterprise
Aplicativo para desktop
Preços
Fazer login
Baixar o Diffchecker Desktop
Comparar texto
Encontre a diferença entre dois arquivos de texto
Ferramentas
Histórico
Editor live
Recolher inalteradas
Sem quebra de linha
Layout
Dividido
Unificado
Nível de detalhe
Inteligente
Palavra
Caractere
Realce de sintaxe
Escolher sintaxe
Ignorar
Transformar texto
Ir à primeira mudança
Editar entrada
Diffchecker Desktop
A maneira mais segura de usar o Diffchecker. Obtenha o aplicativo Diffchecker Desktop: seus diffs nunca saem do seu computador!
Obter Desktop
Untitled diff
Criado
ano passado
O diff nunca expira
Limpar
Exportar
Compartilhar
Explicar
89 remoções
Linhas
Total
Removido
Caracteres
Total
Removido
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
70 linhas
Copiar tudo
75 adições
Linhas
Total
Adicionado
Caracteres
Total
Adicionado
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
61 linhas
Copiar tudo
Copiar
Copiado
Copiar
Copiado
; 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
Copiar
Copiado
Copiar
Copiado
; 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
Copiar
Copiado
Copiar
Copiado
; with Synthesized PGO: fgCalledCount is
1.99
; with Synthesized PGO: fgCalledCount is
100
; Final local variable assignments
; Final local variable assignments
;
;
Copiar
Copiado
Copiar
Copiado
; 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"
;
;
Copiar
Copiado
Copiar
Copiado
; Lcl frame size =
4
0
; Lcl frame size =
0
G_M45663_IG01: ;; offset=0x0000
G_M45663_IG01: ;; offset=0x0000
Copiar
Copiado
Copiar
Copiado
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]
Copiar
Copiado
Copiar
Copiado
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
Copiar
Copiado
Copiar
Copiado
;; 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
Copiar
Copiado
Copiar
Copiado
;; 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
Copiar
Copiado
Copiar
Copiado
;; 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
Copiar
Copiado
Copiar
Copiado
;; 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
Copiar
Copiado
Copiar
Copiado
; 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
)
; ============================================================
; ============================================================
Diferenças salvas
Texto original
Abrir arquivo
; 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) ; ============================================================
Texto alterado
Abrir arquivo
; 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) ; ============================================================
Encontrar Diferença