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
Visualizzazione
Layout
Diviso
Unificato
Editor live
Nascondi spazi bianchi
Comprimi invariate
Senza a capo
Livello di dettaglio
Intelligente
Sintassi
Nessuno
Modifica aspetto
Elaborazione
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
4 anni fa
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
79 linee
Copia tutti
78 aggiunte
Linee
Totale
Aggiunto
Caratteri
Totale
Aggiunto
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
60 linee
Copia tutti
; 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
Copia
Copiato
Copia
Copiato
; 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"
Copia
Copiato
Copia
Copiato
; 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"
;
;
Copia
Copiato
Copia
Copiato
; Lcl frame size =
128
; Lcl frame size =
136
G_M38085_IG01:
G_M38085_IG01:
Copia
Copiato
Copia
Copiato
push rsi
sub rsp,
136
sub rsp,
128
vzeroupper
vzeroupper
Copia
Copiato
Copia
Copiato
xor eax, eax
mov qword ptr [rsp+28H], rax
vxorps xmm4, xmm4
vxorps xmm4, xmm4
Copia
Copiato
Copia
Copiato
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:
Copia
Copiato
Copia
Copiato
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:
Copia
Copiato
Copia
Copiato
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:
Copia
Copiato
Copia
Copiato
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
Copia
Copiato
Copia
Copiato
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
Copia
Copiato
Copia
Copiato
;;
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
Copia
Copiato
Copia
Copiato
; 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
; ============================================================
; ============================================================
Diff salvati
Testo originale
Apri file
; 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 ; ============================================================
Testo modificato
Apri file
; 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 ; ============================================================
Trovare la differenza