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
Affichage
Vue
Divisé
Unifié
Éditeur live
Masquer les espaces
Cacher identiques
Sans retour à la ligne
Niveau de précision
Intelligent
Syntaxe
Aucun
Modifier l’apparence
Traitement
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 3 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
52 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
95 lignes
Copier tout
50 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
94 lignes
Copier tout
; Assembly listing for method Reprotest:Run(int):long (Tier0-FullOpts)
; Assembly listing for method Reprotest:Run(int):long (Tier0-FullOpts)
; Emitting BLENDED_CODE for generic ARM - Unix
; Emitting BLENDED_CODE for generic ARM - Unix
; Tier-0 switched to FullOpts code
; Tier-0 switched to FullOpts code
; optimized code
; optimized code
; r11 based frame
; r11 based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T03] ( 4, 11 ) int -> [sp+0x14] EH-live single-def
; V00 arg0 [V00,T03] ( 4, 11 ) int -> [sp+0x14] EH-live single-def
; V01 loc0 [V01,T02] ( 9, 30 ) long -> [sp+0x08] do-not-enreg[Z] EH-live
; V01 loc0 [V01,T02] ( 9, 30 ) long -> [sp+0x08] do-not-enreg[Z] EH-live
; V02 loc1 [V02,T01] ( 6, 34 ) int -> [sp+0x04] do-not-enreg[Z] EH-live
; V02 loc1 [V02,T01] ( 6, 34 ) int -> [sp+0x04] do-not-enreg[Z] EH-live
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
; V04 PSPSym [V04,T05] ( 1, 1 ) int -> [sp+0x1C] do-not-enreg[V] "PSPSym"
; V04 PSPSym [V04,T05] ( 1, 1 ) int -> [sp+0x1C] do-not-enreg[V] "PSPSym"
; V05 rat0 [V05,T00] ( 3, 48 ) int -> r2 "ReplaceWithLclVar is creating a new local variable"
; V05 rat0 [V05,T00] ( 3, 48 ) int -> r2 "ReplaceWithLclVar is creating a new local variable"
; V06 rat1 [V06,T04] ( 3, 6 ) int -> r1 "ReplaceWithLclVar is creating a new local variable"
; V06 rat1 [V06,T04] ( 3, 6 ) int -> r1 "ReplaceWithLclVar is creating a new local variable"
;
;
; Lcl frame size = 32
; Lcl frame size = 32
G_M4135_IG01: ;; offset=0x0000
G_M4135_IG01: ;; offset=0x0000
000000 push {r11,lr}
000000 push {r11,lr}
000004 sub sp, 32
000004 sub sp, 32
000006 add r11, sp, 32
000006 add r11, sp, 32
00000A add r1, sp, 40
00000A add r1, sp, 40
00000C str r1, [sp+0x1C] // [V04 PSPSym]
00000C str r1, [sp+0x1C] // [V04 PSPSym]
00000E str r0, [sp+0x14] // [V00 arg0]
00000E str r0, [sp+0x14] // [V00 arg0]
;; size=16 bbWeight=1 PerfScore 6.00
;; size=16 bbWeight=1 PerfScore 6.00
G_M4135_IG02: ;; offset=0x0010
G_M4135_IG02: ;; offset=0x0010
000010 movs r1, 0
000010 movs r1, 0
000012 movs r3, 0
000012 movs r3, 0
000014 str r1, [sp+0x08]
000014 str r1, [sp+0x08]
000016 str r3, [sp+0x0C]
000016 str r3, [sp+0x0C]
;; size=8 bbWeight=1 PerfScore 4.00
;; size=8 bbWeight=1 PerfScore 4.00
G_M4135_IG03: ;; offset=0x0018
G_M4135_IG03: ;; offset=0x0018
000018 str r1, [sp+0x04] // [V02 loc1]
000018 str r1, [sp+0x04] // [V02 loc1]
00001A cmp r0, 0
00001A cmp r0, 0
Copier
Copié
Copier
Copié
00001C ble SHORT G_M4135_IG0
7
00001C ble SHORT G_M4135_IG0
8
;; size=6 bbWeight=1 PerfScore 3.00
;; size=6 bbWeight=1 PerfScore 3.00
G_M4135_IG04: ;; offset=0x001E
G_M4135_IG04: ;; offset=0x001E
00001E ldr r1, [sp+0x08] // [V01 loc0]
00001E ldr r1, [sp+0x08] // [V01 loc0]
000020 ldr r3, [sp+0x0C] // [V01 loc0+0x04]
000020 ldr r3, [sp+0x0C] // [V01 loc0+0x04]
000022 ldr r2, [sp+0x04] // [V02 loc1]
000022 ldr r2, [sp+0x04] // [V02 loc1]
000024 asr lr, r2, 31
000024 asr lr, r2, 31
000028 adds r1, r1, r2
000028 adds r1, r1, r2
00002A adc r3, r3, lr
00002A adc r3, r3, lr
00002E str r1, [sp+0x08] // [V01 loc0]
00002E str r1, [sp+0x08] // [V01 loc0]
000030 str r3, [sp+0x0C] // [V01 loc0+0x04]
000030 str r3, [sp+0x0C] // [V01 loc0+0x04]
Copier
Copié
Copier
Copié
000032
movw lr, LOW ADDRESS G_M4135_IG06
000032
bl
G_M4135_
IG10
000036
movt lr, HIGH ADDRESS
G_M4135_
IG06
;; size=
24
bbWeight=8 PerfScore
72
.00
00003A b SHORT G_M4135_IG09
G_M4135_IG05: ;; offset=0x003
6
;; size=
30
bbWeight=8 PerfScore
88
.00
00003
6 nop
G_M4135_IG05: ;; offset=0x003
C
;; size=2 bbWeight=8 PerfScore 8.00
00003
C nop
G_M4135_IG06: ;; offset=0x0038
000038 nop
;; size=2 bbWeight=1 PerfScore 1.00
;; size=2 bbWeight=1 PerfScore 1.00
Copier
Copié
Copier
Copié
G_M4135_IG0
6
: ;; offset=0x003
E
G_M4135_IG0
7
: ;; offset=0x003
A
00003
E
ldr r3, [sp+0x04] // [V02 loc1]
00003
A
ldr r3, [sp+0x04] // [V02 loc1]
0000
40
adds r3, r3, 1
0000
3C
adds r3, r3, 1
0000
42
str r3, [sp+0x04] // [V02 loc1]
0000
3E
str r3, [sp+0x04] // [V02 loc1]
00004
4
ldr r3, [sp+0x04] // [V02 loc1]
00004
0
ldr r3, [sp+0x04] // [V02 loc1]
00004
6
ldr r0, [sp+0x14] // [V00 arg0]
00004
2
ldr r0, [sp+0x14] // [V00 arg0]
00004
8
cmp r3, r0
00004
4
cmp r3, r0
00004
A
blt SHORT G_M4135_IG04
00004
6
blt SHORT G_M4135_IG04
;; size=14 bbWeight=8 PerfScore 56.00
;; size=14 bbWeight=8 PerfScore 56.00
Copier
Copié
Copier
Copié
G_M4135_IG0
7
: ;; offset=0x004
C
G_M4135_IG0
8
: ;; offset=0x004
8
00004
C
ldr r0, [sp+0x08] // [V01 loc0]
00004
8
ldr r0, [sp+0x08] // [V01 loc0]
00004
E
ldr r1, [sp+0x0C] // [V01 loc0+0x04]
00004
A
ldr r1, [sp+0x0C] // [V01 loc0+0x04]
;; size=4 bbWeight=1 PerfScore 2.00
;; size=4 bbWeight=1 PerfScore 2.00
Copier
Copié
Copier
Copié
G_M4135_IG0
8
: ;; offset=0x00
50
G_M4135_IG0
9
: ;; offset=0x00
4C
0000
50
add sp, 32
0000
4C
add sp, 32
0000
52
pop {r11,pc}
0000
4E
pop {r11,pc}
;; size=6 bbWeight=1 PerfScore 2.00
;; size=6 bbWeight=1 PerfScore 2.00
Copier
Copié
Copier
Copié
G_M4135_IG
09
: ;; offset=0x005
6
G_M4135_IG
10
: ;; offset=0x005
2
00005
6
push {r2,r3,r11,lr}
00005
2
push {r2,r3,r11,lr}
00005
A
add r3, r11, 8
00005
6
add r3, r11, 8
00005
E
str r3, [sp+0x04]
00005
A
str r3, [sp+0x04]
;; size=10 bbWeight=1 PerfScore 3.00
;; size=10 bbWeight=1 PerfScore 3.00
Copier
Copié
Copier
Copié
G_M4135_IG1
0
: ;; offset=0x00
60
G_M4135_IG1
1
: ;; offset=0x00
5C
0000
60
ldr r3, [r11-0x18] // [V01 loc0]
0000
5C
ldr r3, [r11-0x18] // [V01 loc0]
00006
4
ldr r2, [r11-0x14] // [V01 loc0+0x04]
00006
0
ldr r2, [r11-0x14] // [V01 loc0+0x04]
00006
8
ldr r1, [r11-0x1C] // [V02 loc1]
00006
4
ldr r1, [r11-0x1C] // [V02 loc1]
00006
C
lsls r1, r1, 1
00006
8
lsls r1, r1, 1
00006
E
asrs r0, r1, 31
00006
A
asrs r0, r1, 31
0000
70
adds r3, r3, r1
0000
6C
adds r3, r3, r1
0000
72
adcs r2, r0
0000
6E
adcs r2, r0
00007
4
str r3, [r11-0x18] // [V01 loc0]
00007
0
str r3, [r11-0x18] // [V01 loc0]
00007
8
str r2, [r11-0x14] // [V01 loc0+0x04]
00007
4
str r2, [r11-0x14] // [V01 loc0+0x04]
;; size=28 bbWeight=1 PerfScore 9.00
;; size=28 bbWeight=1 PerfScore 9.00
Copier
Copié
Copier
Copié
G_M4135_IG1
1
: ;; offset=0x007
C
G_M4135_IG1
2
: ;; offset=0x007
8
00007
C
pop {r2,r3,r11,pc}
00007
8
pop {r2,r3,r11,pc}
;; size=4 bbWeight=1 PerfScore 1.00
;; size=4 bbWeight=1 PerfScore 1.00
Copier
Copié
Copier
Copié
; Total bytes of code 12
8
, prolog size 16, PerfScore 1
87.80
, instruction count
49
, allocated bytes for code 12
8
(MethodHash=f7a5efd8) for method Reprotest:Run(int):long (Tier0-FullOpts)
; Total bytes of code 12
4
, prolog size 16, PerfScore 1
79.40
, instruction count
48
, allocated bytes for code 12
4
(MethodHash=f7a5efd8) for method Reprotest:Run(int):long (Tier0-FullOpts)
; ============================================================
; ============================================================
Copier
Copié
Copier
Copié
Elapsed: 966ms
Différences enregistrées
Texte d'origine
Ouvrir un fichier
; Assembly listing for method Reprotest:Run(int):long (Tier0-FullOpts) ; Emitting BLENDED_CODE for generic ARM - Unix ; Tier-0 switched to FullOpts code ; optimized code ; r11 based frame ; fully interruptible ; No PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T03] ( 4, 11 ) int -> [sp+0x14] EH-live single-def ; V01 loc0 [V01,T02] ( 9, 30 ) long -> [sp+0x08] do-not-enreg[Z] EH-live ; V02 loc1 [V02,T01] ( 6, 34 ) int -> [sp+0x04] do-not-enreg[Z] EH-live ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V04 PSPSym [V04,T05] ( 1, 1 ) int -> [sp+0x1C] do-not-enreg[V] "PSPSym" ; V05 rat0 [V05,T00] ( 3, 48 ) int -> r2 "ReplaceWithLclVar is creating a new local variable" ; V06 rat1 [V06,T04] ( 3, 6 ) int -> r1 "ReplaceWithLclVar is creating a new local variable" ; ; Lcl frame size = 32 G_M4135_IG01: ;; offset=0x0000 000000 push {r11,lr} 000004 sub sp, 32 000006 add r11, sp, 32 00000A add r1, sp, 40 00000C str r1, [sp+0x1C] // [V04 PSPSym] 00000E str r0, [sp+0x14] // [V00 arg0] ;; size=16 bbWeight=1 PerfScore 6.00 G_M4135_IG02: ;; offset=0x0010 000010 movs r1, 0 000012 movs r3, 0 000014 str r1, [sp+0x08] 000016 str r3, [sp+0x0C] ;; size=8 bbWeight=1 PerfScore 4.00 G_M4135_IG03: ;; offset=0x0018 000018 str r1, [sp+0x04] // [V02 loc1] 00001A cmp r0, 0 00001C ble SHORT G_M4135_IG07 ;; size=6 bbWeight=1 PerfScore 3.00 G_M4135_IG04: ;; offset=0x001E 00001E ldr r1, [sp+0x08] // [V01 loc0] 000020 ldr r3, [sp+0x0C] // [V01 loc0+0x04] 000022 ldr r2, [sp+0x04] // [V02 loc1] 000024 asr lr, r2, 31 000028 adds r1, r1, r2 00002A adc r3, r3, lr 00002E str r1, [sp+0x08] // [V01 loc0] 000030 str r3, [sp+0x0C] // [V01 loc0+0x04] 000032 movw lr, LOW ADDRESS G_M4135_IG06 000036 movt lr, HIGH ADDRESS G_M4135_IG06 00003A b SHORT G_M4135_IG09 ;; size=30 bbWeight=8 PerfScore 88.00 G_M4135_IG05: ;; offset=0x003C 00003C nop ;; size=2 bbWeight=1 PerfScore 1.00 G_M4135_IG06: ;; offset=0x003E 00003E ldr r3, [sp+0x04] // [V02 loc1] 000040 adds r3, r3, 1 000042 str r3, [sp+0x04] // [V02 loc1] 000044 ldr r3, [sp+0x04] // [V02 loc1] 000046 ldr r0, [sp+0x14] // [V00 arg0] 000048 cmp r3, r0 00004A blt SHORT G_M4135_IG04 ;; size=14 bbWeight=8 PerfScore 56.00 G_M4135_IG07: ;; offset=0x004C 00004C ldr r0, [sp+0x08] // [V01 loc0] 00004E ldr r1, [sp+0x0C] // [V01 loc0+0x04] ;; size=4 bbWeight=1 PerfScore 2.00 G_M4135_IG08: ;; offset=0x0050 000050 add sp, 32 000052 pop {r11,pc} ;; size=6 bbWeight=1 PerfScore 2.00 G_M4135_IG09: ;; offset=0x0056 000056 push {r2,r3,r11,lr} 00005A add r3, r11, 8 00005E str r3, [sp+0x04] ;; size=10 bbWeight=1 PerfScore 3.00 G_M4135_IG10: ;; offset=0x0060 000060 ldr r3, [r11-0x18] // [V01 loc0] 000064 ldr r2, [r11-0x14] // [V01 loc0+0x04] 000068 ldr r1, [r11-0x1C] // [V02 loc1] 00006C lsls r1, r1, 1 00006E asrs r0, r1, 31 000070 adds r3, r3, r1 000072 adcs r2, r0 000074 str r3, [r11-0x18] // [V01 loc0] 000078 str r2, [r11-0x14] // [V01 loc0+0x04] ;; size=28 bbWeight=1 PerfScore 9.00 G_M4135_IG11: ;; offset=0x007C 00007C pop {r2,r3,r11,pc} ;; size=4 bbWeight=1 PerfScore 1.00 ; Total bytes of code 128, prolog size 16, PerfScore 187.80, instruction count 49, allocated bytes for code 128 (MethodHash=f7a5efd8) for method Reprotest:Run(int):long (Tier0-FullOpts) ; ============================================================ Elapsed: 966ms
Texte modifié
Ouvrir un fichier
; Assembly listing for method Reprotest:Run(int):long (Tier0-FullOpts) ; Emitting BLENDED_CODE for generic ARM - Unix ; Tier-0 switched to FullOpts code ; optimized code ; r11 based frame ; fully interruptible ; No PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T03] ( 4, 11 ) int -> [sp+0x14] EH-live single-def ; V01 loc0 [V01,T02] ( 9, 30 ) long -> [sp+0x08] do-not-enreg[Z] EH-live ; V02 loc1 [V02,T01] ( 6, 34 ) int -> [sp+0x04] do-not-enreg[Z] EH-live ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; V04 PSPSym [V04,T05] ( 1, 1 ) int -> [sp+0x1C] do-not-enreg[V] "PSPSym" ; V05 rat0 [V05,T00] ( 3, 48 ) int -> r2 "ReplaceWithLclVar is creating a new local variable" ; V06 rat1 [V06,T04] ( 3, 6 ) int -> r1 "ReplaceWithLclVar is creating a new local variable" ; ; Lcl frame size = 32 G_M4135_IG01: ;; offset=0x0000 000000 push {r11,lr} 000004 sub sp, 32 000006 add r11, sp, 32 00000A add r1, sp, 40 00000C str r1, [sp+0x1C] // [V04 PSPSym] 00000E str r0, [sp+0x14] // [V00 arg0] ;; size=16 bbWeight=1 PerfScore 6.00 G_M4135_IG02: ;; offset=0x0010 000010 movs r1, 0 000012 movs r3, 0 000014 str r1, [sp+0x08] 000016 str r3, [sp+0x0C] ;; size=8 bbWeight=1 PerfScore 4.00 G_M4135_IG03: ;; offset=0x0018 000018 str r1, [sp+0x04] // [V02 loc1] 00001A cmp r0, 0 00001C ble SHORT G_M4135_IG08 ;; size=6 bbWeight=1 PerfScore 3.00 G_M4135_IG04: ;; offset=0x001E 00001E ldr r1, [sp+0x08] // [V01 loc0] 000020 ldr r3, [sp+0x0C] // [V01 loc0+0x04] 000022 ldr r2, [sp+0x04] // [V02 loc1] 000024 asr lr, r2, 31 000028 adds r1, r1, r2 00002A adc r3, r3, lr 00002E str r1, [sp+0x08] // [V01 loc0] 000030 str r3, [sp+0x0C] // [V01 loc0+0x04] 000032 bl G_M4135_IG10 ;; size=24 bbWeight=8 PerfScore 72.00 G_M4135_IG05: ;; offset=0x0036 000036 nop ;; size=2 bbWeight=8 PerfScore 8.00 G_M4135_IG06: ;; offset=0x0038 000038 nop ;; size=2 bbWeight=1 PerfScore 1.00 G_M4135_IG07: ;; offset=0x003A 00003A ldr r3, [sp+0x04] // [V02 loc1] 00003C adds r3, r3, 1 00003E str r3, [sp+0x04] // [V02 loc1] 000040 ldr r3, [sp+0x04] // [V02 loc1] 000042 ldr r0, [sp+0x14] // [V00 arg0] 000044 cmp r3, r0 000046 blt SHORT G_M4135_IG04 ;; size=14 bbWeight=8 PerfScore 56.00 G_M4135_IG08: ;; offset=0x0048 000048 ldr r0, [sp+0x08] // [V01 loc0] 00004A ldr r1, [sp+0x0C] // [V01 loc0+0x04] ;; size=4 bbWeight=1 PerfScore 2.00 G_M4135_IG09: ;; offset=0x004C 00004C add sp, 32 00004E pop {r11,pc} ;; size=6 bbWeight=1 PerfScore 2.00 G_M4135_IG10: ;; offset=0x0052 000052 push {r2,r3,r11,lr} 000056 add r3, r11, 8 00005A str r3, [sp+0x04] ;; size=10 bbWeight=1 PerfScore 3.00 G_M4135_IG11: ;; offset=0x005C 00005C ldr r3, [r11-0x18] // [V01 loc0] 000060 ldr r2, [r11-0x14] // [V01 loc0+0x04] 000064 ldr r1, [r11-0x1C] // [V02 loc1] 000068 lsls r1, r1, 1 00006A asrs r0, r1, 31 00006C adds r3, r3, r1 00006E adcs r2, r0 000070 str r3, [r11-0x18] // [V01 loc0] 000074 str r2, [r11-0x14] // [V01 loc0+0x04] ;; size=28 bbWeight=1 PerfScore 9.00 G_M4135_IG12: ;; offset=0x0078 000078 pop {r2,r3,r11,pc} ;; size=4 bbWeight=1 PerfScore 1.00 ; Total bytes of code 124, prolog size 16, PerfScore 179.40, instruction count 48, allocated bytes for code 124 (MethodHash=f7a5efd8) for method Reprotest:Run(int):long (Tier0-FullOpts) ; ============================================================
Trouver la différence