Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
表示
レイアウト
分割
統合
ライブエディター
空白の変更を非表示
未変更行を折りたたむ
折り返しなし
比較精度
スマート
構文
なし
外観を変更
処理
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
GenericEqualityComparer-string
作成日
6 年前
差分は期限切れになりません
クリア
エクスポート
共有
説明
12 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
204 行
すべてコピー
9 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
202 行
すべてコピー
; Assembly listing for method System.Collections.Generic.GenericEqualityComparer`1[__Canon][System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this
; Assembly listing for method System.Collections.Generic.GenericEqualityComparer`1[__Canon][System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; fully interruptible
; fully interruptible
; discarded IBC profile data due to mismatch in ILSize
; discarded IBC profile data due to mismatch in ILSize
; Final local variable assignments
; Final local variable assignments
;
;
; V00 this [V00,T08] ( 4, 6 ) ref -> rbx this class-hnd
; V00 this [V00,T08] ( 4, 6 ) ref -> rbx this class-hnd
; V01 arg1 [V01,T02] ( 13, 30 ) ref -> rsi class-hnd
; V01 arg1 [V01,T02] ( 13, 30 ) ref -> rsi class-hnd
; V02 arg2 [V02,T07] ( 5, 7 ) ref -> rdi class-hnd
; V02 arg2 [V02,T07] ( 5, 7 ) ref -> rdi class-hnd
; V03 arg3 [V03,T09] ( 7, 5 ) int -> r9
; V03 arg3 [V03,T09] ( 7, 5 ) int -> r9
; V04 arg4 [V04,T10] ( 1, 1 ) int -> [rsp+0x80]
; V04 arg4 [V04,T10] ( 1, 1 ) int -> [rsp+0x80]
; V05 loc0 [V05,T04] ( 11, 20 ) int -> rbp
; V05 loc0 [V05,T04] ( 11, 20 ) int -> rbp
; V06 loc1 [V06,T01] ( 12, 37.50) int -> rax
; V06 loc1 [V06,T01] ( 12, 37.50) int -> rax
; V07 loc2 [V07,T00] ( 13, 39.50) int -> r14
; V07 loc2 [V07,T00] ( 13, 39.50) int -> r14
; V08 OutArgs [V08 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace"
; V08 OutArgs [V08 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace"
; V09 tmp1 [V09,T03] ( 6, 24 ) long -> r11 "VirtualCall with runtime lookup"
; V09 tmp1 [V09,T03] ( 6, 24 ) long -> r11 "VirtualCall with runtime lookup"
; V10 cse0 [V10,T05] ( 3, 10 ) ref -> rcx "CSE - aggressive"
; V10 cse0 [V10,T05] ( 3, 10 ) ref -> rcx "CSE - aggressive"
; V11 cse1 [V11,T06] ( 3, 10 ) ref -> rcx "CSE - aggressive"
; V11 cse1 [V11,T06] ( 3, 10 ) ref -> rcx "CSE - aggressive"
;
;
; Lcl frame size = 48
; Lcl frame size = 48
G_M30624_IG01:
G_M30624_IG01:
push r14
push r14
push rdi
push rdi
push rsi
push rsi
push rbp
push rbp
push rbx
push rbx
sub rsp, 48
sub rsp, 48
mov qword ptr [rsp+28H], rcx
mov qword ptr [rsp+28H], rcx
mov rbx, rcx
mov rbx, rcx
mov rsi, rdx
mov rsi, rdx
mov rdi, r8
mov rdi, r8
;; bbWeight=1 PerfScore 7.00
;; bbWeight=1 PerfScore 7.00
G_M30624_IG02:
G_M30624_IG02:
mov ebp, r9d
mov ebp, r9d
add ebp, dword ptr [rsp+80H]
add ebp, dword ptr [rsp+80H]
test rdi, rdi
test rdi, rdi
コピー
コピー済み
コピー
コピー済み
jne
G_M30624_IG12
jne
SHORT
G_M30624_IG12
;; bbWeight=1 PerfScore 2.50
;; bbWeight=1 PerfScore 2.50
G_M30624_IG03:
G_M30624_IG03:
mov eax, r9d
mov eax, r9d
cmp r9d, ebp
cmp r9d, ebp
jge G_M30624_IG21
jge G_M30624_IG21
test rsi, rsi
test rsi, rsi
je SHORT G_M30624_IG08
je SHORT G_M30624_IG08
;; bbWeight=0.50 PerfScore 1.38
;; bbWeight=0.50 PerfScore 1.38
G_M30624_IG04:
G_M30624_IG04:
mov r9d, eax
mov r9d, eax
not r9d
not r9d
shr r9d, 31
shr r9d, 31
mov ecx, ebp
mov ecx, ebp
not ecx
not ecx
shr ecx, 31
shr ecx, 31
and ecx, r9d
and ecx, r9d
cmp dword ptr [rsi+8], ebp
cmp dword ptr [rsi+8], ebp
setge r11b
setge r11b
movzx r11, r11b
movzx r11, r11b
test ecx, r11d
test ecx, r11d
je SHORT G_M30624_IG08
je SHORT G_M30624_IG08
align [0 bytes]
align [0 bytes]
;; bbWeight=0.50 PerfScore 5.00
;; bbWeight=0.50 PerfScore 5.00
G_M30624_IG05:
G_M30624_IG05:
movsxd rcx, eax
movsxd rcx, eax
cmp gword ptr [rsi+8*rcx+16], 0
cmp gword ptr [rsi+8*rcx+16], 0
je SHORT G_M30624_IG11
je SHORT G_M30624_IG11
;; bbWeight=4 PerfScore 13.00
;; bbWeight=4 PerfScore 13.00
G_M30624_IG06:
G_M30624_IG06:
inc eax
inc eax
cmp eax, ebp
cmp eax, ebp
jl SHORT G_M30624_IG05
jl SHORT G_M30624_IG05
;; bbWeight=4 PerfScore 6.00
;; bbWeight=4 PerfScore 6.00
G_M30624_IG07:
G_M30624_IG07:
jmp G_M30624_IG21
jmp G_M30624_IG21
コピー
コピー済み
コピー
コピー済み
align [10 bytes]
;; bbWeight=0.50 PerfScore 1.
00
;; bbWeight=0.50 PerfScore 1.
12
G_M30624_IG08:
G_M30624_IG08:
cmp eax, dword ptr [rsi+8]
cmp eax, dword ptr [rsi+8]
jae G_M30624_IG25
jae G_M30624_IG25
movsxd rcx, eax
movsxd rcx, eax
cmp gword ptr [rsi+8*rcx+16], 0
cmp gword ptr [rsi+8*rcx+16], 0
je SHORT G_M30624_IG11
je SHORT G_M30624_IG11
;; bbWeight=4 PerfScore 25.00
;; bbWeight=4 PerfScore 25.00
G_M30624_IG09:
G_M30624_IG09:
inc eax
inc eax
cmp eax, ebp
cmp eax, ebp
jl SHORT G_M30624_IG08
jl SHORT G_M30624_IG08
;; bbWeight=4 PerfScore 6.00
;; bbWeight=4 PerfScore 6.00
G_M30624_IG10:
G_M30624_IG10:
jmp G_M30624_IG21
jmp G_M30624_IG21
;; bbWeight=0.50 PerfScore 1.00
;; bbWeight=0.50 PerfScore 1.00
G_M30624_IG11:
G_M30624_IG11:
add rsp, 48
add rsp, 48
pop rbx
pop rbx
pop rbp
pop rbp
pop rsi
pop rsi
pop rdi
pop rdi
pop r14
pop r14
ret
ret
;; bbWeight=0.50 PerfScore 1.88
;; bbWeight=0.50 PerfScore 1.88
保存された差分
原文
ファイルを開く
; Assembly listing for method System.Collections.Generic.GenericEqualityComparer`1[__Canon][System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; fully interruptible ; discarded IBC profile data due to mismatch in ILSize ; Final local variable assignments ; ; V00 this [V00,T08] ( 4, 6 ) ref -> rbx this class-hnd ; V01 arg1 [V01,T02] ( 13, 30 ) ref -> rsi class-hnd ; V02 arg2 [V02,T07] ( 5, 7 ) ref -> rdi class-hnd ; V03 arg3 [V03,T09] ( 7, 5 ) int -> r9 ; V04 arg4 [V04,T10] ( 1, 1 ) int -> [rsp+0x80] ; V05 loc0 [V05,T04] ( 11, 20 ) int -> rbp ; V06 loc1 [V06,T01] ( 12, 37.50) int -> rax ; V07 loc2 [V07,T00] ( 13, 39.50) int -> r14 ; V08 OutArgs [V08 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace" ; V09 tmp1 [V09,T03] ( 6, 24 ) long -> r11 "VirtualCall with runtime lookup" ; V10 cse0 [V10,T05] ( 3, 10 ) ref -> rcx "CSE - aggressive" ; V11 cse1 [V11,T06] ( 3, 10 ) ref -> rcx "CSE - aggressive" ; ; Lcl frame size = 48 G_M30624_IG01: push r14 push rdi push rsi push rbp push rbx sub rsp, 48 mov qword ptr [rsp+28H], rcx mov rbx, rcx mov rsi, rdx mov rdi, r8 ;; bbWeight=1 PerfScore 7.00 G_M30624_IG02: mov ebp, r9d add ebp, dword ptr [rsp+80H] test rdi, rdi jne G_M30624_IG12 ;; bbWeight=1 PerfScore 2.50 G_M30624_IG03: mov eax, r9d cmp r9d, ebp jge G_M30624_IG21 test rsi, rsi je SHORT G_M30624_IG08 ;; bbWeight=0.50 PerfScore 1.38 G_M30624_IG04: mov r9d, eax not r9d shr r9d, 31 mov ecx, ebp not ecx shr ecx, 31 and ecx, r9d cmp dword ptr [rsi+8], ebp setge r11b movzx r11, r11b test ecx, r11d je SHORT G_M30624_IG08 align [0 bytes] ;; bbWeight=0.50 PerfScore 5.00 G_M30624_IG05: movsxd rcx, eax cmp gword ptr [rsi+8*rcx+16], 0 je SHORT G_M30624_IG11 ;; bbWeight=4 PerfScore 13.00 G_M30624_IG06: inc eax cmp eax, ebp jl SHORT G_M30624_IG05 ;; bbWeight=4 PerfScore 6.00 G_M30624_IG07: jmp G_M30624_IG21 align [10 bytes] ;; bbWeight=0.50 PerfScore 1.12 G_M30624_IG08: cmp eax, dword ptr [rsi+8] jae G_M30624_IG25 movsxd rcx, eax cmp gword ptr [rsi+8*rcx+16], 0 je SHORT G_M30624_IG11 ;; bbWeight=4 PerfScore 25.00 G_M30624_IG09: inc eax cmp eax, ebp jl SHORT G_M30624_IG08 ;; bbWeight=4 PerfScore 6.00 G_M30624_IG10: jmp G_M30624_IG21 ;; bbWeight=0.50 PerfScore 1.00 G_M30624_IG11: add rsp, 48 pop rbx pop rbp pop rsi pop rdi pop r14 ret ;; bbWeight=0.50 PerfScore 1.88 G_M30624_IG12: mov r14d, r9d cmp r9d, ebp jge G_M30624_IG21 test rsi, rsi je SHORT G_M30624_IG18 ;; bbWeight=0.50 PerfScore 1.38 G_M30624_IG13: mov ecx, r14d not ecx shr ecx, 31 mov r11d, ebp not r11d shr r11d, 31 and ecx, r11d cmp dword ptr [rsi+8], ebp setge r11b movzx r11, r11b test ecx, r11d je SHORT G_M30624_IG18 ;; bbWeight=0.50 PerfScore 4.88 G_M30624_IG14: movsxd rcx, r14d mov rcx, gword ptr [rsi+8*rcx+16] test rcx, rcx je SHORT G_M30624_IG16 ;; bbWeight=4 PerfScore 14.00 G_M30624_IG15: mov r11, qword ptr [rbx] cmp r14d, dword ptr [rsi+8] jae SHORT G_M30624_IG25 mov rdx, rdi call qword ptr [r11] test eax, eax jne SHORT G_M30624_IG23 ;; bbWeight=2 PerfScore 19.00 G_M30624_IG16: inc r14d cmp r14d, ebp jl SHORT G_M30624_IG14 ;; bbWeight=4 PerfScore 6.00 G_M30624_IG17: jmp SHORT G_M30624_IG21 align [0 bytes] ;; bbWeight=0.50 PerfScore 1.12 G_M30624_IG18: cmp r14d, dword ptr [rsi+8] jae SHORT G_M30624_IG25 movsxd rcx, r14d mov rcx, gword ptr [rsi+8*rcx+16] test rcx, rcx je SHORT G_M30624_IG20 ;; bbWeight=4 PerfScore 26.00 G_M30624_IG19: mov r11, qword ptr [rbx] mov rdx, rdi call qword ptr [r11] test eax, eax jne SHORT G_M30624_IG23 ;; bbWeight=2 PerfScore 13.00 G_M30624_IG20: inc r14d cmp r14d, ebp jl SHORT G_M30624_IG18 ;; bbWeight=4 PerfScore 6.00 G_M30624_IG21: mov eax, -1 ;; bbWeight=0.50 PerfScore 0.12 G_M30624_IG22: add rsp, 48 pop rbx pop rbp pop rsi pop rdi pop r14 ret ;; bbWeight=0.50 PerfScore 1.88 G_M30624_IG23: mov eax, r14d ;; bbWeight=0.50 PerfScore 0.12 G_M30624_IG24: add rsp, 48 pop rbx pop rbp pop rsi pop rdi pop r14 ret ;; bbWeight=0.50 PerfScore 1.88 G_M30624_IG25: call CORINFO_HELP_RNGCHKFAIL int3 ;; bbWeight=0 PerfScore 0.00 ; Total bytes of code 342, prolog size 24, PerfScore 199.45, instruction count 121, allocated bytes for code 342 (MethodHash=c3fb885f) for method System.Collections.Generic.GenericEqualityComparer`1[__Canon][System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this ; ============================================================ Using jit(D:\git\runtime\artifacts\tests\coreclr\windows.x64.Checked\tests\Core_Root\clrjit.dll) with input (D:\git\runtime\artifacts\spmi\mch\af37688b-d4e5-4a41-a7ee-701728a470aa.windows.x64\benchmarks.run.windows.x64.checked.mch) indexCount=1 (2725) Jit startup took 25.515400ms Loaded 1 Jitted 1 FailedCompile 0 Excluded 0 Total time: 46.666100ms
変更されたテキスト
ファイルを開く
; Assembly listing for method System.Collections.Generic.GenericEqualityComparer`1[__Canon][System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; fully interruptible ; discarded IBC profile data due to mismatch in ILSize ; Final local variable assignments ; ; V00 this [V00,T08] ( 4, 6 ) ref -> rbx this class-hnd ; V01 arg1 [V01,T02] ( 13, 30 ) ref -> rsi class-hnd ; V02 arg2 [V02,T07] ( 5, 7 ) ref -> rdi class-hnd ; V03 arg3 [V03,T09] ( 7, 5 ) int -> r9 ; V04 arg4 [V04,T10] ( 1, 1 ) int -> [rsp+0x80] ; V05 loc0 [V05,T04] ( 11, 20 ) int -> rbp ; V06 loc1 [V06,T01] ( 12, 37.50) int -> rax ; V07 loc2 [V07,T00] ( 13, 39.50) int -> r14 ; V08 OutArgs [V08 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace" ; V09 tmp1 [V09,T03] ( 6, 24 ) long -> r11 "VirtualCall with runtime lookup" ; V10 cse0 [V10,T05] ( 3, 10 ) ref -> rcx "CSE - aggressive" ; V11 cse1 [V11,T06] ( 3, 10 ) ref -> rcx "CSE - aggressive" ; ; Lcl frame size = 48 G_M30624_IG01: push r14 push rdi push rsi push rbp push rbx sub rsp, 48 mov qword ptr [rsp+28H], rcx mov rbx, rcx mov rsi, rdx mov rdi, r8 ;; bbWeight=1 PerfScore 7.00 G_M30624_IG02: mov ebp, r9d add ebp, dword ptr [rsp+80H] test rdi, rdi jne SHORT G_M30624_IG12 ;; bbWeight=1 PerfScore 2.50 G_M30624_IG03: mov eax, r9d cmp r9d, ebp jge G_M30624_IG21 test rsi, rsi je SHORT G_M30624_IG08 ;; bbWeight=0.50 PerfScore 1.38 G_M30624_IG04: mov r9d, eax not r9d shr r9d, 31 mov ecx, ebp not ecx shr ecx, 31 and ecx, r9d cmp dword ptr [rsi+8], ebp setge r11b movzx r11, r11b test ecx, r11d je SHORT G_M30624_IG08 align [0 bytes] ;; bbWeight=0.50 PerfScore 5.00 G_M30624_IG05: movsxd rcx, eax cmp gword ptr [rsi+8*rcx+16], 0 je SHORT G_M30624_IG11 ;; bbWeight=4 PerfScore 13.00 G_M30624_IG06: inc eax cmp eax, ebp jl SHORT G_M30624_IG05 ;; bbWeight=4 PerfScore 6.00 G_M30624_IG07: jmp G_M30624_IG21 ;; bbWeight=0.50 PerfScore 1.00 G_M30624_IG08: cmp eax, dword ptr [rsi+8] jae G_M30624_IG25 movsxd rcx, eax cmp gword ptr [rsi+8*rcx+16], 0 je SHORT G_M30624_IG11 ;; bbWeight=4 PerfScore 25.00 G_M30624_IG09: inc eax cmp eax, ebp jl SHORT G_M30624_IG08 ;; bbWeight=4 PerfScore 6.00 G_M30624_IG10: jmp G_M30624_IG21 ;; bbWeight=0.50 PerfScore 1.00 G_M30624_IG11: add rsp, 48 pop rbx pop rbp pop rsi pop rdi pop r14 ret ;; bbWeight=0.50 PerfScore 1.88 G_M30624_IG12: mov r14d, r9d cmp r9d, ebp jge G_M30624_IG21 test rsi, rsi je SHORT G_M30624_IG18 ;; bbWeight=0.50 PerfScore 1.38 G_M30624_IG13: mov ecx, r14d not ecx shr ecx, 31 mov r11d, ebp not r11d shr r11d, 31 and ecx, r11d cmp dword ptr [rsi+8], ebp setge r11b movzx r11, r11b test ecx, r11d je SHORT G_M30624_IG18 ;; bbWeight=0.50 PerfScore 4.88 G_M30624_IG14: movsxd rcx, r14d mov rcx, gword ptr [rsi+8*rcx+16] test rcx, rcx je SHORT G_M30624_IG16 ;; bbWeight=4 PerfScore 14.00 G_M30624_IG15: mov r11, qword ptr [rbx] cmp r14d, dword ptr [rsi+8] jae SHORT G_M30624_IG25 mov rdx, rdi call qword ptr [r11] test eax, eax jne SHORT G_M30624_IG23 ;; bbWeight=2 PerfScore 19.00 G_M30624_IG16: inc r14d cmp r14d, ebp jl SHORT G_M30624_IG14 ;; bbWeight=4 PerfScore 6.00 G_M30624_IG17: jmp SHORT G_M30624_IG21 ;; bbWeight=0.50 PerfScore 1.00 G_M30624_IG18: cmp r14d, dword ptr [rsi+8] jae SHORT G_M30624_IG25 movsxd rcx, r14d mov rcx, gword ptr [rsi+8*rcx+16] test rcx, rcx je SHORT G_M30624_IG20 ;; bbWeight=4 PerfScore 26.00 G_M30624_IG19: mov r11, qword ptr [rbx] mov rdx, rdi call qword ptr [r11] test eax, eax jne SHORT G_M30624_IG23 ;; bbWeight=2 PerfScore 13.00 G_M30624_IG20: inc r14d cmp r14d, ebp jl SHORT G_M30624_IG18 ;; bbWeight=4 PerfScore 6.00 G_M30624_IG21: mov eax, -1 ;; bbWeight=0.50 PerfScore 0.12 G_M30624_IG22: add rsp, 48 pop rbx pop rbp pop rsi pop rdi pop r14 ret ;; bbWeight=0.50 PerfScore 1.88 G_M30624_IG23: mov eax, r14d ;; bbWeight=0.50 PerfScore 0.12 G_M30624_IG24: add rsp, 48 pop rbx pop rbp pop rsi pop rdi pop r14 ret ;; bbWeight=0.50 PerfScore 1.88 G_M30624_IG25: call CORINFO_HELP_RNGCHKFAIL int3 ;; bbWeight=0 PerfScore 0.00 ; Total bytes of code 328, prolog size 24, PerfScore 198.20, instruction count 119, allocated bytes for code 332 (MethodHash=c3fb885f) for method System.Collections.Generic.GenericEqualityComparer`1[__Canon][System.__Canon]:IndexOf(System.__Canon[],System.__Canon,int,int):int:this ; ============================================================ Using jit(D:\git\runtime\artifacts\tests\coreclr\windows.x64.Checked\tests\Core_Root\clrjit.dll) with input (D:\git\runtime\artifacts\spmi\mch\af37688b-d4e5-4a41-a7ee-701728a470aa.windows.x64\benchmarks.run.windows.x64.checked.mch) indexCount=1 (2725) Jit startup took 25.210900ms Loaded 1 Jitted 1 FailedCompile 0 Excluded 0 Total time: 46.774600ms
違いを見つける