Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
Untitled diff
作成日
昨年
差分は期限切れになりません
クリア
エクスポート
共有
説明
89 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
70 行
すべてコピー
75 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
61 行
すべてコピー
コピー
コピー済み
コピー
コピー済み
; Assembly listing for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1
-OSR
)
; Assembly listing for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1
)
; Emitting BLENDED_CODE for X64 with AVX512 - Windows
; Emitting BLENDED_CODE for X64 with AVX512 - Windows
コピー
コピー済み
コピー
コピー済み
; Tier1
-OSR
code
; Tier1
code
; OSR variant for entry point 0x1c
; optimized code
; optimized code
; optimized using Synthesized PGO
; optimized using Synthesized PGO
; rsp based frame
; rsp based frame
; fully interruptible
; fully interruptible
コピー
コピー済み
コピー
コピー済み
; with Synthesized PGO: fgCalledCount is
1.99
; with Synthesized PGO: fgCalledCount is
100
; Final local variable assignments
; Final local variable assignments
;
;
コピー
コピー済み
コピー
コピー済み
; V00 arg0 [V00,T0
4
] ( 4,
94.03
) ref -> rcx class-hnd single-def <ubyte[]>
; V00 arg0 [V00,T0
2
] ( 4,
75.82
) ref -> rcx class-hnd single-def <ubyte[]>
; V01 arg1 [V01,T0
2
] ( 4,
184.06
) ref -> r
a
x class-hnd single-def <ubyte[]>
; V01 arg1 [V01,T0
3
] ( 4,
75.82
) ref -> r
d
x class-hnd single-def <ubyte[]>
; V02 loc0 [V02,T00] (
7,545.80
) int ->
rdx
; V02 loc0 [V02,T00] (
5,291.00
) int ->
r8
;
V03 OutArgs [V03 ] ( 1, 1 ) struct (
32
) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <
UNNAMED
>
;
#
V03 OutArgs [V03 ] ( 1, 1 ) struct (
0
) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <
Empty
>
; V04 cse0 [V04,T0
3
] ( 4,
183.60
) int ->
r8
"CSE #01: aggressive"
; V04 cse0 [V04,T0
4
] ( 4,
75.26
) int ->
rax
"CSE #01: aggressive"
; V05 cse1 [V05,
T01] ( 3,
273.08
) long -> r10 "CSE #02: aggressive"
; V05 cse1 [V05,
T05] ( 2, 2 ) int -> r8 "CSE #03: aggressive"
; V06 cse2 [V06,
T01] ( 3,
218.47
) long -> r10 "CSE #02: aggressive"
;* V07 cse3 [V07,T06] ( 0, 0 ) long -> zero-ref "CSE #04: aggressive"
;
;
コピー
コピー済み
コピー
コピー済み
; Lcl frame size =
4
0
; Lcl frame size =
0
G_M45663_IG01: ;; offset=0x0000
G_M45663_IG01: ;; offset=0x0000
コピー
コピー済み
コピー
コピー済み
sub rsp, 40
;; size=
0
bbWeight=1 PerfScore
0.00
mov rcx, gword ptr [rsp+0xB0]
G_M45663_IG02: ;; offset=
0x0000
mov rax, gword ptr [rsp+0xB8]
mov eax, dword ptr [rcx+0x08]
mov edx, dword ptr [rsp+0x64]
mov r8d, dword ptr [r
d
x+0x08]
;; size=
24
bbWeight=1 PerfScore
6.25
cmp
eax,
r8d
G_M45663_IG02: ;; offset=
0x0018
j
n
e SHORT G_M45663_IG0
8
mov r8d, dword ptr [r
c
x+0x08]
;; size=
12
bbWeight=1 PerfScore
5
.25
cmp
r8d
, edx
G_M45663_IG03: ;; offset=0x00
0C
j
l
e SHORT G_M45663_IG0
5
xor
r8d
, r8d
align [0 bytes for IG03]
test eax, eax
;; size=
9
bbWeight=1 PerfScore
3
.25
jle
SHORT G_M45663_IG0
6
G_M45663_IG03: ;; offset=0x00
21
align [13 bytes for IG04]
cmp
edx
, r8d
;; size=20 bbWeight=0.80 PerfScore 1.40
jae
SHORT G_M45663_IG0
9
G_M45663_IG04: ;; offset=0x0020
mov r10d,
edx
mov r10d,
r8d
movzx r9, byte ptr [rcx+r10+0x10]
movzx r9, byte ptr [rcx+r10+0x10]
コピー
コピー済み
コピー
コピー済み
cmp edx, dword ptr [rax+0x08]
cmp r9b, byte ptr [r
d
x+r10+0x10]
jae SHORT G_M45663_IG09
jne SHORT G_M45663_IG0
8
cmp r9b, byte ptr [r
a
x+r10+0x10]
;; size=
16
bbWeight=
72.82
PerfScore
455.14
jne SHORT G_M45663_IG0
7
G_M45663_IG0
5
: ;; offset=0x003
0
;; size=
26
bbWeight=
91.03
PerfScore
1046.82
inc
r8d
G_M45663_IG0
4
: ;; offset=0x003
B
cmp
eax,
r8d
inc
edx
jg SHORT G_M45663_IG0
4
cmp
r8d
, edx
;; size=
8
bbWeight=
72.46
PerfScore
108.69
jg SHORT G_M45663_IG0
3
G_M45663_IG0
6
: ;; offset=0x00
38
;; size=
7
bbWeight=
90.57
PerfScore
135.86
G_M45663_IG0
5
: ;; offset=0x00
42
mov eax, 1
mov eax, 1
コピー
コピー済み
コピー
コピー済み
;; size=5 bbWeight=0.
54
PerfScore 0.
14
;; size=5 bbWeight=0.
44
PerfScore 0.
11
G_M45663_IG0
6
: ;; offset=0x00
47
G_M45663_IG0
7
: ;; offset=0x00
3D
add rsp, 160
pop rbp
ret
ret
コピー
コピー済み
コピー
コピー済み
;; size=
9
bbWeight=0.
54
PerfScore 0.
95
;; size=
1
bbWeight=0.
44
PerfScore 0.
44
G_M45663_IG0
7
: ;; offset=0x00
50
G_M45663_IG0
8
: ;; offset=0x00
3E
xor eax, eax
xor eax, eax
コピー
コピー済み
コピー
コピー済み
;; size=2 bbWeight=0.
46
PerfScore 0.
11
;; size=2 bbWeight=0.
56
PerfScore 0.
14
G_M45663_IG0
8
: ;; offset=
0x0052
G_M45663_IG0
9
: ;; offset=
0x0040
add rsp, 160
pop rbp
ret
ret
コピー
コピー済み
コピー
コピー済み
;; size=
9
bbWeight=0.
46
PerfScore 0.
80
;; size=
1
bbWeight=0.
56
PerfScore 0.
56
G_M45663_IG09: ;; offset=0x005B
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
コピー
コピー済み
コピー
コピー済み
; Total bytes of code
97
, prolog size
24
, PerfScore
1194.18
, instruction count
29
, allocated bytes for code
97
(MethodHash=5b564da0) for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1
-OSR
)
; Total bytes of code
65
, prolog size
0
, PerfScore
571.73
, instruction count
19
, allocated bytes for code
65
(MethodHash=5b564da0) for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1
)
; ============================================================
; ============================================================
保存された差分
原文
ファイルを開く
; Assembly listing for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1-OSR) ; Emitting BLENDED_CODE for X64 with AVX512 - Windows ; Tier1-OSR code ; OSR variant for entry point 0x1c ; optimized code ; optimized using Synthesized PGO ; rsp based frame ; fully interruptible ; with Synthesized PGO: fgCalledCount is 1.99 ; Final local variable assignments ; ; V00 arg0 [V00,T04] ( 4, 94.03) ref -> rcx class-hnd single-def <ubyte[]> ; V01 arg1 [V01,T02] ( 4,184.06) ref -> rax class-hnd single-def <ubyte[]> ; V02 loc0 [V02,T00] ( 7,545.80) int -> rdx ; V03 OutArgs [V03 ] ( 1, 1 ) struct (32) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED> ; V04 cse0 [V04,T03] ( 4,183.60) int -> r8 "CSE #01: aggressive" ; V05 cse1 [V05,T01] ( 3,273.08) long -> r10 "CSE #02: aggressive" ; ; Lcl frame size = 40 G_M45663_IG01: ;; offset=0x0000 sub rsp, 40 mov rcx, gword ptr [rsp+0xB0] mov rax, gword ptr [rsp+0xB8] mov edx, dword ptr [rsp+0x64] ;; size=24 bbWeight=1 PerfScore 6.25 G_M45663_IG02: ;; offset=0x0018 mov r8d, dword ptr [rcx+0x08] cmp r8d, edx jle SHORT G_M45663_IG05 align [0 bytes for IG03] ;; size=9 bbWeight=1 PerfScore 3.25 G_M45663_IG03: ;; offset=0x0021 cmp edx, r8d jae SHORT G_M45663_IG09 mov r10d, edx movzx r9, byte ptr [rcx+r10+0x10] cmp edx, dword ptr [rax+0x08] jae SHORT G_M45663_IG09 cmp r9b, byte ptr [rax+r10+0x10] jne SHORT G_M45663_IG07 ;; size=26 bbWeight=91.03 PerfScore 1046.82 G_M45663_IG04: ;; offset=0x003B inc edx cmp r8d, edx jg SHORT G_M45663_IG03 ;; size=7 bbWeight=90.57 PerfScore 135.86 G_M45663_IG05: ;; offset=0x0042 mov eax, 1 ;; size=5 bbWeight=0.54 PerfScore 0.14 G_M45663_IG06: ;; offset=0x0047 add rsp, 160 pop rbp ret ;; size=9 bbWeight=0.54 PerfScore 0.95 G_M45663_IG07: ;; offset=0x0050 xor eax, eax ;; size=2 bbWeight=0.46 PerfScore 0.11 G_M45663_IG08: ;; offset=0x0052 add rsp, 160 pop rbp ret ;; size=9 bbWeight=0.46 PerfScore 0.80 G_M45663_IG09: ;; offset=0x005B call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 ; Total bytes of code 97, prolog size 24, PerfScore 1194.18, instruction count 29, allocated bytes for code 97 (MethodHash=5b564da0) for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1-OSR) ; ============================================================
変更されたテキスト
ファイルを開く
; Assembly listing for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1) ; Emitting BLENDED_CODE for X64 with AVX512 - Windows ; Tier1 code ; optimized code ; optimized using Synthesized PGO ; rsp based frame ; fully interruptible ; with Synthesized PGO: fgCalledCount is 100 ; Final local variable assignments ; ; V00 arg0 [V00,T02] ( 4, 75.82) ref -> rcx class-hnd single-def <ubyte[]> ; V01 arg1 [V01,T03] ( 4, 75.82) ref -> rdx class-hnd single-def <ubyte[]> ; V02 loc0 [V02,T00] ( 5,291.00) int -> r8 ;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty> ; V04 cse0 [V04,T04] ( 4, 75.26) int -> rax "CSE #01: aggressive" ; V05 cse1 [V05,T05] ( 2, 2 ) int -> r8 "CSE #03: aggressive" ; V06 cse2 [V06,T01] ( 3,218.47) long -> r10 "CSE #02: aggressive" ;* V07 cse3 [V07,T06] ( 0, 0 ) long -> zero-ref "CSE #04: aggressive" ; ; Lcl frame size = 0 G_M45663_IG01: ;; offset=0x0000 ;; size=0 bbWeight=1 PerfScore 0.00 G_M45663_IG02: ;; offset=0x0000 mov eax, dword ptr [rcx+0x08] mov r8d, dword ptr [rdx+0x08] cmp eax, r8d jne SHORT G_M45663_IG08 ;; size=12 bbWeight=1 PerfScore 5.25 G_M45663_IG03: ;; offset=0x000C xor r8d, r8d test eax, eax jle SHORT G_M45663_IG06 align [13 bytes for IG04] ;; size=20 bbWeight=0.80 PerfScore 1.40 G_M45663_IG04: ;; offset=0x0020 mov r10d, r8d movzx r9, byte ptr [rcx+r10+0x10] cmp r9b, byte ptr [rdx+r10+0x10] jne SHORT G_M45663_IG08 ;; size=16 bbWeight=72.82 PerfScore 455.14 G_M45663_IG05: ;; offset=0x0030 inc r8d cmp eax, r8d jg SHORT G_M45663_IG04 ;; size=8 bbWeight=72.46 PerfScore 108.69 G_M45663_IG06: ;; offset=0x0038 mov eax, 1 ;; size=5 bbWeight=0.44 PerfScore 0.11 G_M45663_IG07: ;; offset=0x003D ret ;; size=1 bbWeight=0.44 PerfScore 0.44 G_M45663_IG08: ;; offset=0x003E xor eax, eax ;; size=2 bbWeight=0.56 PerfScore 0.14 G_M45663_IG09: ;; offset=0x0040 ret ;; size=1 bbWeight=0.56 PerfScore 0.56 ; Total bytes of code 65, prolog size 0, PerfScore 571.73, instruction count 19, allocated bytes for code 65 (MethodHash=5b564da0) for method Program:EqualsLoop(ubyte[],ubyte[]):ubyte (Tier1) ; ============================================================
違いを見つける