Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
delegate diff
作成日
3 日前
差分は期限切れになりません
クリア
エクスポート
共有
説明
136 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
200 行
すべてコピー
152 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
215 行
すべてコピー
; Assembly listing for method MyBenchmarks:EqualsTrue():bool:this (Tier1)
; Assembly listing for method MyBenchmarks:EqualsTrue():bool:this (Tier1)
; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix
; Tier1 code
; Tier1 code
; optimized code
; optimized code
; optimized using Synthesized PGO
; optimized using Synthesized PGO
; rbp based frame
; rbp based frame
; fully interruptible
; fully interruptible
; with Synthesized PGO: fgCalledCount is 100
; with Synthesized PGO: fgCalledCount is 100
; No PGO data
; No PGO data
コピー
コピー済み
コピー
コピー済み
;
6
inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
;
8
inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data
G_M000_IG01: ;; offset=0x0000
G_M000_IG01: ;; offset=0x0000
push rbp
push rbp
push r15
push r15
コピー
コピー済み
コピー
コピー済み
push r14
push rbx
push rbx
コピー
コピー済み
コピー
コピー済み
lea rbp, [rsp+0x
1
0]
push rax
G_M000_IG02: ;; offset=0x000
9
lea rbp, [rsp+0x
2
0]
G_M000_IG02: ;; offset=0x000
C
mov rbx, gword ptr [rdi+0x10]
mov rbx, gword ptr [rdi+0x10]
mov r15, gword ptr [rdi+0x18]
mov r15, gword ptr [rdi+0x18]
test r15, r15
test r15, r15
コピー
コピー済み
コピー
コピー済み
je
SHORT
G_M000_IG0
6
je
G_M000_IG0
7
cmp r15, rbx
cmp r15, rbx
コピー
コピー済み
コピー
コピー済み
je G_M000_IG2
6
je G_M000_IG2
8
test rbx, rbx
test rbx, rbx
コピー
コピー済み
コピー
コピー済み
je
SHORT
G_M000_IG0
7
je
G_M000_IG0
8
cmp qword ptr [r15+0x30], 0
cmp qword ptr [r15+0x30], 0
コピー
コピー済み
コピー
コピー済み
jne
SHORT
G_M000_IG0
8
jne
G_M000_IG0
9
cmp
gword ptr [r15+0x28]
, 0
mov
r14,
gword ptr [r15+0x28]
jne G_M000_IG1
6
test r14, r14
G_M000_IG03: ;; offset=0x00
36
jne G_M000_IG1
7
G_M000_IG03: ;; offset=0x00
47
mov rsi, gword ptr [rbx+0x28]
mov rsi, gword ptr [rbx+0x28]
コピー
コピー済み
コピー
コピー済み
mov rdi,
0x75404237AF08
mov rdi,
0x74F73358AF48
mov rax,
0x754042346880
mov rax,
0x74F733556880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
コピー
コピー済み
コピー
コピー済み
jne G_M000_IG1
0
jne G_M000_IG1
1
mov r
s
i, gword ptr [r15+0x08]
mov r
d
i, gword ptr [r15+0x08]
cmp r
s
i, gword ptr [rbx+0x08]
cmp r
d
i, gword ptr [rbx+0x08]
jne G_M000_IG2
0
jne G_M000_IG2
1
mov r
s
i, qword ptr [r15+0x18]
mov r
d
i, qword ptr [r15+0x18]
cmp r
s
i, qword ptr [rbx+0x18]
cmp r
d
i, qword ptr [rbx+0x18]
jne G_M000_IG2
0
jne G_M000_IG2
1
mov r
s
i, qword ptr [r15+0x20]
mov r
d
i, qword ptr [r15+0x20]
cmp r
s
i, qword ptr [rbx+0x20]
cmp r
d
i, qword ptr [rbx+0x20]
jne G_M000_IG2
0
jne G_M000_IG2
1
G_M000_IG04: ;; offset=0x00
83
G_M000_IG04: ;; offset=0x00
94
mov
eax
, 1
mov
r14d
, 1
G_M000_IG05: ;; offset=
0x0088
G_M000_IG05: ;; offset=
0x009A
mov eax, r14d
G_M000_IG06: ;; offset=0x009D
add rsp, 8
pop rbx
pop rbx
コピー
コピー済み
コピー
コピー済み
pop r14
pop r15
pop r15
pop rbp
pop rbp
ret
ret
コピー
コピー済み
コピー
コピー済み
G_M000_IG0
6
: ;; offset=0x00
8D
G_M000_IG0
7
: ;; offset=0x00
A8
test rbx, rbx
test rbx, rbx
sete al
sete al
movzx rax, al
movzx rax, al
コピー
コピー済み
コピー
コピー済み
jmp SHORT G_M000_IG0
5
jmp SHORT G_M000_IG0
6
G_M000_IG0
7
: ;; offset=0x00
98
G_M000_IG0
8
: ;; offset=0x00
B3
xor
eax, eax
xor
r14d, r14d
jmp SHORT G_M000_IG05
jmp SHORT G_M000_IG05
コピー
コピー済み
コピー
コピー済み
G_M000_IG0
8
: ;; offset=0x00
9C
G_M000_IG0
9
: ;; offset=0x00
B8
mov rdi, r15
mov rdi, r15
コピー
コピー済み
コピー
コピー済み
mov rax,
0x75404277F420
mov rax,
0x74F73398F420
call [rax]System.MulticastDelegate:InvocationListLogicallyNull():bool:this
call [rax]System.MulticastDelegate:InvocationListLogicallyNull():bool:this
test eax, eax
test eax, eax
コピー
コピー済み
コピー
コピー済み
je SHORT G_M000_IG1
2
je SHORT G_M000_IG1
3
cmp qword ptr [r15+0x30], -1
cmp qword ptr [r15+0x30], -1
コピー
コピー済み
コピー
コピー済み
jne SHORT G_M000_IG
09
jne SHORT G_M000_IG
10
cmp qword ptr [rbx+0x30], -1
cmp qword ptr [rbx+0x30], -1
コピー
コピー済み
コピー
コピー済み
jne SHORT G_M000_IG0
7
jne SHORT G_M000_IG0
8
mov rsi, qword ptr [r15+0x18]
mov rsi, qword ptr [r15+0x18]
cmp rsi, qword ptr [rbx+0x18]
cmp rsi, qword ptr [rbx+0x18]
コピー
コピー済み
コピー
コピー済み
jne SHORT G_M000_IG0
7
jne SHORT G_M000_IG0
8
mov rsi, qword ptr [r15+0x20]
mov rsi, qword ptr [r15+0x20]
cmp rsi, qword ptr [rbx+0x20]
cmp rsi, qword ptr [rbx+0x20]
コピー
コピー済み
コピー
コピー済み
sete
al
sete
r14b
movzx
rax, al
movzx
r14, r14b
jmp SHORT G_M000_IG05
jmp SHORT G_M000_IG05
コピー
コピー済み
コピー
コピー済み
G_M000_IG
09
: ;; offset=0x00
D7
G_M000_IG
10
: ;; offset=0x00
F5
mov rsi, gword ptr [rbx+0x28]
mov rsi, gword ptr [rbx+0x28]
コピー
コピー済み
コピー
コピー済み
mov rdi,
0x75404237AF08
mov rdi,
0x74F73358AF48
mov rax,
0x754042346880
mov rax,
0x74F733556880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
コピー
コピー済み
コピー
コピー済み
je G_M000_IG1
7
je G_M000_IG1
8
G_M000_IG1
0
: ;; offset=
0x00FA
G_M000_IG1
1
: ;; offset=
0x0118
mov rsi, gword ptr [rbx+0x28]
mov rsi, gword ptr [rbx+0x28]
mov rdi, r15
mov rdi, r15
コピー
コピー済み
コピー
コピー済み
mov rax,
0x75404237B4C0
mov rax,
0x74F73358B508
G_M000_IG1
1
: ;; offset=0x01
0B
G_M000_IG1
2
: ;; offset=0x01
29
add rsp, 8
pop rbx
pop rbx
コピー
コピー済み
コピー
コピー済み
pop r14
pop r15
pop r15
pop rbp
pop rbp
tail.jmp [rax]System.MulticastDelegate:Equals(System.Object):bool:this
tail.jmp [rax]System.MulticastDelegate:Equals(System.Object):bool:this
コピー
コピー済み
コピー
コピー済み
G_M000_IG1
2
: ;; offset=0x01
12
G_M000_IG1
3
: ;; offset=0x01
36
mov rsi, gword ptr [r15+0x28]
mov rsi, gword ptr [r15+0x28]
コピー
コピー済み
コピー
コピー済み
mov rdi,
0x75404237AF08
mov rdi,
0x74F73358AF48
mov rax,
0x754042346880
mov rax,
0x74F733556880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
コピー
コピー済み
コピー
コピー済み
je SHORT G_M000_IG1
4
je SHORT G_M000_IG1
5
mov rdi, rax
mov rdi, rax
mov rsi, rbx
mov rsi, rbx
mov rax, qword ptr [rax]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+0x40]
mov rax, qword ptr [rax+0x40]
コピー
コピー済み
コピー
コピー済み
G_M000_IG1
3
: ;; offset=0x01
3E
G_M000_IG1
4
: ;; offset=0x01
62
add rsp, 8
pop rbx
pop rbx
コピー
コピー済み
コピー
コピー済み
pop r14
pop r15
pop r15
pop rbp
pop rbp
tail.jmp [rax+0x10]System.Object:Equals(System.Object):bool:this
tail.jmp [rax+0x10]System.Object:Equals(System.Object):bool:this
コピー
コピー済み
コピー
コピー済み
G_M000_IG1
4
: ;; offset=0x01
46
G_M000_IG1
5
: ;; offset=0x01
70
mov rdi, r15
mov rdi, r15
mov rsi, rbx
mov rsi, rbx
コピー
コピー済み
コピー
コピー済み
mov rax,
0x754042805890
mov rax,
0x74F733A15890
G_M000_IG1
5
: ;; offset=0x01
56
G_M000_IG1
6
: ;; offset=0x01
80
add rsp, 8
pop rbx
pop rbx
コピー
コピー済み
コピー
コピー済み
pop r14
pop r15
pop r15
pop rbp
pop rbp
tail.jmp [rax]System.MulticastDelegate:InvocationListEquals(System.MulticastDelegate):bool:this
tail.jmp [rax]System.MulticastDelegate:InvocationListEquals(System.MulticastDelegate):bool:this
コピー
コピー済み
コピー
コピー済み
G_M000_IG1
6
: ;; offset=0x01
5
D
G_M000_IG1
7
: ;; offset=0x01
8
D
mov rsi,
gword ptr [r15+0x28]
mov rsi,
r14
mov rdi,
0x7540427ED4F8
mov rdi,
0x74F7339FD4F8
mov rax,
0x754042346880
mov rax,
0x74F733556880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
jne G_M000_IG03
jne G_M000_IG03
コピー
コピー済み
コピー
コピー済み
mov rsi,
gword ptr [r15+0x28]
mov rsi,
r14
mov rdi,
0x7540427A8BC0
mov rdi,
0x74F7339B8BC0
mov rax,
0x754042346880
mov rax,
0x74F733556880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
jne G_M000_IG03
mov rsi, r14
mov rdi, 0x74F73399DB58
mov rax, 0x74F733556880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
jne G_M000_IG03
jne G_M000_IG03
mov rdi, gword ptr [r15+0x28]
mov rdi, gword ptr [r15+0x28]
mov rsi, gword ptr [rbx+0x28]
mov rsi, gword ptr [rbx+0x28]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
mov rax, qword ptr [rax+0x40]
call [rax+0x10]System.Object:Equals(System.Object):bool:this
call [rax+0x10]System.Object:Equals(System.Object):bool:this
test eax, eax
test eax, eax
コピー
コピー済み
コピー
コピー済み
je G_M000_IG0
7
je G_M000_IG0
8
G_M000_IG1
7
: ;; offset=0x0
1B
D
G_M000_IG1
8
: ;; offset=0x0
20
D
mov rdi, r15
mov rdi, r15
mov rsi, rbx
mov rsi, rbx
コピー
コピー済み
コピー
コピー済み
mov rax,
0x75404237AF80
mov rax,
0x74F73358AFC0
G_M000_IG1
8
: ;; offset=0x0
1CD
G_M000_IG1
9
: ;; offset=0x0
21D
add rsp, 8
pop rbx
pop rbx
コピー
コピー済み
コピー
コピー済み
pop r14
pop r15
pop r15
pop rbp
pop rbp
tail.jmp [rax]System.Delegate:Equals(System.Object):bool:this
tail.jmp [rax]System.Delegate:Equals(System.Object):bool:this
コピー
コピー済み
コピー
コピー済み
G_M000_
IG19
: ;; offset=
0x01D4
G_M000_
IG20
: ;; offset=
0x022A
xor
eax, eax
xor
r14d, r14d
jmp G_M000_IG05
jmp G_M000_IG05
コピー
コピー済み
コピー
コピー済み
G_M000_IG2
0
: ;; offset=
0x01DB
G_M000_IG2
1
: ;; offset=
0x0232
cmp qword ptr [r15+0x20], 0
cmp qword ptr [r15+0x20], 0
コピー
コピー済み
コピー
コピー済み
jne SHORT G_M000_IG2
1
jne SHORT G_M000_IG2
2
cmp qword ptr [rbx+0x20], 0
cmp qword ptr [rbx+0x20], 0
コピー
コピー済み
コピー
コピー済み
jne SHORT G_M000_
IG19
jne SHORT G_M000_
IG20
mov r
s
i, gword ptr [r15+0x08]
mov r
d
i, gword ptr [r15+0x08]
cmp r
s
i, gword ptr [rbx+0x08]
cmp r
d
i, gword ptr [rbx+0x08]
je SHORT G_M000_IG2
2
je SHORT G_M000_IG2
3
jmp SHORT G_M000_
IG19
jmp SHORT G_M000_
IG20
G_M000_IG2
1
: ;; offset=
0x01F5
G_M000_IG2
2
: ;; offset=
0x024C
cmp qword ptr [rbx+0x20], 0
cmp qword ptr [rbx+0x20], 0
コピー
コピー済み
コピー
コピー済み
je SHORT G_M000_
IG19
je SHORT G_M000_
IG20
mov r
s
i, qword ptr [r15+0x20]
mov r
d
i, qword ptr [r15+0x20]
cmp r
s
i, qword ptr [rbx+0x20]
cmp r
d
i, qword ptr [rbx+0x20]
je G_M000_IG04
je G_M000_IG04
コピー
コピー済み
コピー
コピー済み
G_M000_IG22: ;; offset=0x020A
G_M000_IG23: ;; offset=0x02
61
mov rsi, gword ptr [r15+0x10]
cmp
qword ptr [
r15
+0x10], 0
mov rdi, 0x7540424E23A0
jne
SHORT
G_M000_IG24
mov rax, 0x754042346880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je SHORT G_M000_IG24
mov rsi, gword ptr [rbx+0x10]
mov rdi, 0x7540424E23A0
mov rax, 0x754042346880
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
je SHORT G_M000_IG24
mov rdi, gword ptr [r15+0x10]
mov rsi, gword ptr [rbx+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
G_M000_IG23: ;; offset=0x02
57
pop
rbx
pop
r15
pop rbp
tail.jmp [rax+0x10]System.Object:Equals(System.Object):bool:this
G_M000_IG24
: ;; offset=0x025F
mov rdi, r15
mov rdi, r15
コピー
コピー済み
コピー
コピー済み
mov
rsi, rbx
mov
rax, 0x74F733A158A8
mov
rax, 0x7540428058D8
call [rax]System.Delegate:GetMethodDesc():nint:this
G_M000_IG25: ;; offset=0x02
6F
mov
r14, rax
pop
rbx
jmp SHORT G_M000_IG25
pop
r15
G_M000_IG24: ;; offset=0x027C
pop
rbp
mov r14, qword ptr [r15+0x10]
tail.jmp
[rax]System.Delegate:
InternalEqualMethodHandles(System.Delegate,System.Delegate):bool
G_M000_IG25: ;; offset=0x02
80
G_M000_IG26: ;; offset=0x02
76
cmp
qword ptr [
rbx
+0x10], 0
mov eax, 1
jne SHORT G_M000_IG26
mov
rdi, rbx
mov
rax, 0x74F733A158A8
call
[rax]System.Delegate:
GetMethodDesc():nint:this
mov r15, rax
jmp SHORT G_M000_IG27
G_M000_IG26: ;; offset=0x02
9B
mov r15, qword ptr [rbx+0x10]
G_M000_IG27: ;; offset=0x029F
cmp r14, r15
sete r14b
movzx r14, r14b
jmp G_M000_IG05
jmp G_M000_IG05
コピー
コピー済み
コピー
コピー済み
; Total bytes of code
640
G_M000_IG28: ;; offset=0x02AF
mov eax, 1
jmp G_M000_IG06
; Total bytes of code
697
保存された差分
原文
ファイルを開く
; Assembly listing for method MyBenchmarks:EqualsTrue():bool:this (Tier1) ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix ; Tier1 code ; optimized code ; optimized using Synthesized PGO ; rbp based frame ; fully interruptible ; with Synthesized PGO: fgCalledCount is 100 ; No PGO data ; 6 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: ;; offset=0x0000 push rbp push r15 push rbx lea rbp, [rsp+0x10] G_M000_IG02: ;; offset=0x0009 mov rbx, gword ptr [rdi+0x10] mov r15, gword ptr [rdi+0x18] test r15, r15 je SHORT G_M000_IG06 cmp r15, rbx je G_M000_IG26 test rbx, rbx je SHORT G_M000_IG07 cmp qword ptr [r15+0x30], 0 jne SHORT G_M000_IG08 cmp gword ptr [r15+0x28], 0 jne G_M000_IG16 G_M000_IG03: ;; offset=0x0036 mov rsi, gword ptr [rbx+0x28] mov rdi, 0x75404237AF08 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG10 mov rsi, gword ptr [r15+0x08] cmp rsi, gword ptr [rbx+0x08] jne G_M000_IG20 mov rsi, qword ptr [r15+0x18] cmp rsi, qword ptr [rbx+0x18] jne G_M000_IG20 mov rsi, qword ptr [r15+0x20] cmp rsi, qword ptr [rbx+0x20] jne G_M000_IG20 G_M000_IG04: ;; offset=0x0083 mov eax, 1 G_M000_IG05: ;; offset=0x0088 pop rbx pop r15 pop rbp ret G_M000_IG06: ;; offset=0x008D test rbx, rbx sete al movzx rax, al jmp SHORT G_M000_IG05 G_M000_IG07: ;; offset=0x0098 xor eax, eax jmp SHORT G_M000_IG05 G_M000_IG08: ;; offset=0x009C mov rdi, r15 mov rax, 0x75404277F420 call [rax]System.MulticastDelegate:InvocationListLogicallyNull():bool:this test eax, eax je SHORT G_M000_IG12 cmp qword ptr [r15+0x30], -1 jne SHORT G_M000_IG09 cmp qword ptr [rbx+0x30], -1 jne SHORT G_M000_IG07 mov rsi, qword ptr [r15+0x18] cmp rsi, qword ptr [rbx+0x18] jne SHORT G_M000_IG07 mov rsi, qword ptr [r15+0x20] cmp rsi, qword ptr [rbx+0x20] sete al movzx rax, al jmp SHORT G_M000_IG05 G_M000_IG09: ;; offset=0x00D7 mov rsi, gword ptr [rbx+0x28] mov rdi, 0x75404237AF08 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je G_M000_IG17 G_M000_IG10: ;; offset=0x00FA mov rsi, gword ptr [rbx+0x28] mov rdi, r15 mov rax, 0x75404237B4C0 G_M000_IG11: ;; offset=0x010B pop rbx pop r15 pop rbp tail.jmp [rax]System.MulticastDelegate:Equals(System.Object):bool:this G_M000_IG12: ;; offset=0x0112 mov rsi, gword ptr [r15+0x28] mov rdi, 0x75404237AF08 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M000_IG14 mov rdi, rax mov rsi, rbx mov rax, qword ptr [rax] mov rax, qword ptr [rax+0x40] G_M000_IG13: ;; offset=0x013E pop rbx pop r15 pop rbp tail.jmp [rax+0x10]System.Object:Equals(System.Object):bool:this G_M000_IG14: ;; offset=0x0146 mov rdi, r15 mov rsi, rbx mov rax, 0x754042805890 G_M000_IG15: ;; offset=0x0156 pop rbx pop r15 pop rbp tail.jmp [rax]System.MulticastDelegate:InvocationListEquals(System.MulticastDelegate):bool:this G_M000_IG16: ;; offset=0x015D mov rsi, gword ptr [r15+0x28] mov rdi, 0x7540427ED4F8 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG03 mov rsi, gword ptr [r15+0x28] mov rdi, 0x7540427A8BC0 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG03 mov rdi, gword ptr [r15+0x28] mov rsi, gword ptr [rbx+0x28] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x40] call [rax+0x10]System.Object:Equals(System.Object):bool:this test eax, eax je G_M000_IG07 G_M000_IG17: ;; offset=0x01BD mov rdi, r15 mov rsi, rbx mov rax, 0x75404237AF80 G_M000_IG18: ;; offset=0x01CD pop rbx pop r15 pop rbp tail.jmp [rax]System.Delegate:Equals(System.Object):bool:this G_M000_IG19: ;; offset=0x01D4 xor eax, eax jmp G_M000_IG05 G_M000_IG20: ;; offset=0x01DB cmp qword ptr [r15+0x20], 0 jne SHORT G_M000_IG21 cmp qword ptr [rbx+0x20], 0 jne SHORT G_M000_IG19 mov rsi, gword ptr [r15+0x08] cmp rsi, gword ptr [rbx+0x08] je SHORT G_M000_IG22 jmp SHORT G_M000_IG19 G_M000_IG21: ;; offset=0x01F5 cmp qword ptr [rbx+0x20], 0 je SHORT G_M000_IG19 mov rsi, qword ptr [r15+0x20] cmp rsi, qword ptr [rbx+0x20] je G_M000_IG04 G_M000_IG22: ;; offset=0x020A mov rsi, gword ptr [r15+0x10] mov rdi, 0x7540424E23A0 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M000_IG24 mov rsi, gword ptr [rbx+0x10] mov rdi, 0x7540424E23A0 mov rax, 0x754042346880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M000_IG24 mov rdi, gword ptr [r15+0x10] mov rsi, gword ptr [rbx+0x10] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x40] G_M000_IG23: ;; offset=0x0257 pop rbx pop r15 pop rbp tail.jmp [rax+0x10]System.Object:Equals(System.Object):bool:this G_M000_IG24: ;; offset=0x025F mov rdi, r15 mov rsi, rbx mov rax, 0x7540428058D8 G_M000_IG25: ;; offset=0x026F pop rbx pop r15 pop rbp tail.jmp [rax]System.Delegate:InternalEqualMethodHandles(System.Delegate,System.Delegate):bool G_M000_IG26: ;; offset=0x0276 mov eax, 1 jmp G_M000_IG05 ; Total bytes of code 640
変更されたテキスト
ファイルを開く
; Assembly listing for method MyBenchmarks:EqualsTrue():bool:this (Tier1) ; Emitting BLENDED_CODE for x64 + VEX + EVEX on Unix ; Tier1 code ; optimized code ; optimized using Synthesized PGO ; rbp based frame ; fully interruptible ; with Synthesized PGO: fgCalledCount is 100 ; No PGO data ; 8 inlinees with PGO data; 2 single block inlinees; 0 inlinees without PGO data G_M000_IG01: ;; offset=0x0000 push rbp push r15 push r14 push rbx push rax lea rbp, [rsp+0x20] G_M000_IG02: ;; offset=0x000C mov rbx, gword ptr [rdi+0x10] mov r15, gword ptr [rdi+0x18] test r15, r15 je G_M000_IG07 cmp r15, rbx je G_M000_IG28 test rbx, rbx je G_M000_IG08 cmp qword ptr [r15+0x30], 0 jne G_M000_IG09 mov r14, gword ptr [r15+0x28] test r14, r14 jne G_M000_IG17 G_M000_IG03: ;; offset=0x0047 mov rsi, gword ptr [rbx+0x28] mov rdi, 0x74F73358AF48 mov rax, 0x74F733556880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG11 mov rdi, gword ptr [r15+0x08] cmp rdi, gword ptr [rbx+0x08] jne G_M000_IG21 mov rdi, qword ptr [r15+0x18] cmp rdi, qword ptr [rbx+0x18] jne G_M000_IG21 mov rdi, qword ptr [r15+0x20] cmp rdi, qword ptr [rbx+0x20] jne G_M000_IG21 G_M000_IG04: ;; offset=0x0094 mov r14d, 1 G_M000_IG05: ;; offset=0x009A mov eax, r14d G_M000_IG06: ;; offset=0x009D add rsp, 8 pop rbx pop r14 pop r15 pop rbp ret G_M000_IG07: ;; offset=0x00A8 test rbx, rbx sete al movzx rax, al jmp SHORT G_M000_IG06 G_M000_IG08: ;; offset=0x00B3 xor r14d, r14d jmp SHORT G_M000_IG05 G_M000_IG09: ;; offset=0x00B8 mov rdi, r15 mov rax, 0x74F73398F420 call [rax]System.MulticastDelegate:InvocationListLogicallyNull():bool:this test eax, eax je SHORT G_M000_IG13 cmp qword ptr [r15+0x30], -1 jne SHORT G_M000_IG10 cmp qword ptr [rbx+0x30], -1 jne SHORT G_M000_IG08 mov rsi, qword ptr [r15+0x18] cmp rsi, qword ptr [rbx+0x18] jne SHORT G_M000_IG08 mov rsi, qword ptr [r15+0x20] cmp rsi, qword ptr [rbx+0x20] sete r14b movzx r14, r14b jmp SHORT G_M000_IG05 G_M000_IG10: ;; offset=0x00F5 mov rsi, gword ptr [rbx+0x28] mov rdi, 0x74F73358AF48 mov rax, 0x74F733556880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je G_M000_IG18 G_M000_IG11: ;; offset=0x0118 mov rsi, gword ptr [rbx+0x28] mov rdi, r15 mov rax, 0x74F73358B508 G_M000_IG12: ;; offset=0x0129 add rsp, 8 pop rbx pop r14 pop r15 pop rbp tail.jmp [rax]System.MulticastDelegate:Equals(System.Object):bool:this G_M000_IG13: ;; offset=0x0136 mov rsi, gword ptr [r15+0x28] mov rdi, 0x74F73358AF48 mov rax, 0x74F733556880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax je SHORT G_M000_IG15 mov rdi, rax mov rsi, rbx mov rax, qword ptr [rax] mov rax, qword ptr [rax+0x40] G_M000_IG14: ;; offset=0x0162 add rsp, 8 pop rbx pop r14 pop r15 pop rbp tail.jmp [rax+0x10]System.Object:Equals(System.Object):bool:this G_M000_IG15: ;; offset=0x0170 mov rdi, r15 mov rsi, rbx mov rax, 0x74F733A15890 G_M000_IG16: ;; offset=0x0180 add rsp, 8 pop rbx pop r14 pop r15 pop rbp tail.jmp [rax]System.MulticastDelegate:InvocationListEquals(System.MulticastDelegate):bool:this G_M000_IG17: ;; offset=0x018D mov rsi, r14 mov rdi, 0x74F7339FD4F8 mov rax, 0x74F733556880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG03 mov rsi, r14 mov rdi, 0x74F7339B8BC0 mov rax, 0x74F733556880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG03 mov rsi, r14 mov rdi, 0x74F73399DB58 mov rax, 0x74F733556880 call [rax]CORINFO_HELP_ISINSTANCEOFCLASS test rax, rax jne G_M000_IG03 mov rdi, gword ptr [r15+0x28] mov rsi, gword ptr [rbx+0x28] mov rax, qword ptr [rdi] mov rax, qword ptr [rax+0x40] call [rax+0x10]System.Object:Equals(System.Object):bool:this test eax, eax je G_M000_IG08 G_M000_IG18: ;; offset=0x020D mov rdi, r15 mov rsi, rbx mov rax, 0x74F73358AFC0 G_M000_IG19: ;; offset=0x021D add rsp, 8 pop rbx pop r14 pop r15 pop rbp tail.jmp [rax]System.Delegate:Equals(System.Object):bool:this G_M000_IG20: ;; offset=0x022A xor r14d, r14d jmp G_M000_IG05 G_M000_IG21: ;; offset=0x0232 cmp qword ptr [r15+0x20], 0 jne SHORT G_M000_IG22 cmp qword ptr [rbx+0x20], 0 jne SHORT G_M000_IG20 mov rdi, gword ptr [r15+0x08] cmp rdi, gword ptr [rbx+0x08] je SHORT G_M000_IG23 jmp SHORT G_M000_IG20 G_M000_IG22: ;; offset=0x024C cmp qword ptr [rbx+0x20], 0 je SHORT G_M000_IG20 mov rdi, qword ptr [r15+0x20] cmp rdi, qword ptr [rbx+0x20] je G_M000_IG04 G_M000_IG23: ;; offset=0x0261 cmp qword ptr [r15+0x10], 0 jne SHORT G_M000_IG24 mov rdi, r15 mov rax, 0x74F733A158A8 call [rax]System.Delegate:GetMethodDesc():nint:this mov r14, rax jmp SHORT G_M000_IG25 G_M000_IG24: ;; offset=0x027C mov r14, qword ptr [r15+0x10] G_M000_IG25: ;; offset=0x0280 cmp qword ptr [rbx+0x10], 0 jne SHORT G_M000_IG26 mov rdi, rbx mov rax, 0x74F733A158A8 call [rax]System.Delegate:GetMethodDesc():nint:this mov r15, rax jmp SHORT G_M000_IG27 G_M000_IG26: ;; offset=0x029B mov r15, qword ptr [rbx+0x10] G_M000_IG27: ;; offset=0x029F cmp r14, r15 sete r14b movzx r14, r14b jmp G_M000_IG05 G_M000_IG28: ;; offset=0x02AF mov eax, 1 jmp G_M000_IG06 ; Total bytes of code 697
違いを見つける