Diff
checker
文本
文本
圖像
文檔
Excel
文件夾
Legal
Enterprise
桌面版
定價
登入
下載 Diffchecker 桌面版
比較文本
尋找兩個文字檔案之間的差異
工具
歷史
即時編輯器
隱藏空白變更
摺疊未變更行
關閉換行
檢視
拆分
統一
比對精度
智能
單詞
字符
文字樣式
變更外觀
語法突出顯示
選擇語法
忽略
文字轉換
前往第一個差異
編輯輸入
Diffchecker Desktop
執行Diffchecker最安全的方式。取得Diffchecker桌面應用程式:您的差異永遠不會離開您的電腦!
取得桌面版
Untitled Diff
建立於
5 年前
差異永不過期
清除
匯出
分享
解釋
14 刪除
行
總計
刪除
字符
總計
刪除
要繼續使用此功能,請升級到
Diff
checker
Pro
查看價格
110 行
全部複製
13 新增
行
總計
新增
字符
總計
新增
要繼續使用此功能,請升級到
Diff
checker
Pro
查看價格
109 行
全部複製
; Assembly listing for method JsonSerializerOptionsUpdateHandler:ClearCache(ref)
; Assembly listing for method JsonSerializerOptionsUpdateHandler:ClearCache(ref)
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
;* V00 arg0 [V00 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def
;* V00 arg0 [V00 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def
; V01 loc0 [V01,T01] ( 7, 10 ) ref -> [rbp-28H] class-hnd EH-live single-def
; V01 loc0 [V01,T01] ( 7, 10 ) ref -> [rbp-28H] class-hnd EH-live single-def
; V02 loc1 [V02 ] ( 2, 8 ) struct (16) [rbp-20H] do-not-enreg[XSB] must-init addr-exposed ld-addr-op
; V02 loc1 [V02 ] ( 2, 8 ) struct (16) [rbp-20H] do-not-enreg[XSB] must-init addr-exposed ld-addr-op
; V03 OutArgs [V03 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V03 OutArgs [V03 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V04 tmp1 [V04,T00] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg"
; V04 tmp1 [V04,T00] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg"
; V05 tmp2 [V05 ] ( 2, 8 ) ref -> [rbp-20H] do-not-enreg[X] addr-exposed V02.key(offs=0x00) P-DEP "field V02.key (fldOffset=0x0)"
; V05 tmp2 [V05 ] ( 2, 8 ) ref -> [rbp-20H] do-not-enreg[X] addr-exposed V02.key(offs=0x00) P-DEP "field V02.key (fldOffset=0x0)"
; V06 tmp3 [V06 ] ( 1, 4 ) ref -> [rbp-18H] do-not-enreg[X] addr-exposed V02.value(offs=0x08) P-DEP "field V02.value (fldOffset=0x8)"
; V06 tmp3 [V06 ] ( 1, 4 ) ref -> [rbp-18H] do-not-enreg[X] addr-exposed V02.value(offs=0x08) P-DEP "field V02.value (fldOffset=0x8)"
複製
已複製
複製
已複製
; V07
tmp4 [V07,T02] ( 2, 4 ) ref -> rcx single-def "argument with side effect"
; V07
PSPSym [V0
7
] ( 1, 1 ) long -> [rbp-30H] do-not-enreg[X] addr-exposed "PSPSym"
; V08
PSPSym [V0
8
] ( 1, 1 ) long -> [rbp-30H] do-not-enreg[X] addr-exposed "PSPSym"
; V0
8
tmp
5
[V0
8
,T0
2
] ( 2, 2 ) ref -> rsi "optAddCopies"
; V0
9
tmp
6
[V0
9
,T0
3
] ( 2, 2 ) ref -> rsi "optAddCopies"
;
;
; Lcl frame size = 64
; Lcl frame size = 64
G_M53696_IG01:
G_M53696_IG01:
push rbp
push rbp
push rdi
push rdi
push rsi
push rsi
sub rsp, 64
sub rsp, 64
lea rbp, [rsp+50H]
lea rbp, [rsp+50H]
xor eax, eax
xor eax, eax
mov qword ptr [rbp-20H], rax
mov qword ptr [rbp-20H], rax
mov qword ptr [rbp-18H], rax
mov qword ptr [rbp-18H], rax
mov qword ptr [rbp-30H], rsp
mov qword ptr [rbp-30H], rsp
;; bbWeight=1 PerfScore 7.00
;; bbWeight=1 PerfScore 7.00
G_M53696_IG02:
G_M53696_IG02:
mov rcx, 0xD1FFAB1E
mov rcx, 0xD1FFAB1E
mov edx, 61
mov edx, 61
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
mov rcx, 0xD1FFAB1E
mov rcx, 0xD1FFAB1E
mov rcx, gword ptr [rcx]
mov rcx, gword ptr [rcx]
複製
已複製
複製
已複製
mov
r11, 0xD1FFAB1E
cmp
dword ptr [rcx], ecx
call [
IEnumerable
`1:
GetEnumerator():IEnumerator`1:this]
call [
ConditionalWeakTable`2:System.Collections.Generic.
IEnumerable
<System.Collections.Generic.KeyValuePair<TKey,TValue>>.
GetEnumerator():IEnumerator`1:this]
mov rsi, rax
mov rsi, rax
mov gword ptr [rbp-28H], rsi
mov gword ptr [rbp-28H], rsi
複製
已複製
複製
已複製
;; bbWeight=1 PerfScore
8.25
;; bbWeight=1 PerfScore
10.00
G_M53696_IG03:
G_M53696_IG03:
mov rcx, rsi
mov rcx, rsi
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [IEnumerator:MoveNext():bool:this]
call [IEnumerator:MoveNext():bool:this]
test eax, eax
test eax, eax
je SHORT G_M53696_IG05
je SHORT G_M53696_IG05
;; bbWeight=1 PerfScore 4.75
;; bbWeight=1 PerfScore 4.75
G_M53696_IG04:
G_M53696_IG04:
lea rdx, bword ptr [rbp-20H]
lea rdx, bword ptr [rbp-20H]
mov rcx, rsi
mov rcx, rsi
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [IEnumerator`1:get_Current():KeyValuePair`2:this]
call [IEnumerator`1:get_Current():KeyValuePair`2:this]
mov rdi, gword ptr [rbp-20H]
mov rdi, gword ptr [rbp-20H]
mov rcx, gword ptr [rdi+24]
mov rcx, gword ptr [rdi+24]
cmp dword ptr [rcx], ecx
cmp dword ptr [rcx], ecx
call [ConcurrentDictionary`2:Clear():this]
call [ConcurrentDictionary`2:Clear():this]
xor rcx, rcx
xor rcx, rcx
mov gword ptr [rdi+32], rcx
mov gword ptr [rdi+32], rcx
mov rcx, rsi
mov rcx, rsi
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [IEnumerator:MoveNext():bool:this]
call [IEnumerator:MoveNext():bool:this]
test eax, eax
test eax, eax
jne SHORT G_M53696_IG04
jne SHORT G_M53696_IG04
;; bbWeight=4 PerfScore 72.00
;; bbWeight=4 PerfScore 72.00
G_M53696_IG05:
G_M53696_IG05:
mov rcx, rsi
mov rcx, rsi
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [IDisposable:Dispose():this]
call [IDisposable:Dispose():this]
nop
nop
;; bbWeight=1 PerfScore 3.75
;; bbWeight=1 PerfScore 3.75
G_M53696_IG06:
G_M53696_IG06:
add rsp, 64
add rsp, 64
pop rsi
pop rsi
pop rdi
pop rdi
pop rbp
pop rbp
ret
ret
;; bbWeight=1 PerfScore 2.75
;; bbWeight=1 PerfScore 2.75
G_M53696_IG07:
G_M53696_IG07:
push rbp
push rbp
push rdi
push rdi
push rsi
push rsi
sub rsp, 48
sub rsp, 48
mov rbp, qword ptr [rcx+32]
mov rbp, qword ptr [rcx+32]
mov qword ptr [rsp+20H], rbp
mov qword ptr [rsp+20H], rbp
lea rbp, [rbp+50H]
lea rbp, [rbp+50H]
;; bbWeight=0 PerfScore 0.00
;; bbWeight=0 PerfScore 0.00
G_M53696_IG08:
G_M53696_IG08:
cmp gword ptr [rbp-28H], 0
cmp gword ptr [rbp-28H], 0
je SHORT G_M53696_IG09
je SHORT G_M53696_IG09
mov rcx, gword ptr [rbp-28H]
mov rcx, gword ptr [rbp-28H]
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [IDisposable:Dispose():this]
call [IDisposable:Dispose():this]
;; bbWeight=0 PerfScore 0.00
;; bbWeight=0 PerfScore 0.00
G_M53696_IG09:
G_M53696_IG09:
nop
nop
;; bbWeight=0 PerfScore 0.00
;; bbWeight=0 PerfScore 0.00
G_M53696_IG10:
G_M53696_IG10:
add rsp, 48
add rsp, 48
pop rsi
pop rsi
pop rdi
pop rdi
pop rbp
pop rbp
ret
ret
;; bbWeight=0 PerfScore 0.00
;; bbWeight=0 PerfScore 0.00
複製
已複製
複製
已複製
; Total bytes of code
257
, prolog size 26, PerfScore 12
4.20
, instruction count 65, allocated bytes for code
257
(MethodHash=ded42e3f) for method JsonSerializerOptionsUpdateHandler:ClearCache(ref)
; Total bytes of code
249
, prolog size 26, PerfScore 12
5.15
, instruction count 65, allocated bytes for code
249
(MethodHash=ded42e3f) for method JsonSerializerOptionsUpdateHandler:ClearCache(ref)
; ============================================================
; ============================================================
已保存差異
原始文本
開啟檔案
; Assembly listing for method JsonSerializerOptionsUpdateHandler:ClearCache(ref) ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def ; V01 loc0 [V01,T01] ( 7, 10 ) ref -> [rbp-28H] class-hnd EH-live single-def ; V02 loc1 [V02 ] ( 2, 8 ) struct (16) [rbp-20H] do-not-enreg[XSB] must-init addr-exposed ld-addr-op ; V03 OutArgs [V03 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V04 tmp1 [V04,T00] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" ; V05 tmp2 [V05 ] ( 2, 8 ) ref -> [rbp-20H] do-not-enreg[X] addr-exposed V02.key(offs=0x00) P-DEP "field V02.key (fldOffset=0x0)" ; V06 tmp3 [V06 ] ( 1, 4 ) ref -> [rbp-18H] do-not-enreg[X] addr-exposed V02.value(offs=0x08) P-DEP "field V02.value (fldOffset=0x8)" ; V07 tmp4 [V07,T02] ( 2, 4 ) ref -> rcx single-def "argument with side effect" ; V08 PSPSym [V08 ] ( 1, 1 ) long -> [rbp-30H] do-not-enreg[X] addr-exposed "PSPSym" ; V09 tmp6 [V09,T03] ( 2, 2 ) ref -> rsi "optAddCopies" ; ; Lcl frame size = 64 G_M53696_IG01: push rbp push rdi push rsi sub rsp, 64 lea rbp, [rsp+50H] xor eax, eax mov qword ptr [rbp-20H], rax mov qword ptr [rbp-18H], rax mov qword ptr [rbp-30H], rsp ;; bbWeight=1 PerfScore 7.00 G_M53696_IG02: mov rcx, 0xD1FFAB1E mov edx, 61 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov rcx, 0xD1FFAB1E mov rcx, gword ptr [rcx] mov r11, 0xD1FFAB1E call [IEnumerable`1:GetEnumerator():IEnumerator`1:this] mov rsi, rax mov gword ptr [rbp-28H], rsi ;; bbWeight=1 PerfScore 8.25 G_M53696_IG03: mov rcx, rsi mov r11, 0xD1FFAB1E call [IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M53696_IG05 ;; bbWeight=1 PerfScore 4.75 G_M53696_IG04: lea rdx, bword ptr [rbp-20H] mov rcx, rsi mov r11, 0xD1FFAB1E call [IEnumerator`1:get_Current():KeyValuePair`2:this] mov rdi, gword ptr [rbp-20H] mov rcx, gword ptr [rdi+24] cmp dword ptr [rcx], ecx call [ConcurrentDictionary`2:Clear():this] xor rcx, rcx mov gword ptr [rdi+32], rcx mov rcx, rsi mov r11, 0xD1FFAB1E call [IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M53696_IG04 ;; bbWeight=4 PerfScore 72.00 G_M53696_IG05: mov rcx, rsi mov r11, 0xD1FFAB1E call [IDisposable:Dispose():this] nop ;; bbWeight=1 PerfScore 3.75 G_M53696_IG06: add rsp, 64 pop rsi pop rdi pop rbp ret ;; bbWeight=1 PerfScore 2.75 G_M53696_IG07: push rbp push rdi push rsi sub rsp, 48 mov rbp, qword ptr [rcx+32] mov qword ptr [rsp+20H], rbp lea rbp, [rbp+50H] ;; bbWeight=0 PerfScore 0.00 G_M53696_IG08: cmp gword ptr [rbp-28H], 0 je SHORT G_M53696_IG09 mov rcx, gword ptr [rbp-28H] mov r11, 0xD1FFAB1E call [IDisposable:Dispose():this] ;; bbWeight=0 PerfScore 0.00 G_M53696_IG09: nop ;; bbWeight=0 PerfScore 0.00 G_M53696_IG10: add rsp, 48 pop rsi pop rdi pop rbp ret ;; bbWeight=0 PerfScore 0.00 ; Total bytes of code 257, prolog size 26, PerfScore 124.20, instruction count 65, allocated bytes for code 257 (MethodHash=ded42e3f) for method JsonSerializerOptionsUpdateHandler:ClearCache(ref) ; ============================================================
更改後文本
開啟檔案
; Assembly listing for method JsonSerializerOptionsUpdateHandler:ClearCache(ref) ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 4 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 arg0 [V00 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def ; V01 loc0 [V01,T01] ( 7, 10 ) ref -> [rbp-28H] class-hnd EH-live single-def ; V02 loc1 [V02 ] ( 2, 8 ) struct (16) [rbp-20H] do-not-enreg[XSB] must-init addr-exposed ld-addr-op ; V03 OutArgs [V03 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V04 tmp1 [V04,T00] ( 3, 24 ) ref -> rdi class-hnd "Inlining Arg" ; V05 tmp2 [V05 ] ( 2, 8 ) ref -> [rbp-20H] do-not-enreg[X] addr-exposed V02.key(offs=0x00) P-DEP "field V02.key (fldOffset=0x0)" ; V06 tmp3 [V06 ] ( 1, 4 ) ref -> [rbp-18H] do-not-enreg[X] addr-exposed V02.value(offs=0x08) P-DEP "field V02.value (fldOffset=0x8)" ; V07 PSPSym [V07 ] ( 1, 1 ) long -> [rbp-30H] do-not-enreg[X] addr-exposed "PSPSym" ; V08 tmp5 [V08,T02] ( 2, 2 ) ref -> rsi "optAddCopies" ; ; Lcl frame size = 64 G_M53696_IG01: push rbp push rdi push rsi sub rsp, 64 lea rbp, [rsp+50H] xor eax, eax mov qword ptr [rbp-20H], rax mov qword ptr [rbp-18H], rax mov qword ptr [rbp-30H], rsp ;; bbWeight=1 PerfScore 7.00 G_M53696_IG02: mov rcx, 0xD1FFAB1E mov edx, 61 call CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE mov rcx, 0xD1FFAB1E mov rcx, gword ptr [rcx] cmp dword ptr [rcx], ecx call [ConditionalWeakTable`2:System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator():IEnumerator`1:this] mov rsi, rax mov gword ptr [rbp-28H], rsi ;; bbWeight=1 PerfScore 10.00 G_M53696_IG03: mov rcx, rsi mov r11, 0xD1FFAB1E call [IEnumerator:MoveNext():bool:this] test eax, eax je SHORT G_M53696_IG05 ;; bbWeight=1 PerfScore 4.75 G_M53696_IG04: lea rdx, bword ptr [rbp-20H] mov rcx, rsi mov r11, 0xD1FFAB1E call [IEnumerator`1:get_Current():KeyValuePair`2:this] mov rdi, gword ptr [rbp-20H] mov rcx, gword ptr [rdi+24] cmp dword ptr [rcx], ecx call [ConcurrentDictionary`2:Clear():this] xor rcx, rcx mov gword ptr [rdi+32], rcx mov rcx, rsi mov r11, 0xD1FFAB1E call [IEnumerator:MoveNext():bool:this] test eax, eax jne SHORT G_M53696_IG04 ;; bbWeight=4 PerfScore 72.00 G_M53696_IG05: mov rcx, rsi mov r11, 0xD1FFAB1E call [IDisposable:Dispose():this] nop ;; bbWeight=1 PerfScore 3.75 G_M53696_IG06: add rsp, 64 pop rsi pop rdi pop rbp ret ;; bbWeight=1 PerfScore 2.75 G_M53696_IG07: push rbp push rdi push rsi sub rsp, 48 mov rbp, qword ptr [rcx+32] mov qword ptr [rsp+20H], rbp lea rbp, [rbp+50H] ;; bbWeight=0 PerfScore 0.00 G_M53696_IG08: cmp gword ptr [rbp-28H], 0 je SHORT G_M53696_IG09 mov rcx, gword ptr [rbp-28H] mov r11, 0xD1FFAB1E call [IDisposable:Dispose():this] ;; bbWeight=0 PerfScore 0.00 G_M53696_IG09: nop ;; bbWeight=0 PerfScore 0.00 G_M53696_IG10: add rsp, 48 pop rsi pop rdi pop rbp ret ;; bbWeight=0 PerfScore 0.00 ; Total bytes of code 249, prolog size 26, PerfScore 125.15, instruction count 65, allocated bytes for code 249 (MethodHash=ded42e3f) for method JsonSerializerOptionsUpdateHandler:ClearCache(ref) ; ============================================================
尋找差異