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 2 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
3 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
57 lignes
Copier tout
7 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
61 lignes
Copier tout
; Assembly listing for method MyBench2:Test(System.Action`1[int],int) (FullOpts)
; Assembly listing for method MyBench2:Test(System.Action`1[int],int) (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Windows
; Emitting BLENDED_CODE for generic ARM64 - Windows
; FullOpts code
; FullOpts code
; optimized code
; optimized code
; fp based frame
; fp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
; invoked as altjit
; invoked as altjit
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T03] ( 4, 4 ) ref -> x2 class-hnd single-def <System.Action`1[int]>
; V00 arg0 [V00,T03] ( 4, 4 ) ref -> x2 class-hnd single-def <System.Action`1[int]>
; V01 arg1 [V01,T02] ( 4, 7 ) int -> x1 single-def
; V01 arg1 [V01,T02] ( 4, 7 ) int -> x1 single-def
; V02 loc0 [V02,T01] ( 4, 10 ) int -> x0
; V02 loc0 [V02,T01] ( 4, 10 ) int -> x0
; V03 loc1 [V03,T00] ( 5, 17 ) int -> x3
; V03 loc1 [V03,T00] ( 5, 17 ) int -> x3
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;
;
; Lcl frame size = 0
; Lcl frame size = 0
G_M23933_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
G_M23933_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x10]!
stp fp, lr, [sp, #-0x10]!
mov fp, sp
mov fp, sp
mov x2, x0
mov x2, x0
; gcrRegs +[x2]
; gcrRegs +[x2]
;; size=12 bbWeight=1 PerfScore 2.00
;; size=12 bbWeight=1 PerfScore 2.00
G_M23933_IG02: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref, isz, align
G_M23933_IG02: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref, isz, align
mov w0, wzr
mov w0, wzr
mov w3, wzr
mov w3, wzr
cmp w1, #0
cmp w1, #0
ble G_M23933_IG04
ble G_M23933_IG04
align [4 bytes for IG03]
align [4 bytes for IG03]
align [0 bytes]
align [0 bytes]
align [0 bytes]
align [0 bytes]
align [0 bytes]
align [0 bytes]
;; size=20 bbWeight=1 PerfScore 3.00
;; size=20 bbWeight=1 PerfScore 3.00
G_M23933_IG03: ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, loop=IG03, byref, isz
G_M23933_IG03: ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, loop=IG03, byref, isz
add w0, w0, w3
add w0, w0, w3
add w3, w3, #1
add w3, w3, #1
cmp w3, w1
cmp w3, w1
blt G_M23933_IG03
blt G_M23933_IG03
;; size=16 bbWeight=4 PerfScore 10.00
;; size=16 bbWeight=4 PerfScore 10.00
G_M23933_IG04: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
G_M23933_IG04: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
mov w1, w0
mov w1, w0
ldr x0, [x2, #0x08]
ldr x0, [x2, #0x08]
; gcrRegs +[x0]
; gcrRegs +[x0]
Copier
Copié
Copier
Copié
;; size=8 bbWeight=1 PerfScore 3.50
G_M23933_IG05: ; bbWeight=1, nogc, extend
ldr x2, [x2, #0x18]
ldr x2, [x2, #0x18]
; gcrRegs -[x2]
; gcrRegs -[x2]
Copier
Copié
Copier
Copié
;; size=4 bbWeight=1 PerfScore 3.00
G_M23933_IG06: ; bbWeight=1, extend
blr x2
blr x2
; gcrRegs -[x0]
; gcrRegs -[x0]
; gcr arg pop 0
; gcr arg pop 0
Copier
Copié
Copier
Copié
;; size=
16
bbWeight=1 PerfScore
7.50
;; size=
4
bbWeight=1 PerfScore
1.00
G_M23933_IG0
5
: ; bbWeight=1, epilog, nogc, extend
G_M23933_IG0
7
: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ldp fp, lr, [sp], #0x10
ret lr
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
;; size=8 bbWeight=1 PerfScore 2.00
; Total bytes of code 72, prolog size 12, PerfScore 24.50, instruction count 21, allocated bytes for code 72 (MethodHash=d7f5a282) for method MyBench2:Test(System.Action`1[int],int) (FullOpts)
; Total bytes of code 72, prolog size 12, PerfScore 24.50, instruction count 21, allocated bytes for code 72 (MethodHash=d7f5a282) for method MyBench2:Test(System.Action`1[int],int) (FullOpts)
; ============================================================
; ============================================================
Différences enregistrées
Texte d'origine
Ouvrir un fichier
; Assembly listing for method MyBench2:Test(System.Action`1[int],int) (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Windows ; FullOpts code ; optimized code ; fp based frame ; fully interruptible ; No PGO data ; invoked as altjit ; Final local variable assignments ; ; V00 arg0 [V00,T03] ( 4, 4 ) ref -> x2 class-hnd single-def <System.Action`1[int]> ; V01 arg1 [V01,T02] ( 4, 7 ) int -> x1 single-def ; V02 loc0 [V02,T01] ( 4, 10 ) int -> x0 ; V03 loc1 [V03,T00] ( 5, 17 ) int -> x3 ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; ; Lcl frame size = 0 G_M23933_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp, #-0x10]! mov fp, sp mov x2, x0 ; gcrRegs +[x2] ;; size=12 bbWeight=1 PerfScore 2.00 G_M23933_IG02: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref, isz, align mov w0, wzr mov w3, wzr cmp w1, #0 ble G_M23933_IG04 align [4 bytes for IG03] align [0 bytes] align [0 bytes] align [0 bytes] ;; size=20 bbWeight=1 PerfScore 3.00 G_M23933_IG03: ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, loop=IG03, byref, isz add w0, w0, w3 add w3, w3, #1 cmp w3, w1 blt G_M23933_IG03 ;; size=16 bbWeight=4 PerfScore 10.00 G_M23933_IG04: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref mov w1, w0 ldr x0, [x2, #0x08] ; gcrRegs +[x0] ldr x2, [x2, #0x18] ; gcrRegs -[x2] blr x2 ; gcrRegs -[x0] ; gcr arg pop 0 ;; size=16 bbWeight=1 PerfScore 7.50 G_M23933_IG05: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00 ; Total bytes of code 72, prolog size 12, PerfScore 24.50, instruction count 21, allocated bytes for code 72 (MethodHash=d7f5a282) for method MyBench2:Test(System.Action`1[int],int) (FullOpts) ; ============================================================
Texte modifié
Ouvrir un fichier
; Assembly listing for method MyBench2:Test(System.Action`1[int],int) (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Windows ; FullOpts code ; optimized code ; fp based frame ; fully interruptible ; No PGO data ; invoked as altjit ; Final local variable assignments ; ; V00 arg0 [V00,T03] ( 4, 4 ) ref -> x2 class-hnd single-def <System.Action`1[int]> ; V01 arg1 [V01,T02] ( 4, 7 ) int -> x1 single-def ; V02 loc0 [V02,T01] ( 4, 10 ) int -> x0 ; V03 loc1 [V03,T00] ( 5, 17 ) int -> x3 ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; ; Lcl frame size = 0 G_M23933_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp, #-0x10]! mov fp, sp mov x2, x0 ; gcrRegs +[x2] ;; size=12 bbWeight=1 PerfScore 2.00 G_M23933_IG02: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref, isz, align mov w0, wzr mov w3, wzr cmp w1, #0 ble G_M23933_IG04 align [4 bytes for IG03] align [0 bytes] align [0 bytes] align [0 bytes] ;; size=20 bbWeight=1 PerfScore 3.00 G_M23933_IG03: ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, loop=IG03, byref, isz add w0, w0, w3 add w3, w3, #1 cmp w3, w1 blt G_M23933_IG03 ;; size=16 bbWeight=4 PerfScore 10.00 G_M23933_IG04: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref mov w1, w0 ldr x0, [x2, #0x08] ; gcrRegs +[x0] ;; size=8 bbWeight=1 PerfScore 3.50 G_M23933_IG05: ; bbWeight=1, nogc, extend ldr x2, [x2, #0x18] ; gcrRegs -[x2] ;; size=4 bbWeight=1 PerfScore 3.00 G_M23933_IG06: ; bbWeight=1, extend blr x2 ; gcrRegs -[x0] ; gcr arg pop 0 ;; size=4 bbWeight=1 PerfScore 1.00 G_M23933_IG07: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00 ; Total bytes of code 72, prolog size 12, PerfScore 24.50, instruction count 21, allocated bytes for code 72 (MethodHash=d7f5a282) for method MyBench2:Test(System.Action`1[int],int) (FullOpts) ; ============================================================
Trouver la différence