Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled Diff
생성일
3년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
51 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
116 행
복사
54 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
116 행
복사
; Assembly listing for method System.TimeZoneInfo+StringSerializer:SerializeSubstitute(System.String,byref)
; Assembly listing for method System.TimeZoneInfo+StringSerializer:SerializeSubstitute(System.String,byref)
; Emitting BLENDED_CODE for X64 CPU with SSE2 - Windows
; Emitting BLENDED_CODE for X64 CPU with SSE2 - Windows
; ReadyToRun compilation
; ReadyToRun compilation
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data
; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
복사
복사됨
복사
복사됨
; V00 arg0 [V00,
T09
] ( 3, 3 ) ref -> rcx class-hnd single-def
; V00 arg0 [V00,
T11
] ( 3, 3 ) ref -> rcx class-hnd single-def
; V01 arg1 [V01,T00] (
12, 26
) byref -> rsi single-def
; V01 arg1 [V01,T00] (
10, 22
) byref -> rsi single-def
; V02 loc0 [V02,T0
7
] ( 3, 6 ) ref -> rdi class-hnd single-def
; V02 loc0 [V02,T0
8
] ( 3, 6 ) ref -> rdi class-hnd single-def
; V03 loc1 [V03,T0
2
] ( 5, 17 ) int -> rbx
; V03 loc1 [V03,T0
3
] ( 5, 17 ) int -> rbx
; V04 loc2 [V04,T0
1
] ( 7, 18 ) ushort -> r14
; V04 loc2 [V04,T0
2
] ( 7, 18 ) ushort -> r14
; V05 OutArgs [V05 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V05 OutArgs [V05 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
복사
복사됨
복사
복사됨
; V06 tmp1 [V06,T06] (
5, 10
) int -> rcx "Inline stloc first use temp"
; V06 tmp1 [V06,T06] (
4, 8
) int -> rcx "Inline stloc first use temp"
;
V07 tmp2 [V07
,T04
] (
3, 12
)
by
ref
-> rdx "Span.get_Item ptrToSpan
"
;
*
V07 tmp2 [V07
] (
0, 0
)
struct (16) zero-
ref
ld-addr-op "Inline stloc first use temp
"
; V08 tmp3 [V08,T0
3
] (
5, 14
) int -> rcx "Inline stloc first use temp"
; V08 tmp3 [V08,T0
4
] (
4, 12
) int -> rcx "Inline stloc first use temp"
;
V09 tmp4 [V09
,T05] ( 3, 12 ) byref -> rdx "
Span.get_Item ptrToSpan"
;
*
V09 tmp4 [V09
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp"
; V1
0
cse0 [V1
0
,T0
8
] ( 3, 6 ) int -> rbp "CSE - aggressive"
; V10 tmp5 [V10,T12] ( 2, 4 ) byref -> rax V07._reference(offs=0x00) P-INDEP "field V07._reference (fldOffset=0x0)"
; V11 tmp6 [V11,T13] ( 2, 4 ) int -> rdx V07._length(offs=0x08) P-INDEP "field V07._length (fldOffset=0x8)"
; V12 tmp7 [V12,T10] ( 2, 6 ) byref -> rax V09._reference(offs=0x00) P-INDEP "field V09._reference (fldOffset=0x0)"
; V13 tmp8 [V13,T07] ( 2, 8 ) int -> rdx V09._length(offs=0x08) P-INDEP "field V09._length (fldOffset=0x8)"
; V14 tmp9 [V14
,T05] ( 3, 12 ) byref -> rdx "
BlockOp address local"
; V15 tmp10 [V15,T01] ( 3, 24 ) byref -> rdx "BlockOp address local"
; V1
6
cse0 [V1
6
,T0
9
] ( 3, 6 ) int -> rbp "CSE - aggressive"
;
;
; Lcl frame size = 32
; Lcl frame size = 32
G_M45441_IG01:
G_M45441_IG01:
push r14
push r14
push rdi
push rdi
push rsi
push rsi
push rbp
push rbp
push rbx
push rbx
sub rsp, 32
sub rsp, 32
mov rsi, rdx
mov rsi, rdx
;; size=13 bbWeight=1 PerfScore 5.50
;; size=13 bbWeight=1 PerfScore 5.50
G_M45441_IG02:
G_M45441_IG02:
mov rdi, rcx
mov rdi, rcx
xor ebx, ebx
xor ebx, ebx
mov ebp, dword ptr [rdi+08H]
mov ebp, dword ptr [rdi+08H]
test ebp, ebp
test ebp, ebp
jle G_M45441_IG11
jle G_M45441_IG11
;; size=16 bbWeight=1 PerfScore 3.75
;; size=16 bbWeight=1 PerfScore 3.75
G_M45441_IG03:
G_M45441_IG03:
mov ecx, ebx
mov ecx, ebx
movzx r14, word ptr [rdi+2*rcx+0CH]
movzx r14, word ptr [rdi+2*rcx+0CH]
cmp r14d, 92
cmp r14d, 92
je SHORT G_M45441_IG05
je SHORT G_M45441_IG05
;; size=14 bbWeight=4 PerfScore 14.00
;; size=14 bbWeight=4 PerfScore 14.00
G_M45441_IG04:
G_M45441_IG04:
cmp r14d, 91
cmp r14d, 91
je SHORT G_M45441_IG05
je SHORT G_M45441_IG05
cmp r14d, 93
cmp r14d, 93
je SHORT G_M45441_IG05
je SHORT G_M45441_IG05
cmp r14d, 59
cmp r14d, 59
jne SHORT G_M45441_IG07
jne SHORT G_M45441_IG07
;; size=18 bbWeight=2 PerfScore 7.50
;; size=18 bbWeight=2 PerfScore 7.50
G_M45441_IG05:
G_M45441_IG05:
mov ecx, dword ptr [rsi+08H]
mov ecx, dword ptr [rsi+08H]
복사
복사됨
복사
복사됨
cmp ecx, dword ptr [rsi+18H]
jae SHORT G_M45441_IG06
lea rdx, bword ptr [rsi+10H]
lea rdx, bword ptr [rsi+10H]
복사
복사됨
복사
복사됨
cmp
e
c
x, dword ptr [rdx+08H]
mov rax, bword ptr [rdx]
jae SHORT G_M45441_
IG12
mov
e
d
x, dword ptr [rdx+08H]
mov rdx, bword ptr [rdx]
cmp ecx, edx
mov e
a
x, ecx
jae SHORT G_M45441_
IG06
mov word ptr [r
d
x+2*r
a
x], 92
mov e
d
x, ecx
mov word ptr [r
a
x+2*r
d
x], 92
inc ecx
inc ecx
mov dword ptr [rsi+08H], ecx
mov dword ptr [rsi+08H], ecx
jmp SHORT G_M45441_IG07
jmp SHORT G_M45441_IG07
복사
복사됨
복사
복사됨
;; size=
35
bbWeight=2 PerfScore
34.00
;; size=
32
bbWeight=2 PerfScore
24.50
G_M45441_IG06:
G_M45441_IG06:
mov rcx, rsi
mov rcx, rsi
mov edx, 92
mov edx, 92
call [System.Text.ValueStringBuilder:GrowAndAppend(ushort):this]
call [System.Text.ValueStringBuilder:GrowAndAppend(ushort):this]
;; size=14 bbWeight=2 PerfScore 7.00
;; size=14 bbWeight=2 PerfScore 7.00
G_M45441_IG07:
G_M45441_IG07:
mov ecx, dword ptr [rsi+08H]
mov ecx, dword ptr [rsi+08H]
복사
복사됨
복사
복사됨
cmp ecx,
dword ptr [rsi+18H]
lea rdx, bword ptr [rsi+10H]
mov rax, bword ptr [rdx]
mov edx, dword ptr [rdx+08H]
cmp ecx,
edx
jae SHORT G_M45441_IG09
jae SHORT G_M45441_IG09
복사
복사됨
복사
복사됨
;; size=
8
bbWeight=4 PerfScore
24
.00
;; size=
17
bbWeight=4 PerfScore
31
.00
G_M45441_IG08:
G_M45441_IG08:
복사
복사됨
복사
복사됨
lea rdx, bword ptr [rsi+10H]
mov e
d
x, ecx
cmp ecx, dword ptr [rdx+08H]
mov word ptr [r
a
x+2*r
d
x], r14w
jae SHORT G_M45441_IG12
mov rdx, bword ptr [rdx]
mov e
a
x, ecx
mov word ptr [r
d
x+2*r
a
x], r14w
inc ecx
inc ecx
mov dword ptr [rsi+08H], ecx
mov dword ptr [rsi+08H], ecx
jmp SHORT G_M45441_IG10
jmp SHORT G_M45441_IG10
복사
복사됨
복사
복사됨
;; size=
26
bbWeight=2 PerfScore
22
.00
;; size=
14
bbWeight=2 PerfScore
9
.00
G_M45441_IG09:
G_M45441_IG09:
mov rcx, rsi
mov rcx, rsi
mov edx, r14d
mov edx, r14d
call [System.Text.ValueStringBuilder:GrowAndAppend(ushort):this]
call [System.Text.ValueStringBuilder:GrowAndAppend(ushort):this]
;; size=12 bbWeight=2 PerfScore 7.00
;; size=12 bbWeight=2 PerfScore 7.00
G_M45441_IG10:
G_M45441_IG10:
inc ebx
inc ebx
cmp ebp, ebx
cmp ebp, ebx
복사
복사됨
복사
복사됨
jg
G_M45441_IG03
jg
SHORT
G_M45441_IG03
;; size=
10
bbWeight=4 PerfScore 6.00
;; size=
6
bbWeight=4 PerfScore 6.00
G_M45441_IG11:
G_M45441_IG11:
add rsp, 32
add rsp, 32
pop rbx
pop rbx
pop rbp
pop rbp
pop rsi
pop rsi
pop rdi
pop rdi
pop r14
pop r14
ret
ret
;; size=11 bbWeight=1 PerfScore 3.75
;; size=11 bbWeight=1 PerfScore 3.75
복사
복사됨
복사
복사됨
G_M45441_IG12:
call [CORINFO_HELP_RNGCHKFAIL]
int3
;; size=7 bbWeight=0 PerfScore 0.00
복사
복사됨
복사
복사됨
; Total bytes of code
184
, prolog size 13, PerfScore 1
52.90
, instruction count
64
, allocated bytes for code
184
(MethodHash=a0f64e7e) for method System.TimeZoneInfo+StringSerializer:SerializeSubstitute(System.String,byref)
; Total bytes of code
167
, prolog size 13, PerfScore 1
35.70
, instruction count
60
, allocated bytes for code
167
(MethodHash=a0f64e7e) for method System.TimeZoneInfo+StringSerializer:SerializeSubstitute(System.String,byref)
; ============================================================
; ============================================================
저장된 비교 결과
원본
파일 열기
; Assembly listing for method System.TimeZoneInfo+StringSerializer:SerializeSubstitute(System.String,byref) ; Emitting BLENDED_CODE for X64 CPU with SSE2 - Windows ; ReadyToRun compilation ; optimized code ; rsp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T09] ( 3, 3 ) ref -> rcx class-hnd single-def ; V01 arg1 [V01,T00] ( 12, 26 ) byref -> rsi single-def ; V02 loc0 [V02,T07] ( 3, 6 ) ref -> rdi class-hnd single-def ; V03 loc1 [V03,T02] ( 5, 17 ) int -> rbx ; V04 loc2 [V04,T01] ( 7, 18 ) ushort -> r14 ; V05 OutArgs [V05 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V06 tmp1 [V06,T06] ( 5, 10 ) int -> rcx "Inline stloc first use temp" ; V07 tmp2 [V07,T04] ( 3, 12 ) byref -> rdx "Span.get_Item ptrToSpan" ; V08 tmp3 [V08,T03] ( 5, 14 ) int -> rcx "Inline stloc first use temp" ; V09 tmp4 [V09,T05] ( 3, 12 ) byref -> rdx "Span.get_Item ptrToSpan" ; V10 cse0 [V10,T08] ( 3, 6 ) int -> rbp "CSE - aggressive" ; ; Lcl frame size = 32 G_M45441_IG01: push r14 push rdi push rsi push rbp push rbx sub rsp, 32 mov rsi, rdx ;; size=13 bbWeight=1 PerfScore 5.50 G_M45441_IG02: mov rdi, rcx xor ebx, ebx mov ebp, dword ptr [rdi+08H] test ebp, ebp jle G_M45441_IG11 ;; size=16 bbWeight=1 PerfScore 3.75 G_M45441_IG03: mov ecx, ebx movzx r14, word ptr [rdi+2*rcx+0CH] cmp r14d, 92 je SHORT G_M45441_IG05 ;; size=14 bbWeight=4 PerfScore 14.00 G_M45441_IG04: cmp r14d, 91 je SHORT G_M45441_IG05 cmp r14d, 93 je SHORT G_M45441_IG05 cmp r14d, 59 jne SHORT G_M45441_IG07 ;; size=18 bbWeight=2 PerfScore 7.50 G_M45441_IG05: mov ecx, dword ptr [rsi+08H] cmp ecx, dword ptr [rsi+18H] jae SHORT G_M45441_IG06 lea rdx, bword ptr [rsi+10H] cmp ecx, dword ptr [rdx+08H] jae SHORT G_M45441_IG12 mov rdx, bword ptr [rdx] mov eax, ecx mov word ptr [rdx+2*rax], 92 inc ecx mov dword ptr [rsi+08H], ecx jmp SHORT G_M45441_IG07 ;; size=35 bbWeight=2 PerfScore 34.00 G_M45441_IG06: mov rcx, rsi mov edx, 92 call [System.Text.ValueStringBuilder:GrowAndAppend(ushort):this] ;; size=14 bbWeight=2 PerfScore 7.00 G_M45441_IG07: mov ecx, dword ptr [rsi+08H] cmp ecx, dword ptr [rsi+18H] jae SHORT G_M45441_IG09 ;; size=8 bbWeight=4 PerfScore 24.00 G_M45441_IG08: lea rdx, bword ptr [rsi+10H] cmp ecx, dword ptr [rdx+08H] jae SHORT G_M45441_IG12 mov rdx, bword ptr [rdx] mov eax, ecx mov word ptr [rdx+2*rax], r14w inc ecx mov dword ptr [rsi+08H], ecx jmp SHORT G_M45441_IG10 ;; size=26 bbWeight=2 PerfScore 22.00 G_M45441_IG09: mov rcx, rsi mov edx, r14d call [System.Text.ValueStringBuilder:GrowAndAppend(ushort):this] ;; size=12 bbWeight=2 PerfScore 7.00 G_M45441_IG10: inc ebx cmp ebp, ebx jg G_M45441_IG03 ;; size=10 bbWeight=4 PerfScore 6.00 G_M45441_IG11: add rsp, 32 pop rbx pop rbp pop rsi pop rdi pop r14 ret ;; size=11 bbWeight=1 PerfScore 3.75 G_M45441_IG12: call [CORINFO_HELP_RNGCHKFAIL] int3 ;; size=7 bbWeight=0 PerfScore 0.00 ; Total bytes of code 184, prolog size 13, PerfScore 152.90, instruction count 64, allocated bytes for code 184 (MethodHash=a0f64e7e) for method System.TimeZoneInfo+StringSerializer:SerializeSubstitute(System.String,byref) ; ============================================================
수정본
파일 열기
; Assembly listing for method System.TimeZoneInfo+StringSerializer:SerializeSubstitute(System.String,byref) ; Emitting BLENDED_CODE for X64 CPU with SSE2 - Windows ; ReadyToRun compilation ; optimized code ; rsp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 2 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T11] ( 3, 3 ) ref -> rcx class-hnd single-def ; V01 arg1 [V01,T00] ( 10, 22 ) byref -> rsi single-def ; V02 loc0 [V02,T08] ( 3, 6 ) ref -> rdi class-hnd single-def ; V03 loc1 [V03,T03] ( 5, 17 ) int -> rbx ; V04 loc2 [V04,T02] ( 7, 18 ) ushort -> r14 ; V05 OutArgs [V05 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V06 tmp1 [V06,T06] ( 4, 8 ) int -> rcx "Inline stloc first use temp" ;* V07 tmp2 [V07 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" ; V08 tmp3 [V08,T04] ( 4, 12 ) int -> rcx "Inline stloc first use temp" ;* V09 tmp4 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" ; V10 tmp5 [V10,T12] ( 2, 4 ) byref -> rax V07._reference(offs=0x00) P-INDEP "field V07._reference (fldOffset=0x0)" ; V11 tmp6 [V11,T13] ( 2, 4 ) int -> rdx V07._length(offs=0x08) P-INDEP "field V07._length (fldOffset=0x8)" ; V12 tmp7 [V12,T10] ( 2, 6 ) byref -> rax V09._reference(offs=0x00) P-INDEP "field V09._reference (fldOffset=0x0)" ; V13 tmp8 [V13,T07] ( 2, 8 ) int -> rdx V09._length(offs=0x08) P-INDEP "field V09._length (fldOffset=0x8)" ; V14 tmp9 [V14,T05] ( 3, 12 ) byref -> rdx "BlockOp address local" ; V15 tmp10 [V15,T01] ( 3, 24 ) byref -> rdx "BlockOp address local" ; V16 cse0 [V16,T09] ( 3, 6 ) int -> rbp "CSE - aggressive" ; ; Lcl frame size = 32 G_M45441_IG01: push r14 push rdi push rsi push rbp push rbx sub rsp, 32 mov rsi, rdx ;; size=13 bbWeight=1 PerfScore 5.50 G_M45441_IG02: mov rdi, rcx xor ebx, ebx mov ebp, dword ptr [rdi+08H] test ebp, ebp jle G_M45441_IG11 ;; size=16 bbWeight=1 PerfScore 3.75 G_M45441_IG03: mov ecx, ebx movzx r14, word ptr [rdi+2*rcx+0CH] cmp r14d, 92 je SHORT G_M45441_IG05 ;; size=14 bbWeight=4 PerfScore 14.00 G_M45441_IG04: cmp r14d, 91 je SHORT G_M45441_IG05 cmp r14d, 93 je SHORT G_M45441_IG05 cmp r14d, 59 jne SHORT G_M45441_IG07 ;; size=18 bbWeight=2 PerfScore 7.50 G_M45441_IG05: mov ecx, dword ptr [rsi+08H] lea rdx, bword ptr [rsi+10H] mov rax, bword ptr [rdx] mov edx, dword ptr [rdx+08H] cmp ecx, edx jae SHORT G_M45441_IG06 mov edx, ecx mov word ptr [rax+2*rdx], 92 inc ecx mov dword ptr [rsi+08H], ecx jmp SHORT G_M45441_IG07 ;; size=32 bbWeight=2 PerfScore 24.50 G_M45441_IG06: mov rcx, rsi mov edx, 92 call [System.Text.ValueStringBuilder:GrowAndAppend(ushort):this] ;; size=14 bbWeight=2 PerfScore 7.00 G_M45441_IG07: mov ecx, dword ptr [rsi+08H] lea rdx, bword ptr [rsi+10H] mov rax, bword ptr [rdx] mov edx, dword ptr [rdx+08H] cmp ecx, edx jae SHORT G_M45441_IG09 ;; size=17 bbWeight=4 PerfScore 31.00 G_M45441_IG08: mov edx, ecx mov word ptr [rax+2*rdx], r14w inc ecx mov dword ptr [rsi+08H], ecx jmp SHORT G_M45441_IG10 ;; size=14 bbWeight=2 PerfScore 9.00 G_M45441_IG09: mov rcx, rsi mov edx, r14d call [System.Text.ValueStringBuilder:GrowAndAppend(ushort):this] ;; size=12 bbWeight=2 PerfScore 7.00 G_M45441_IG10: inc ebx cmp ebp, ebx jg SHORT G_M45441_IG03 ;; size=6 bbWeight=4 PerfScore 6.00 G_M45441_IG11: add rsp, 32 pop rbx pop rbp pop rsi pop rdi pop r14 ret ;; size=11 bbWeight=1 PerfScore 3.75 ; Total bytes of code 167, prolog size 13, PerfScore 135.70, instruction count 60, allocated bytes for code 167 (MethodHash=a0f64e7e) for method System.TimeZoneInfo+StringSerializer:SerializeSubstitute(System.String,byref) ; ============================================================
비교하기