Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled diff
생성일
2개월 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
123 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
110 행
복사
82 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
75 행
복사
복사
복사됨
복사
복사됨
; Method Program:DangerousMakeOnesComplement
(System.Span`1[nuint]) (FullOpts)
; Method Program:DangerousMakeOnesComplement
2
(System.Span`1[nuint]) (FullOpts)
G_
M50784
_IG01: ;; offset=0x0000
G_
M34898
_IG01: ;; offset=0x0000
sub rsp, 40
;; size=
0
bbWeight=1 PerfScore 0.
00
;; size=
4
bbWeight=1 PerfScore 0.
25
복사
복사됨
복사
복사됨
G_
M50784
_IG02: ;; offset=0x000
4
G_
M34898
_IG02: ;; offset=0x000
0
mov rax, bword ptr [rcx]
mov rax, bword ptr [rcx]
mov ecx, dword ptr [rcx+0x08]
mov ecx, dword ptr [rcx+0x08]
복사
복사됨
복사
복사됨
mov edx, ecx
xor r8d, r8d
cmp ecx, 8
cmp ecx, 8
복사
복사됨
복사
복사됨
jl SHORT G_
M50784
_IG04
jl SHORT G_
M34898
_IG04
align [
12
bytes for IG03]
align [
5
bytes for IG03]
;; size=
28
bbWeight=1 PerfScore
6.00
;; size=
16
bbWeight=1 PerfScore
5.50
복사
복사됨
복사
복사됨
G_
M50784
_IG03: ;; offset=0x00
20
G_
M34898
_IG03: ;; offset=0x00
10
movsxd rcx, r8d
vpternlogq zmm0, zmm0, zmmword ptr [rax
], 85
vpternlogq zmm0, zmm0, zmmword ptr [rax
+8*rcx
], 85
vmovups zmmword ptr [rax
], zmm0
vmovups zmmword ptr [rax
+8*rcx
], zmm0
add
rax, 64
add
r8d, 8
add
ecx,
-8
mov ecx, edx
sub
ecx,
r8d
cmp ecx, 8
cmp ecx, 8
복사
복사됨
복사
복사됨
jge SHORT G_
M50784
_IG03
jge SHORT G_
M34898
_IG03
;; size=
32
bbWeight=4 PerfScore
37
.00
;; size=
25
bbWeight=4 PerfScore
35
.00
복사
복사됨
복사
복사됨
G_
M50784
_IG04: ;; offset=0x00
40
G_
M34898
_IG04: ;; offset=0x00
29
mov ecx, edx
sub ecx, r8d
cmp ecx, 4
cmp ecx, 4
복사
복사됨
복사
복사됨
jl SHORT G_
M50784
_IG06
jl SHORT G_
M34898
_IG06
align [
6
bytes for IG05]
align [
2
bytes for IG05]
;; size=
16
bbWeight=0.50 PerfScore
1.00
;; size=
7
bbWeight=0.50 PerfScore
0.75
복사
복사됨
복사
복사됨
G_
M50784
_IG05: ;; offset=0x00
50
G_
M34898
_IG05: ;; offset=0x00
30
movsxd rcx, r8d
vpternlogq ymm0, ymm0, ymmword ptr [rax
], 85
vpternlogq ymm0, ymm0, ymmword ptr [rax
+8*rcx
], 85
vmovups ymmword ptr [rax
], ymm0
vmovups ymmword ptr [rax
+8*rcx
], ymm0
add
rax, 32
add
r8d, 4
add
ecx,
-4
mov ecx, edx
sub
ecx,
r8d
cmp ecx, 4
cmp ecx, 4
복사
복사됨
복사
복사됨
jge SHORT G_
M50784
_IG05
jge SHORT G_
M34898
_IG05
;; size=
30
bbWeight=4 PerfScore
29
.00
;; size=
23
bbWeight=4 PerfScore
27
.00
복사
복사됨
복사
복사됨
G_
M50784
_IG06: ;; offset=0x00
6E
G_
M34898
_IG06: ;; offset=0x00
47
mov ecx, edx
sub ecx, r8d
cmp ecx, 2
cmp ecx, 2
복사
복사됨
복사
복사됨
jl SHORT G_
M50784
_IG08
jl SHORT G_
M34898
_IG08
align [
8
bytes for IG07]
align [
4
bytes for IG07]
;; size=
18
bbWeight=0.50 PerfScore
1.00
;; size=
9
bbWeight=0.50 PerfScore
0.75
복사
복사됨
복사
복사됨
G_
M50784
_IG07: ;; offset=0x00
80
G_
M34898
_IG07: ;; offset=0x00
50
movsxd rcx, r8d
vpternlogq xmm0, xmm0, xmmword ptr [rax
], 85
vpternlogq xmm0, xmm0, xmmword ptr [rax
+8*rcx
], 85
vmovups xmmword ptr [rax
], xmm0
vmovups xmmword ptr [rax
+8*rcx
], xmm0
add
rax, 16
add
r8d, 2
add
ecx,
-2
mov ecx, edx
sub
ecx,
r8d
cmp ecx, 2
cmp ecx, 2
복사
복사됨
복사
복사됨
jge SHORT G_
M50784
_IG07
jge SHORT G_
M34898
_IG07
;; size=
30
bbWeight=4 PerfScore
25
.00
;; size=
23
bbWeight=4 PerfScore
23
.00
복사
복사됨
복사
복사됨
G_
M50784
_IG08: ;; offset=0x00
9E
G_
M34898
_IG08: ;; offset=0x00
67
cmp
r8d
, e
d
x
test
ecx
, e
c
x
j
g
e
SHORT G_
M50784
_IG11
j
e
SHORT G_
M34898
_IG11
;; size=
5
bbWeight=
0.50
PerfScore
0.62
;; size=
4
bbWeight=
1
PerfScore
1.25
복사
복사됨
복사
복사됨
G_
M50784
_IG09: ;; offset=0x00
A3
G_
M34898
_IG09: ;; offset=0x00
6B
test r8d, r8d
xor
edx, edx
jl
SHORT G_M50784_IG12
align [0 bytes for IG10]
align [0 bytes for IG10]
복사
복사됨
복사
복사됨
;; size=
5
bbWeight=0.
25
PerfScore 0.
31
;; size=
2
bbWeight=0.
50
PerfScore 0.
12
복사
복사됨
복사
복사됨
G_
M50784
_IG10: ;; offset=0x00
A8
G_
M34898
_IG10: ;; offset=0x00
6D
mov ecx, r8d
not qword ptr [rax+
rd
x]
not qword ptr [rax+
8*rc
x]
add
r
dx, 8
inc
r
8d
dec
ec
x
cmp
r8d, ed
x
jne
SHORT G_
M34898
_IG10
jl
SHORT G_
M50784
_IG10
;; size=
12
bbWeight=3.96 PerfScore
17.82
;; size=
15
bbWeight=3.96 PerfScore
18.81
복사
복사됨
복사
복사됨
G_
M50784
_IG11: ;; offset=0x00
B7
G_
M34898
_IG11: ;; offset=0x00
79
vzeroupper
vzeroupper
복사
복사됨
복사
복사됨
add rsp, 40
ret
ret
복사
복사됨
복사
복사됨
;; size=
8
bbWeight=1 PerfScore 2.
25
;; size=
4
bbWeight=1 PerfScore 2.
00
; Total bytes of code:
125
G_M50784_IG12: ;; offset=0x00BF
cmp r8d, edx
jae SHORT G_M50784_IG13
mov ecx, r8d
mov r10d, r8d
mov r10, qword ptr [rax+8*r10]
not r10
mov qword ptr [rax+8*rcx], r10
inc r8d
cmp r8d, edx
jl SHORT G_M50784_IG12
jmp SHORT G_M50784_IG11
;; size=32 bbWeight=0.04 PerfScore 0.34
G_M50784_IG13: ;; offset=0x00DF
call CORINFO_HELP_RNGCHKFAIL
int3
;; size=6 bbWeight=0 PerfScore 0.00
; Total bytes of code:
229
저장된 비교 결과
원본
파일 열기
; Method Program:DangerousMakeOnesComplement(System.Span`1[nuint]) (FullOpts) G_M50784_IG01: ;; offset=0x0000 sub rsp, 40 ;; size=4 bbWeight=1 PerfScore 0.25 G_M50784_IG02: ;; offset=0x0004 mov rax, bword ptr [rcx] mov ecx, dword ptr [rcx+0x08] mov edx, ecx xor r8d, r8d cmp ecx, 8 jl SHORT G_M50784_IG04 align [12 bytes for IG03] ;; size=28 bbWeight=1 PerfScore 6.00 G_M50784_IG03: ;; offset=0x0020 movsxd rcx, r8d vpternlogq zmm0, zmm0, zmmword ptr [rax+8*rcx], 85 vmovups zmmword ptr [rax+8*rcx], zmm0 add r8d, 8 mov ecx, edx sub ecx, r8d cmp ecx, 8 jge SHORT G_M50784_IG03 ;; size=32 bbWeight=4 PerfScore 37.00 G_M50784_IG04: ;; offset=0x0040 mov ecx, edx sub ecx, r8d cmp ecx, 4 jl SHORT G_M50784_IG06 align [6 bytes for IG05] ;; size=16 bbWeight=0.50 PerfScore 1.00 G_M50784_IG05: ;; offset=0x0050 movsxd rcx, r8d vpternlogq ymm0, ymm0, ymmword ptr [rax+8*rcx], 85 vmovups ymmword ptr [rax+8*rcx], ymm0 add r8d, 4 mov ecx, edx sub ecx, r8d cmp ecx, 4 jge SHORT G_M50784_IG05 ;; size=30 bbWeight=4 PerfScore 29.00 G_M50784_IG06: ;; offset=0x006E mov ecx, edx sub ecx, r8d cmp ecx, 2 jl SHORT G_M50784_IG08 align [8 bytes for IG07] ;; size=18 bbWeight=0.50 PerfScore 1.00 G_M50784_IG07: ;; offset=0x0080 movsxd rcx, r8d vpternlogq xmm0, xmm0, xmmword ptr [rax+8*rcx], 85 vmovups xmmword ptr [rax+8*rcx], xmm0 add r8d, 2 mov ecx, edx sub ecx, r8d cmp ecx, 2 jge SHORT G_M50784_IG07 ;; size=30 bbWeight=4 PerfScore 25.00 G_M50784_IG08: ;; offset=0x009E cmp r8d, edx jge SHORT G_M50784_IG11 ;; size=5 bbWeight=0.50 PerfScore 0.62 G_M50784_IG09: ;; offset=0x00A3 test r8d, r8d jl SHORT G_M50784_IG12 align [0 bytes for IG10] ;; size=5 bbWeight=0.25 PerfScore 0.31 G_M50784_IG10: ;; offset=0x00A8 mov ecx, r8d not qword ptr [rax+8*rcx] inc r8d cmp r8d, edx jl SHORT G_M50784_IG10 ;; size=15 bbWeight=3.96 PerfScore 18.81 G_M50784_IG11: ;; offset=0x00B7 vzeroupper add rsp, 40 ret ;; size=8 bbWeight=1 PerfScore 2.25 G_M50784_IG12: ;; offset=0x00BF cmp r8d, edx jae SHORT G_M50784_IG13 mov ecx, r8d mov r10d, r8d mov r10, qword ptr [rax+8*r10] not r10 mov qword ptr [rax+8*rcx], r10 inc r8d cmp r8d, edx jl SHORT G_M50784_IG12 jmp SHORT G_M50784_IG11 ;; size=32 bbWeight=0.04 PerfScore 0.34 G_M50784_IG13: ;; offset=0x00DF call CORINFO_HELP_RNGCHKFAIL int3 ;; size=6 bbWeight=0 PerfScore 0.00 ; Total bytes of code: 229
수정본
파일 열기
; Method Program:DangerousMakeOnesComplement2(System.Span`1[nuint]) (FullOpts) G_M34898_IG01: ;; offset=0x0000 ;; size=0 bbWeight=1 PerfScore 0.00 G_M34898_IG02: ;; offset=0x0000 mov rax, bword ptr [rcx] mov ecx, dword ptr [rcx+0x08] cmp ecx, 8 jl SHORT G_M34898_IG04 align [5 bytes for IG03] ;; size=16 bbWeight=1 PerfScore 5.50 G_M34898_IG03: ;; offset=0x0010 vpternlogq zmm0, zmm0, zmmword ptr [rax], 85 vmovups zmmword ptr [rax], zmm0 add rax, 64 add ecx, -8 cmp ecx, 8 jge SHORT G_M34898_IG03 ;; size=25 bbWeight=4 PerfScore 35.00 G_M34898_IG04: ;; offset=0x0029 cmp ecx, 4 jl SHORT G_M34898_IG06 align [2 bytes for IG05] ;; size=7 bbWeight=0.50 PerfScore 0.75 G_M34898_IG05: ;; offset=0x0030 vpternlogq ymm0, ymm0, ymmword ptr [rax], 85 vmovups ymmword ptr [rax], ymm0 add rax, 32 add ecx, -4 cmp ecx, 4 jge SHORT G_M34898_IG05 ;; size=23 bbWeight=4 PerfScore 27.00 G_M34898_IG06: ;; offset=0x0047 cmp ecx, 2 jl SHORT G_M34898_IG08 align [4 bytes for IG07] ;; size=9 bbWeight=0.50 PerfScore 0.75 G_M34898_IG07: ;; offset=0x0050 vpternlogq xmm0, xmm0, xmmword ptr [rax], 85 vmovups xmmword ptr [rax], xmm0 add rax, 16 add ecx, -2 cmp ecx, 2 jge SHORT G_M34898_IG07 ;; size=23 bbWeight=4 PerfScore 23.00 G_M34898_IG08: ;; offset=0x0067 test ecx, ecx je SHORT G_M34898_IG11 ;; size=4 bbWeight=1 PerfScore 1.25 G_M34898_IG09: ;; offset=0x006B xor edx, edx align [0 bytes for IG10] ;; size=2 bbWeight=0.50 PerfScore 0.12 G_M34898_IG10: ;; offset=0x006D not qword ptr [rax+rdx] add rdx, 8 dec ecx jne SHORT G_M34898_IG10 ;; size=12 bbWeight=3.96 PerfScore 17.82 G_M34898_IG11: ;; offset=0x0079 vzeroupper ret ;; size=4 bbWeight=1 PerfScore 2.00 ; Total bytes of code: 125
비교하기