Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
表示
レイアウト
分割
統合
ライブエディター
空白の変更を非表示
未変更行を折りたたむ
折り返しなし
比較精度
スマート
構文
なし
外観を変更
処理
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
Untitled diff
作成日
3 年前
差分は期限切れになりません
クリア
エクスポート
共有
説明
52 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
95 行
すべてコピー
50 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
94 行
すべてコピー
; 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
コピー
コピー済み
コピー
コピー済み
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]
コピー
コピー済み
コピー
コピー済み
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
コピー
コピー済み
コピー
コピー済み
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
コピー
コピー済み
コピー
コピー済み
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
コピー
コピー済み
コピー
コピー済み
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
コピー
コピー済み
コピー
コピー済み
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
コピー
コピー済み
コピー
コピー済み
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
コピー
コピー済み
コピー
コピー済み
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
コピー
コピー済み
コピー
コピー済み
; 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)
; ============================================================
; ============================================================
コピー
コピー済み
コピー
コピー済み
Elapsed: 966ms
保存された差分
原文
ファイルを開く
; 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
変更されたテキスト
ファイルを開く
; 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) ; ============================================================
違いを見つける