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
4 anni fa
Il diff non scade mai
Eliminare
Esporta
Condividere
Spiegare
49 rimozioni
Linee
Totale
Rimosso
Caratteri
Totale
Rimosso
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
55 linee
Copia tutti
50 aggiunte
Linee
Totale
Aggiunto
Caratteri
Totale
Aggiunto
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
57 linee
Copia tutti
; Assembly listing for method Pa:IsAssignableTo():bool
; Assembly listing for method Pa:IsAssignableTo():bool
; 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
; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
Copia
Copiato
Copia
Copiato
; V00 TypeCtx [V00,T00] (
4
, 4
) long ->
rcx
single-def
; V00 TypeCtx [V00,T00] (
5
, 4
.50
) long ->
rsi
single-def
; V01 OutArgs [V01 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V01 OutArgs [V01 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
Copia
Copiato
Copia
Copiato
; V02 tmp1 [V02,T0
4
] ( 3, 2 ) bool -> rax "Inline return value spill temp"
; V02 tmp1 [V02,T0
2
] ( 3, 2 ) bool -> rax "Inline return value spill temp"
; V03 tmp2 [V03,T0
1
] (
3
,
5
) ref ->
rax
class-hnd
single-def "
Inlining Arg
"
; V03 tmp2 [V03,T0
3
] (
2
,
2
) ref ->
rdi
single-def "
argument with side effect
"
; V04 tmp3 [V04,T0
3
] ( 2,
3
) ref -> rd
i
class-hnd
single-def "
Inlining Arg
"
; V04 tmp3 [V04,T0
4
] ( 2,
2
) ref -> rd
x
single-def "
argument with side effect
"
; V05 cse0 [V05,T0
2
] ( 3,
3
)
long
-> r
s
i "CSE - aggressive"
; V05 cse0 [V05,T0
1
] ( 3,
2.50
)
ref
-> r
d
i "CSE - aggressive"
;
;
; Lcl frame size = 40
; Lcl frame size = 40
G_M15054_IG01: ;; offset=0000H
G_M15054_IG01: ;; offset=0000H
57 push rdi
57 push rdi
56 push rsi
56 push rsi
4883EC28 sub rsp, 40
4883EC28 sub rsp, 40
48894C2420 mov qword ptr [rsp+20H], rcx
48894C2420 mov qword ptr [rsp+20H], rcx
Copia
Copiato
Copia
Copiato
;; size=
11
bbWeight=1 PerfScore 3.
25
488BF1 mov rsi, rcx
G_M15054_IG02: ;; offset=000
B
H
;; size=
14
bbWeight=1 PerfScore 3.
50
488B
71
38 mov
rsi
, qword ptr [
rcx
+56]
G_M15054_IG02: ;; offset=000
E
H
488B
0E
mov rcx, qword ptr [
rsi
]
488B
4E
38 mov
rcx
, qword ptr [
rsi
+56]
E839FE4F5F
call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
488B
4908
mov rcx, qword ptr [
rcx+8
]
E8452B505F
call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
488BF8 mov rdi, rax
488BF8 mov rdi, rax
Copia
Copiato
Copia
Copiato
488B4E08 mov rcx, qword ptr [rsi+8]
4885
FF
test
rdi, rdi
E82DFE4F5F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
4885
C0
test
rax, rax
7504 jne SHORT G_M15054_IG04
7504 jne SHORT G_M15054_IG04
Copia
Copiato
Copia
Copiato
;; size=
29
bbWeight=1 PerfScore
9
.50
;; size=
21
bbWeight=1 PerfScore
6
.50
G_M15054_IG03: ;; offset=002
8
H
G_M15054_IG03: ;; offset=002
3
H
33C0 xor eax, eax
33C0 xor eax, eax
Copia
Copiato
Copia
Copiato
EB0C
jmp SHORT G_M15054_IG05
EB18
jmp SHORT G_M15054_IG05
;; size=4 bbWeight=0.50 PerfScore 1.12
;; size=4 bbWeight=0.50 PerfScore 1.12
Copia
Copiato
Copia
Copiato
G_M15054_IG04: ;; offset=002
C
H
G_M15054_IG04: ;; offset=002
7
H
488B
C8 mov rcx, rax
488B
4E38 mov rcx, qword ptr [rsi+56]
488BD
7
mov rdx,
rdi
488B09 mov rcx, qword ptr [rcx]
FF15
58
8BE5FF call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this]
E82D2B505F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
;; size=
12
bbWeight=0.50 PerfScore
1.75
488BD
0
mov rdx,
rax
G_M15054_IG05: ;; offset=003
8
H
488BCF mov rcx,
rdi
FF15
89
8BE5FF call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this]
;; size=
24
bbWeight=0.50 PerfScore
4.25
G_M15054_IG05: ;; offset=003
F
H
90 nop
90 nop
;; size=1 bbWeight=1 PerfScore 0.25
;; size=1 bbWeight=1 PerfScore 0.25
Copia
Copiato
Copia
Copiato
G_M15054_IG06: ;; offset=
0039H
G_M15054_IG06: ;; offset=
0040H
4883C428 add rsp, 40
4883C428 add rsp, 40
5E pop rsi
5E pop rsi
5F pop rdi
5F pop rdi
C3 ret
C3 ret
;; size=7 bbWeight=1 PerfScore 2.25
;; size=7 bbWeight=1 PerfScore 2.25
Copia
Copiato
Copia
Copiato
; Total bytes of code
64
, prolog size 11, PerfScore 24.
53
, instruction count
22
, allocated bytes for code
64
(MethodHash=e866c531) for method Pa:IsAssignableTo():bool
; Total bytes of code
71
, prolog size 11, PerfScore 24.
98
, instruction count
24
, allocated bytes for code
71
(MethodHash=e866c531) for method Pa:IsAssignableTo():bool
; ============================================================
; ============================================================
Diff salvati
Testo originale
Apri file
; Assembly listing for method Pa:IsAssignableTo():bool ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 TypeCtx [V00,T00] ( 4, 4 ) long -> rcx single-def ; V01 OutArgs [V01 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V02 tmp1 [V02,T04] ( 3, 2 ) bool -> rax "Inline return value spill temp" ; V03 tmp2 [V03,T01] ( 3, 5 ) ref -> rax class-hnd single-def "Inlining Arg" ; V04 tmp3 [V04,T03] ( 2, 3 ) ref -> rdi class-hnd single-def "Inlining Arg" ; V05 cse0 [V05,T02] ( 3, 3 ) long -> rsi "CSE - aggressive" ; ; Lcl frame size = 40 G_M15054_IG01: ;; offset=0000H 57 push rdi 56 push rsi 4883EC28 sub rsp, 40 48894C2420 mov qword ptr [rsp+20H], rcx ;; size=11 bbWeight=1 PerfScore 3.25 G_M15054_IG02: ;; offset=000BH 488B7138 mov rsi, qword ptr [rcx+56] 488B0E mov rcx, qword ptr [rsi] E839FE4F5F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE 488BF8 mov rdi, rax 488B4E08 mov rcx, qword ptr [rsi+8] E82DFE4F5F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE 4885C0 test rax, rax 7504 jne SHORT G_M15054_IG04 ;; size=29 bbWeight=1 PerfScore 9.50 G_M15054_IG03: ;; offset=0028H 33C0 xor eax, eax EB0C jmp SHORT G_M15054_IG05 ;; size=4 bbWeight=0.50 PerfScore 1.12 G_M15054_IG04: ;; offset=002CH 488BC8 mov rcx, rax 488BD7 mov rdx, rdi FF15588BE5FF call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this] ;; size=12 bbWeight=0.50 PerfScore 1.75 G_M15054_IG05: ;; offset=0038H 90 nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M15054_IG06: ;; offset=0039H 4883C428 add rsp, 40 5E pop rsi 5F pop rdi C3 ret ;; size=7 bbWeight=1 PerfScore 2.25 ; Total bytes of code 64, prolog size 11, PerfScore 24.53, instruction count 22, allocated bytes for code 64 (MethodHash=e866c531) for method Pa:IsAssignableTo():bool ; ============================================================
Testo modificato
Apri file
; Assembly listing for method Pa:IsAssignableTo():bool ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 TypeCtx [V00,T00] ( 5, 4.50) long -> rsi single-def ; V01 OutArgs [V01 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V02 tmp1 [V02,T02] ( 3, 2 ) bool -> rax "Inline return value spill temp" ; V03 tmp2 [V03,T03] ( 2, 2 ) ref -> rdi single-def "argument with side effect" ; V04 tmp3 [V04,T04] ( 2, 2 ) ref -> rdx single-def "argument with side effect" ; V05 cse0 [V05,T01] ( 3, 2.50) ref -> rdi "CSE - aggressive" ; ; Lcl frame size = 40 G_M15054_IG01: ;; offset=0000H 57 push rdi 56 push rsi 4883EC28 sub rsp, 40 48894C2420 mov qword ptr [rsp+20H], rcx 488BF1 mov rsi, rcx ;; size=14 bbWeight=1 PerfScore 3.50 G_M15054_IG02: ;; offset=000EH 488B4E38 mov rcx, qword ptr [rsi+56] 488B4908 mov rcx, qword ptr [rcx+8] E8452B505F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE 488BF8 mov rdi, rax 4885FF test rdi, rdi 7504 jne SHORT G_M15054_IG04 ;; size=21 bbWeight=1 PerfScore 6.50 G_M15054_IG03: ;; offset=0023H 33C0 xor eax, eax EB18 jmp SHORT G_M15054_IG05 ;; size=4 bbWeight=0.50 PerfScore 1.12 G_M15054_IG04: ;; offset=0027H 488B4E38 mov rcx, qword ptr [rsi+56] 488B09 mov rcx, qword ptr [rcx] E82D2B505F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE 488BD0 mov rdx, rax 488BCF mov rcx, rdi FF15898BE5FF call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this] ;; size=24 bbWeight=0.50 PerfScore 4.25 G_M15054_IG05: ;; offset=003FH 90 nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M15054_IG06: ;; offset=0040H 4883C428 add rsp, 40 5E pop rsi 5F pop rdi C3 ret ;; size=7 bbWeight=1 PerfScore 2.25 ; Total bytes of code 71, prolog size 11, PerfScore 24.98, instruction count 24, allocated bytes for code 71 (MethodHash=e866c531) for method Pa:IsAssignableTo():bool ; ============================================================
Trovare la differenza