Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
텍스트 스타일
모양 변경
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 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) ; ============================================================
비교하기