Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled Diff
생성일
4년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
49 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
55 행
복사
50 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
57 행
복사
; Assembly listing for method Pa:IsAssignableTo():bool
; Assembly listing for method Pa:IsAssignableTo():bool
; 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
; partially interruptible
; partially interruptible
; No PGO data
; No PGO data
; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
복사
복사됨
복사
복사됨
; V00 TypeCtx [V00,T00] (
4
, 4
) long ->
rcx
single-def
; V00 TypeCtx [V00,T00] (
5
, 4
.50
) long ->
rsi
single-def
; V01 OutArgs [V01 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V01 OutArgs [V01 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
복사
복사됨
복사
복사됨
; V02 tmp1 [V02,T0
4
] ( 3, 2 ) bool -> rax "Inline return value spill temp"
; V02 tmp1 [V02,T0
2
] ( 3, 2 ) bool -> rax "Inline return value spill temp"
; V03 tmp2 [V03,T0
1
] (
3
,
5
) ref ->
rax
class-hnd
single-def "
Inlining Arg
"
; V03 tmp2 [V03,T0
3
] (
2
,
2
) ref ->
rdi
single-def "
argument with side effect
"
; V04 tmp3 [V04,T0
3
] ( 2,
3
) ref -> rd
i
class-hnd
single-def "
Inlining Arg
"
; V04 tmp3 [V04,T0
4
] ( 2,
2
) ref -> rd
x
single-def "
argument with side effect
"
; V05 cse0 [V05,T0
2
] ( 3,
3
)
long
-> r
s
i "CSE - aggressive"
; V05 cse0 [V05,T0
1
] ( 3,
2.50
)
ref
-> r
d
i "CSE - aggressive"
;
;
; Lcl frame size = 40
; Lcl frame size = 40
G_M15054_IG01: ;; offset=0000H
G_M15054_IG01: ;; offset=0000H
57 push rdi
57 push rdi
56 push rsi
56 push rsi
4883EC28 sub rsp, 40
4883EC28 sub rsp, 40
48894C2420 mov qword ptr [rsp+20H], rcx
48894C2420 mov qword ptr [rsp+20H], rcx
복사
복사됨
복사
복사됨
;; size=
11
bbWeight=1 PerfScore 3.
25
488BF1 mov rsi, rcx
G_M15054_IG02: ;; offset=000
B
H
;; size=
14
bbWeight=1 PerfScore 3.
50
488B
71
38 mov
rsi
, qword ptr [
rcx
+56]
G_M15054_IG02: ;; offset=000
E
H
488B
0E
mov rcx, qword ptr [
rsi
]
488B
4E
38 mov
rcx
, qword ptr [
rsi
+56]
E839FE4F5F
call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
488B
4908
mov rcx, qword ptr [
rcx+8
]
E8452B505F
call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
488BF8 mov rdi, rax
488BF8 mov rdi, rax
복사
복사됨
복사
복사됨
488B4E08 mov rcx, qword ptr [rsi+8]
4885
FF
test
rdi, rdi
E82DFE4F5F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
4885
C0
test
rax, rax
7504 jne SHORT G_M15054_IG04
7504 jne SHORT G_M15054_IG04
복사
복사됨
복사
복사됨
;; size=
29
bbWeight=1 PerfScore
9
.50
;; size=
21
bbWeight=1 PerfScore
6
.50
G_M15054_IG03: ;; offset=002
8
H
G_M15054_IG03: ;; offset=002
3
H
33C0 xor eax, eax
33C0 xor eax, eax
복사
복사됨
복사
복사됨
EB0C
jmp SHORT G_M15054_IG05
EB18
jmp SHORT G_M15054_IG05
;; size=4 bbWeight=0.50 PerfScore 1.12
;; size=4 bbWeight=0.50 PerfScore 1.12
복사
복사됨
복사
복사됨
G_M15054_IG04: ;; offset=002
C
H
G_M15054_IG04: ;; offset=002
7
H
488B
C8 mov rcx, rax
488B
4E38 mov rcx, qword ptr [rsi+56]
488BD
7
mov rdx,
rdi
488B09 mov rcx, qword ptr [rcx]
FF15
58
8BE5FF call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this]
E82D2B505F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE
;; size=
12
bbWeight=0.50 PerfScore
1.75
488BD
0
mov rdx,
rax
G_M15054_IG05: ;; offset=003
8
H
488BCF mov rcx,
rdi
FF15
89
8BE5FF call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this]
;; size=
24
bbWeight=0.50 PerfScore
4.25
G_M15054_IG05: ;; offset=003
F
H
90 nop
90 nop
;; size=1 bbWeight=1 PerfScore 0.25
;; size=1 bbWeight=1 PerfScore 0.25
복사
복사됨
복사
복사됨
G_M15054_IG06: ;; offset=
0039H
G_M15054_IG06: ;; offset=
0040H
4883C428 add rsp, 40
4883C428 add rsp, 40
5E pop rsi
5E pop rsi
5F pop rdi
5F pop rdi
C3 ret
C3 ret
;; size=7 bbWeight=1 PerfScore 2.25
;; size=7 bbWeight=1 PerfScore 2.25
복사
복사됨
복사
복사됨
; Total bytes of code
64
, prolog size 11, PerfScore 24.
53
, instruction count
22
, allocated bytes for code
64
(MethodHash=e866c531) for method Pa:IsAssignableTo():bool
; Total bytes of code
71
, prolog size 11, PerfScore 24.
98
, instruction count
24
, allocated bytes for code
71
(MethodHash=e866c531) for method Pa:IsAssignableTo():bool
; ============================================================
; ============================================================
저장된 비교 결과
원본
파일 열기
; Assembly listing for method Pa:IsAssignableTo():bool ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 TypeCtx [V00,T00] ( 4, 4 ) long -> rcx single-def ; V01 OutArgs [V01 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V02 tmp1 [V02,T04] ( 3, 2 ) bool -> rax "Inline return value spill temp" ; V03 tmp2 [V03,T01] ( 3, 5 ) ref -> rax class-hnd single-def "Inlining Arg" ; V04 tmp3 [V04,T03] ( 2, 3 ) ref -> rdi class-hnd single-def "Inlining Arg" ; V05 cse0 [V05,T02] ( 3, 3 ) long -> rsi "CSE - aggressive" ; ; Lcl frame size = 40 G_M15054_IG01: ;; offset=0000H 57 push rdi 56 push rsi 4883EC28 sub rsp, 40 48894C2420 mov qword ptr [rsp+20H], rcx ;; size=11 bbWeight=1 PerfScore 3.25 G_M15054_IG02: ;; offset=000BH 488B7138 mov rsi, qword ptr [rcx+56] 488B0E mov rcx, qword ptr [rsi] E839FE4F5F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE 488BF8 mov rdi, rax 488B4E08 mov rcx, qword ptr [rsi+8] E82DFE4F5F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE 4885C0 test rax, rax 7504 jne SHORT G_M15054_IG04 ;; size=29 bbWeight=1 PerfScore 9.50 G_M15054_IG03: ;; offset=0028H 33C0 xor eax, eax EB0C jmp SHORT G_M15054_IG05 ;; size=4 bbWeight=0.50 PerfScore 1.12 G_M15054_IG04: ;; offset=002CH 488BC8 mov rcx, rax 488BD7 mov rdx, rdi FF15588BE5FF call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this] ;; size=12 bbWeight=0.50 PerfScore 1.75 G_M15054_IG05: ;; offset=0038H 90 nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M15054_IG06: ;; offset=0039H 4883C428 add rsp, 40 5E pop rsi 5F pop rdi C3 ret ;; size=7 bbWeight=1 PerfScore 2.25 ; Total bytes of code 64, prolog size 11, PerfScore 24.53, instruction count 22, allocated bytes for code 64 (MethodHash=e866c531) for method Pa:IsAssignableTo():bool ; ============================================================
수정본
파일 열기
; Assembly listing for method Pa:IsAssignableTo():bool ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 TypeCtx [V00,T00] ( 5, 4.50) long -> rsi single-def ; V01 OutArgs [V01 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V02 tmp1 [V02,T02] ( 3, 2 ) bool -> rax "Inline return value spill temp" ; V03 tmp2 [V03,T03] ( 2, 2 ) ref -> rdi single-def "argument with side effect" ; V04 tmp3 [V04,T04] ( 2, 2 ) ref -> rdx single-def "argument with side effect" ; V05 cse0 [V05,T01] ( 3, 2.50) ref -> rdi "CSE - aggressive" ; ; Lcl frame size = 40 G_M15054_IG01: ;; offset=0000H 57 push rdi 56 push rsi 4883EC28 sub rsp, 40 48894C2420 mov qword ptr [rsp+20H], rcx 488BF1 mov rsi, rcx ;; size=14 bbWeight=1 PerfScore 3.50 G_M15054_IG02: ;; offset=000EH 488B4E38 mov rcx, qword ptr [rsi+56] 488B4908 mov rcx, qword ptr [rcx+8] E8452B505F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE 488BF8 mov rdi, rax 4885FF test rdi, rdi 7504 jne SHORT G_M15054_IG04 ;; size=21 bbWeight=1 PerfScore 6.50 G_M15054_IG03: ;; offset=0023H 33C0 xor eax, eax EB18 jmp SHORT G_M15054_IG05 ;; size=4 bbWeight=0.50 PerfScore 1.12 G_M15054_IG04: ;; offset=0027H 488B4E38 mov rcx, qword ptr [rsi+56] 488B09 mov rcx, qword ptr [rcx] E82D2B505F call CORINFO_HELP_TYPEHANDLE_TO_RUNTIMETYPE 488BD0 mov rdx, rax 488BCF mov rcx, rdi FF15898BE5FF call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this] ;; size=24 bbWeight=0.50 PerfScore 4.25 G_M15054_IG05: ;; offset=003FH 90 nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M15054_IG06: ;; offset=0040H 4883C428 add rsp, 40 5E pop rsi 5F pop rdi C3 ret ;; size=7 bbWeight=1 PerfScore 2.25 ; Total bytes of code 71, prolog size 11, PerfScore 24.98, instruction count 24, allocated bytes for code 71 (MethodHash=e866c531) for method Pa:IsAssignableTo():bool ; ============================================================
비교하기