Diff
checker
Texto
Texto
Imágenes
Documentos
Excel
Carpetas
Legal
Enterprise
Aplicación de escritorio
Precios
Iniciar sesión
Descargar Diffchecker Desktop
Comparar texto
Encuentra la diferencia entre dos archivos de texto
Herramientas
Historial
Visualización
Vista
Dividido
Unificado
Editor live
Ocultar espacios en blanco
Ocultar sin cambios
Sin ajuste de línea
Nivel de detalle
Inteligente
Sintaxis
Ninguno
Cambiar apariencia
Procesamiento
Ignorar
Transformar texto
Ir al primer cambio
Editar entrada
Diffchecker Desktop
La forma más segura de usar Diffchecker. ¡Obtén la app de Diffchecker Desktop: tus diffs nunca salen de tu computadora!
Obtener Desktop
Untitled Diff
Creado
hace 4 años
El diff nunca expira
Borrar
Exportar
Compartir
Explicar
89 eliminaciones
Líneas
Total
Eliminado
Caracteres
Total
Eliminado
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
79 líneas
Copiar todo
78 adiciones
Líneas
Total
Añadido
Caracteres
Total
Añadido
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
60 líneas
Copiar todo
; Assembly listing for method C:M2():System.String:this
; Assembly listing for method C:M2():System.String: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
; 1 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
; 1 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def
Copiar
Copiado
Copiar
Copiado
; V01 loc0 [V01 ] ( 3, 3 ) struct (48) [rsp+5
0
H] do-not-enreg[XS] must-init addr-exposed ld-addr-op
; V01 loc0 [V01 ] ( 3, 3 ) struct (48) [rsp+5
8
H] do-not-enreg[XS] must-init addr-exposed ld-addr-op
; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
Copiar
Copiado
Copiar
Copiado
; V03 tmp1 [V03
] (
4
,
8
) struct (48) [rsp+2
0
H] do-not-enreg[
X
SF] must-init
addr-
exposed
"NewObj constructor temp"
; V03 tmp1 [V03
,T00
] (
3
,
6
) struct (48) [rsp+2
8
H] do-not-enreg[
SF] must-init
ld-
addr-
op
"NewObj constructor temp"
;* V04 tmp2 [V04
] ( 0, 0 ) ref -> zero-ref class-hnd
"Inlining Arg"
;* V04 tmp2 [V04
,T04
] ( 0, 0 ) ref -> zero-ref class-hnd
single-def
"Inlining Arg"
;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref
"NewObj constructor temp"
;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref
ld-addr-op
"NewObj constructor temp"
; V06 tmp4 [V06,T0
0] ( 4, 6 ) ref -> rcx class-hnd single-def "Inlining Arg"
; V06 tmp4 [V06,T0
1
] ( 2, 4 ) ref -> rax class-hnd single-def "
impAppendStmt
"
;* V07 tmp5 [V07 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
; V0
7
tmp
5
[V0
7
,T0
2
] (
2
,
2
) byref -> r
c
x V05._
reference
(offs=0x00) P-INDEP "field V05._
reference
(fldOffset=0x0)"
; V08 tmp6 [V08,T02
] ( 2, 4 ) ref -> rax class-hnd single-def "
impSpillLclRefs
"
; V
08
tmp
6
[V
08
,T0
3
] (
2
,
2
) int ->
rax
V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)"
; V0
9
tmp
7
[V0
9
,T0
3
] (
3
,
1.50
) byref -> r
a
x V05._
pointer
(offs=0x00) P-INDEP "field V05._
pointer
(fldOffset=0x0)"
; V
10
tmp
8
[V
10
,T0
4
] (
3
,
1.50
) int ->
rsi
V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)"
; V11 tmp9 [V11,T05] ( 2, 1 ) byref -> rax single-def V07._value(offs=0x00) P-INDEP "field V07._value (fldOffset=0x0)"
; V12 tmp10 [V12,T01] ( 3, 6 ) byref -> rcx stack-byref single-def "BlockOp address local"
;
;
Copiar
Copiado
Copiar
Copiado
; Lcl frame size =
128
; Lcl frame size =
136
G_M38085_IG01:
G_M38085_IG01:
Copiar
Copiado
Copiar
Copiado
push rsi
sub rsp,
136
sub rsp,
128
vzeroupper
vzeroupper
Copiar
Copiado
Copiar
Copiado
xor eax, eax
mov qword ptr [rsp+28H], rax
vxorps xmm4, xmm4
vxorps xmm4, xmm4
Copiar
Copiado
Copiar
Copiado
mov rax, -96
vmovdqa xmmword ptr [rsp+30H], xmm4
vmovdqa xmmword ptr [rsp+
rax+8
0H], xmm4
vmovdqa xmmword ptr [rsp+
4
0H], xmm4
vmovdqa xmmword ptr [rsp+
rax+9
0H], xmm4
vmovdqa xmmword ptr [rsp+
5
0H], xmm4
vmovdqa xmmword ptr [rsp+
rax+A
0H], xmm4
vmovdqa xmmword ptr [rsp+
6
0H], xmm4
add rax, 48
vmovdqa xmmword ptr [rsp+70H], xmm4
jne
SHORT -5 instr
mov
qword ptr [rsp+80H], rax
;;
bbWeight=
0
PerfScore
0.00
;;
size=59
bbWeight=
1
PerfScore
13.83
G_M38085_IG02:
G_M38085_IG02:
Copiar
Copiado
Copiar
Copiado
mov
rcx, g
word ptr [rsp+
30H]
xor rcx, rcx
test rcx
, rcx
xor eax, eax
je
SHORT G_M38085_IG08
mov
b
word ptr [rsp+
48H]
, rcx
;;
bbWeight=1 PerfScore 2.
25
mov
dword ptr [rsp+50H], eax
;;
size=13
bbWeight=1 PerfScore 2.
50
G_M38085_IG03:
G_M38085_IG03:
Copiar
Copiado
Copiar
Copiado
lea
rax, b
word ptr [
rcx+16
]
vmovdqu ymm0, ymmword ptr[rsp+28H]
mov esi, d
word ptr [
rcx+8]
vmovdqu ymmword ptr[rsp+58H], ymm0
;;
bbWeight=
0.50
PerfScore
1.25
vmovdqu xmm0, xmm
word ptr [
rsp+48H
]
vmovdqu xmm
word ptr [
rsp+78H], xmm0
;;
size=24
bbWeight=
1
PerfScore
9.00
G_M38085_IG04:
G_M38085_IG04:
Copiar
Copiado
Copiar
Copiado
lea rcx,
bword ptr [rsp+40H]
lea rcx,
[rsp+78H]
mov bword ptr [rcx], rax
call
[
System.Span`1[
ushort
]:ToString():System.String:this
]
mov dword ptr [rcx+8], esi
xor ecx, ecx
mov dword ptr [rsp+38H], ecx
;; bbWeight=1 PerfScore 3.75
G_M38085_IG05:
vmovdqu ymm0, ymmword ptr[rsp+20H]
vmovdqu ymmword ptr[rsp+50H], ymm0
vmovdqu xmm0, xmmword ptr [rsp+40H]
vmovdqu xmmword ptr [rsp+70H], xmm0
;; bbWeight=1 PerfScore 9.00
G_M38085_IG06:
lea rcx, bword ptr [rsp+70H]
call
System.Span`1[
Char][System.Char
]:ToString():System.String:this
vxorps ymm0, ymm0
vxorps ymm0, ymm0
Copiar
Copiado
Copiar
Copiado
vmovdqu ymmword ptr[rsp+5
0
H], ymm0
vmovdqu ymmword ptr[rsp+5
8
H], ymm0
vmovdqu xmmword ptr [rsp+7
0
H], xmm0
vmovdqu xmmword ptr [rsp+7
8
H], xmm0
;;
bbWeight=1 PerfScore
3
.83
;;
size=27
bbWeight=1 PerfScore
5
.83
G_M38085_IG0
7
:
G_M38085_IG0
5
:
add rsp,
128
add rsp,
136
pop rsi
ret
ret
Copiar
Copiado
Copiar
Copiado
;;
bbWeight=1 PerfScore 1.
75
;;
size=8
bbWeight=1 PerfScore 1.
25
G_M38085_IG08:
xor rax, rax
xor esi, esi
jmp SHORT G_M38085_IG04
;; bbWeight=0 PerfScore 0.00
Copiar
Copiado
Copiar
Copiado
; Total bytes of code
157
, prolog size
58
, PerfScore
38.63
, instruction count
35
, allocated bytes for code
168
(MethodHash=fe286b3a) for method C:M2():System.String:this
; Total bytes of code
131
, prolog size
59
, PerfScore
46.82
, instruction count
26
, allocated bytes for code
144
(MethodHash=fe286b3a) for method C:M2():System.String:this
; ============================================================
; ============================================================
Diferencias guardadas
Texto original
Abrir archivo
; Assembly listing for method C:M2():System.String:this ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def ; V01 loc0 [V01 ] ( 3, 3 ) struct (48) [rsp+50H] do-not-enreg[XS] must-init addr-exposed ld-addr-op ; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V03 tmp1 [V03 ] ( 4, 8 ) struct (48) [rsp+20H] do-not-enreg[XSF] must-init addr-exposed "NewObj constructor temp" ;* V04 tmp2 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp" ; V06 tmp4 [V06,T00] ( 4, 6 ) ref -> rcx class-hnd single-def "Inlining Arg" ;* V07 tmp5 [V07 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp" ; V08 tmp6 [V08,T02] ( 2, 4 ) ref -> rax class-hnd single-def "impSpillLclRefs" ; V09 tmp7 [V09,T03] ( 3, 1.50) byref -> rax V05._pointer(offs=0x00) P-INDEP "field V05._pointer (fldOffset=0x0)" ; V10 tmp8 [V10,T04] ( 3, 1.50) int -> rsi V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)" ; V11 tmp9 [V11,T05] ( 2, 1 ) byref -> rax single-def V07._value(offs=0x00) P-INDEP "field V07._value (fldOffset=0x0)" ; V12 tmp10 [V12,T01] ( 3, 6 ) byref -> rcx stack-byref single-def "BlockOp address local" ; ; Lcl frame size = 128 G_M38085_IG01: push rsi sub rsp, 128 vzeroupper vxorps xmm4, xmm4 mov rax, -96 vmovdqa xmmword ptr [rsp+rax+80H], xmm4 vmovdqa xmmword ptr [rsp+rax+90H], xmm4 vmovdqa xmmword ptr [rsp+rax+A0H], xmm4 add rax, 48 jne SHORT -5 instr ;; bbWeight=0 PerfScore 0.00 G_M38085_IG02: mov rcx, gword ptr [rsp+30H] test rcx, rcx je SHORT G_M38085_IG08 ;; bbWeight=1 PerfScore 2.25 G_M38085_IG03: lea rax, bword ptr [rcx+16] mov esi, dword ptr [rcx+8] ;; bbWeight=0.50 PerfScore 1.25 G_M38085_IG04: lea rcx, bword ptr [rsp+40H] mov bword ptr [rcx], rax mov dword ptr [rcx+8], esi xor ecx, ecx mov dword ptr [rsp+38H], ecx ;; bbWeight=1 PerfScore 3.75 G_M38085_IG05: vmovdqu ymm0, ymmword ptr[rsp+20H] vmovdqu ymmword ptr[rsp+50H], ymm0 vmovdqu xmm0, xmmword ptr [rsp+40H] vmovdqu xmmword ptr [rsp+70H], xmm0 ;; bbWeight=1 PerfScore 9.00 G_M38085_IG06: lea rcx, bword ptr [rsp+70H] call System.Span`1[Char][System.Char]:ToString():System.String:this vxorps ymm0, ymm0 vmovdqu ymmword ptr[rsp+50H], ymm0 vmovdqu xmmword ptr [rsp+70H], xmm0 ;; bbWeight=1 PerfScore 3.83 G_M38085_IG07: add rsp, 128 pop rsi ret ;; bbWeight=1 PerfScore 1.75 G_M38085_IG08: xor rax, rax xor esi, esi jmp SHORT G_M38085_IG04 ;; bbWeight=0 PerfScore 0.00 ; Total bytes of code 157, prolog size 58, PerfScore 38.63, instruction count 35, allocated bytes for code 168 (MethodHash=fe286b3a) for method C:M2():System.String:this ; ============================================================
Texto modificado
Abrir archivo
; Assembly listing for method C:M2():System.String:this ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 1 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def ; V01 loc0 [V01 ] ( 3, 3 ) struct (48) [rsp+58H] do-not-enreg[XS] must-init addr-exposed ld-addr-op ; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V03 tmp1 [V03,T00] ( 3, 6 ) struct (48) [rsp+28H] do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" ;* V04 tmp2 [V04,T04] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" ; V06 tmp4 [V06,T01] ( 2, 4 ) ref -> rax class-hnd single-def "impAppendStmt" ; V07 tmp5 [V07,T02] ( 2, 2 ) byref -> rcx V05._reference(offs=0x00) P-INDEP "field V05._reference (fldOffset=0x0)" ; V08 tmp6 [V08,T03] ( 2, 2 ) int -> rax V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)" ; ; Lcl frame size = 136 G_M38085_IG01: sub rsp, 136 vzeroupper xor eax, eax mov qword ptr [rsp+28H], rax vxorps xmm4, xmm4 vmovdqa xmmword ptr [rsp+30H], xmm4 vmovdqa xmmword ptr [rsp+40H], xmm4 vmovdqa xmmword ptr [rsp+50H], xmm4 vmovdqa xmmword ptr [rsp+60H], xmm4 vmovdqa xmmword ptr [rsp+70H], xmm4 mov qword ptr [rsp+80H], rax ;; size=59 bbWeight=1 PerfScore 13.83 G_M38085_IG02: xor rcx, rcx xor eax, eax mov bword ptr [rsp+48H], rcx mov dword ptr [rsp+50H], eax ;; size=13 bbWeight=1 PerfScore 2.50 G_M38085_IG03: vmovdqu ymm0, ymmword ptr[rsp+28H] vmovdqu ymmword ptr[rsp+58H], ymm0 vmovdqu xmm0, xmmword ptr [rsp+48H] vmovdqu xmmword ptr [rsp+78H], xmm0 ;; size=24 bbWeight=1 PerfScore 9.00 G_M38085_IG04: lea rcx, [rsp+78H] call [System.Span`1[ushort]:ToString():System.String:this] vxorps ymm0, ymm0 vmovdqu ymmword ptr[rsp+58H], ymm0 vmovdqu xmmword ptr [rsp+78H], xmm0 ;; size=27 bbWeight=1 PerfScore 5.83 G_M38085_IG05: add rsp, 136 ret ;; size=8 bbWeight=1 PerfScore 1.25 ; Total bytes of code 131, prolog size 59, PerfScore 46.82, instruction count 26, allocated bytes for code 144 (MethodHash=fe286b3a) for method C:M2():System.String:this ; ============================================================
Encontrar la diferencia