Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Masquer les espaces
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Styles de texte
Modifier l’apparence
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
Untitled Diff
Créé
il y a 5 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
19 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
82 lignes
Copier tout
23 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
85 lignes
Copier tout
; Assembly listing for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int
; Assembly listing for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int
; Emitting BLENDED_CODE for generic ARM64 CPU - Unix
; Emitting BLENDED_CODE for generic ARM64 CPU - Unix
; optimized code
; optimized code
; fp based frame
; fp based frame
; fully interruptible
; fully interruptible
; No matching PGO data
; No matching PGO data
; Final local variable assignments
; Final local variable assignments
;
;
Copier
Copié
Copier
Copié
; V00 arg0 [V00,T02] ( 5,
7.50
) ref -> x0 class-hnd single-def
; V00 arg0 [V00,T02] ( 5,
4
) ref -> x0 class-hnd single-def
; V01 loc0 [V01,T01] ( 4, 10 ) int -> x1
; V01 loc0 [V01,T01] ( 4, 10 ) int -> x1
; V02 loc1 [V02,T00] ( 5, 16.50) int -> x2
; V02 loc1 [V02,T00] ( 5, 16.50) int -> x2
;# V03 OutArgs [V03 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
;# V03 OutArgs [V03 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
Copier
Copié
Copier
Copié
; V04 cse0 [V04,T0
4
] ( 2, 4.50) int -> x4 "CSE - aggressive"
; V04 cse0 [V04,T0
5
] ( 2, 4.50) int -> x4 "CSE - aggressive"
; V05 cse1 [V05,T03] ( 3, 5 ) int -> x3 "CSE - aggressive"
; V05 cse1 [V05,T03] ( 3, 5 ) int -> x3 "CSE - aggressive"
Copier
Copié
Copier
Copié
; V06 cse2 [V06,T04] ( 2, 4.50) byref -> x0 "CSE - aggressive"
;
;
; Lcl frame size = 0
; Lcl frame size = 0
G_M61339_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
G_M61339_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp,#-16]!
stp fp, lr, [sp,#-16]!
mov fp, sp
mov fp, sp
;; bbWeight=1 PerfScore 1.50
;; bbWeight=1 PerfScore 1.50
G_M61339_IG02: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
G_M61339_IG02: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[x0]
; gcrRegs +[x0]
movz w1, #0xd1ffab1e
movz w1, #0xd1ffab1e
movk w1, #0xd1ffab1e LSL #16
movk w1, #0xd1ffab1e LSL #16
cbz x0, G_M61339_IG05
cbz x0, G_M61339_IG05
;; bbWeight=1 PerfScore 2.00
;; bbWeight=1 PerfScore 2.00
Copier
Copié
Copier
Copié
G_M61339_IG03: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
G_M61339_IG03: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
, align
mov w2, wzr
mov w2, wzr
ldr w3, [x0,#8]
ldr w3, [x0,#8]
cmp w3, #0
cmp w3, #0
ble G_M61339_IG05
ble G_M61339_IG05
Copier
Copié
Copier
Copié
add x0, x0, #12
; gcrRegs -[x0]
; byrRegs +[x0]
movz w4, #0xd1ffab1e
movz w4, #0xd1ffab1e
movk w4, #0xd1ffab1e LSL #16
movk w4, #0xd1ffab1e LSL #16
Copier
Copié
Copier
Copié
align [
0
bytes]
align [
4
bytes]
align [
0
bytes]
align [
4
bytes]
align [
0
bytes]
align [
4
bytes]
align [
0
bytes]
align [
4
bytes]
;; bbWeight=0.50 PerfScore
3.00
;; bbWeight=0.50 PerfScore
4.25
G_M61339_IG04: ; gcrefRegs=000
1 {x0
}, byrefRegs=000
0 {
}, loop=IG04, byref, isz
G_M61339_IG04: ; gcrefRegs=000
0 {
}, byrefRegs=000
1 {x0
}, loop=IG04, byref, isz
ubfiz x5, x2, #1, #32
ubfiz x5, x2, #1, #32
Copier
Copié
Copier
Copié
add x5, x5, #12
ldrh w5, [x0, x5]
ldrh w5, [x0, x5]
eor w1, w5, w1
eor w1, w5, w1
mul w1, w1, w4
mul w1, w1, w4
add w2, w2, #1
add w2, w2, #1
cmp w3, w2
cmp w3, w2
bgt G_M61339_IG04
bgt G_M61339_IG04
Copier
Copié
Copier
Copié
;; bbWeight=4 PerfScore
36
.00
;; bbWeight=4 PerfScore
34
.00
G_M61339_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M61339_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
Copier
Copié
Copier
Copié
;
gc
rRegs -[x0]
;
by
rRegs -[x0]
mov w0, w1
mov w0, w1
;; bbWeight=1 PerfScore 0.50
;; bbWeight=1 PerfScore 0.50
G_M61339_IG06: ; , epilog, nogc, extend
G_M61339_IG06: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ldp fp, lr, [sp],#16
ret lr
ret lr
;; bbWeight=1 PerfScore 2.00
;; bbWeight=1 PerfScore 2.00
Copier
Copié
Copier
Copié
; Total bytes of code
88
, prolog size 8, PerfScore
53.80
, instruction count 26, allocated bytes for code
88
(MethodHash=d7591064) for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int
; Total bytes of code
104
, prolog size 8, PerfScore
54.65
, instruction count 26, allocated bytes for code
104
(MethodHash=d7591064) for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int
; ============================================================
; ============================================================
Unwind Info:
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
Code Words : 1
Code Words : 1
Epilog Count : 1
Epilog Count : 1
E bit : 0
E bit : 0
X bit : 0
X bit : 0
Vers : 0
Vers : 0
Copier
Copié
Copier
Copié
Function Length :
22
(0x0001
6
) Actual length =
88
(0x0000
5
8)
Function Length :
26
(0x0001
a
) Actual length =
104
(0x0000
6
8)
---- Epilog scopes ----
---- Epilog scopes ----
---- Scope 0
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Epilog Start Index : 1 (0x01)
Epilog Start Index : 1 (0x01)
---- Unwind codes ----
---- Unwind codes ----
E1 set_fp; mov fp, sp
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
---- Epilog start at index 1 ----
81 save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
81 save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
E4 end
E4 end
E4 end
E4 end
Différences enregistrées
Texte d'origine
Ouvrir un fichier
; Assembly listing for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int ; Emitting BLENDED_CODE for generic ARM64 CPU - Unix ; optimized code ; fp based frame ; fully interruptible ; No matching PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T02] ( 5, 7.50) ref -> x0 class-hnd single-def ; V01 loc0 [V01,T01] ( 4, 10 ) int -> x1 ; V02 loc1 [V02,T00] ( 5, 16.50) int -> x2 ;# V03 OutArgs [V03 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V04 cse0 [V04,T04] ( 2, 4.50) int -> x4 "CSE - aggressive" ; V05 cse1 [V05,T03] ( 3, 5 ) int -> x3 "CSE - aggressive" ; ; Lcl frame size = 0 G_M61339_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-16]! mov fp, sp ;; bbWeight=1 PerfScore 1.50 G_M61339_IG02: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x0] movz w1, #0xd1ffab1e movk w1, #0xd1ffab1e LSL #16 cbz x0, G_M61339_IG05 ;; bbWeight=1 PerfScore 2.00 G_M61339_IG03: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz mov w2, wzr ldr w3, [x0,#8] cmp w3, #0 ble G_M61339_IG05 movz w4, #0xd1ffab1e movk w4, #0xd1ffab1e LSL #16 align [0 bytes] align [0 bytes] align [0 bytes] align [0 bytes] ;; bbWeight=0.50 PerfScore 3.00 G_M61339_IG04: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, loop=IG04, byref, isz ubfiz x5, x2, #1, #32 add x5, x5, #12 ldrh w5, [x0, x5] eor w1, w5, w1 mul w1, w1, w4 add w2, w2, #1 cmp w3, w2 bgt G_M61339_IG04 ;; bbWeight=4 PerfScore 36.00 G_M61339_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x0] mov w0, w1 ;; bbWeight=1 PerfScore 0.50 G_M61339_IG06: ; , epilog, nogc, extend ldp fp, lr, [sp],#16 ret lr ;; bbWeight=1 PerfScore 2.00 ; Total bytes of code 88, prolog size 8, PerfScore 53.80, instruction count 26, allocated bytes for code 88 (MethodHash=d7591064) for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Code Words : 1 Epilog Count : 1 E bit : 0 X bit : 0 Vers : 0 Function Length : 22 (0x00016) Actual length = 88 (0x000058) ---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Epilog Start Index : 1 (0x01) ---- Unwind codes ---- E1 set_fp; mov fp, sp ---- Epilog start at index 1 ---- 81 save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]! E4 end E4 end
Texte modifié
Ouvrir un fichier
; Assembly listing for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int ; Emitting BLENDED_CODE for generic ARM64 CPU - Unix ; optimized code ; fp based frame ; fully interruptible ; No matching PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T02] ( 5, 4 ) ref -> x0 class-hnd single-def ; V01 loc0 [V01,T01] ( 4, 10 ) int -> x1 ; V02 loc1 [V02,T00] ( 5, 16.50) int -> x2 ;# V03 OutArgs [V03 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V04 cse0 [V04,T05] ( 2, 4.50) int -> x4 "CSE - aggressive" ; V05 cse1 [V05,T03] ( 3, 5 ) int -> x3 "CSE - aggressive" ; V06 cse2 [V06,T04] ( 2, 4.50) byref -> x0 "CSE - aggressive" ; ; Lcl frame size = 0 G_M61339_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-16]! mov fp, sp ;; bbWeight=1 PerfScore 1.50 G_M61339_IG02: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x0] movz w1, #0xd1ffab1e movk w1, #0xd1ffab1e LSL #16 cbz x0, G_M61339_IG05 ;; bbWeight=1 PerfScore 2.00 G_M61339_IG03: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz, align mov w2, wzr ldr w3, [x0,#8] cmp w3, #0 ble G_M61339_IG05 add x0, x0, #12 ; gcrRegs -[x0] ; byrRegs +[x0] movz w4, #0xd1ffab1e movk w4, #0xd1ffab1e LSL #16 align [4 bytes] align [4 bytes] align [4 bytes] align [4 bytes] ;; bbWeight=0.50 PerfScore 4.25 G_M61339_IG04: ; gcrefRegs=0000 {}, byrefRegs=0001 {x0}, loop=IG04, byref, isz ubfiz x5, x2, #1, #32 ldrh w5, [x0, x5] eor w1, w5, w1 mul w1, w1, w4 add w2, w2, #1 cmp w3, w2 bgt G_M61339_IG04 ;; bbWeight=4 PerfScore 34.00 G_M61339_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; byrRegs -[x0] mov w0, w1 ;; bbWeight=1 PerfScore 0.50 G_M61339_IG06: ; , epilog, nogc, extend ldp fp, lr, [sp],#16 ret lr ;; bbWeight=1 PerfScore 2.00 ; Total bytes of code 104, prolog size 8, PerfScore 54.65, instruction count 26, allocated bytes for code 104 (MethodHash=d7591064) for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Code Words : 1 Epilog Count : 1 E bit : 0 X bit : 0 Vers : 0 Function Length : 26 (0x0001a) Actual length = 104 (0x000068) ---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Epilog Start Index : 1 (0x01) ---- Unwind codes ---- E1 set_fp; mov fp, sp ---- Epilog start at index 1 ---- 81 save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]! E4 end E4 end
Trouver la différence