Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled Diff
생성일
5년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
31 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
92 행
복사
33 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
92 행
복사
; Assembly listing for method AnagramEqualityComparer:GetHashCode(System.String):int:this
; Assembly listing for method AnagramEqualityComparer:GetHashCode(System.String):int:this
; Emitting BLENDED_CODE for generic ARM64 CPU - Unix
; Emitting BLENDED_CODE for generic ARM64 CPU - Unix
; optimized code
; optimized code
; fp based frame
; fp based frame
; fully interruptible
; fully interruptible
; No matching PGO data
; No matching PGO data
; Final local variable assignments
; Final local variable assignments
;
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def
; V01 arg1 [V01,T03] ( 5, 4 ) ref -> x1 class-hnd single-def
; V01 arg1 [V01,T03] ( 5, 4 ) ref -> x1 class-hnd single-def
복사
복사됨
복사
복사됨
; V02 loc0 [V02,T01] ( 4, 9 ) int ->
x2
; V02 loc0 [V02,T01] ( 4, 9 ) int ->
x0
; V03 loc1 [V03,T0
5
] ( 2,
4.50
) ref -> x1 class-hnd single-def
; V03 loc1 [V03,T0
6
] ( 2,
1
) ref -> x1 class-hnd single-def
; V04 loc2 [V04,T00] ( 5, 16.50) int -> x3
; V04 loc2 [V04,T00] ( 5, 16.50) int -> x3
; V05 loc3 [V05,T02] ( 2, 8 ) ushort -> x4
; V05 loc3 [V05,T02] ( 2, 8 ) ushort -> x4
;# V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
;# V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
복사
복사됨
복사
복사됨
; V07 cse0 [V07,T04] ( 4, 5.50) int ->
x0
"CSE - aggressive"
; V07 cse0 [V07,T04] ( 4, 5.50) int ->
x2 "CSE - aggressive"
; V08 cse1 [V08,T05] ( 2, 4.50) byref -> x1
"CSE - aggressive"
;
;
; Lcl frame size = 0
; Lcl frame size = 0
G_M19593_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
G_M19593_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp,#-16]!
stp fp, lr, [sp,#-16]!
mov fp, sp
mov fp, sp
;; bbWeight=1 PerfScore 1.50
;; bbWeight=1 PerfScore 1.50
G_M19593_IG02: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
G_M19593_IG02: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[x1]
; gcrRegs +[x1]
cbnz x1, G_M19593_IG05
cbnz x1, G_M19593_IG05
;; bbWeight=1 PerfScore 1.00
;; bbWeight=1 PerfScore 1.00
G_M19593_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M19593_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x1]
; gcrRegs -[x1]
mov w0, #0
mov w0, #0
;; bbWeight=0.50 PerfScore 0.25
;; bbWeight=0.50 PerfScore 0.25
G_M19593_IG04: ; , epilog, nogc, extend
G_M19593_IG04: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ldp fp, lr, [sp],#16
ret lr
ret lr
;; bbWeight=0.50 PerfScore 1.00
;; bbWeight=0.50 PerfScore 1.00
복사
복사됨
복사
복사됨
G_M19593_IG05: ; gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref, isz
G_M19593_IG05: ; gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref, isz
, align
; gcrRegs +[x1]
; gcrRegs +[x1]
복사
복사됨
복사
복사됨
ldr
w0
, [x1,#8]
ldr
w2
, [x1,#8]
mov
w2, w0
mov
w0, w2
mov w3, wzr
mov w3, wzr
복사
복사됨
복사
복사됨
cmp
w0
, #0
cmp
w2
, #0
ble G_M19593_IG07
ble G_M19593_IG07
복사
복사됨
복사
복사됨
align [
0
bytes]
add x1, x1, #12
align [
0
bytes]
; gcrRegs -[x1]
align [
0
bytes]
; byrRegs +[x1]
align [
0
bytes]
align [
4
bytes]
;; bbWeight=0.50 PerfScore
2.75
align [
4
bytes]
G_M19593_IG06: ; gcrefRegs=000
2 {x1
}, byrefRegs=000
0 {
}, loop=IG06, byref, isz
align [
4
bytes]
align [
4
bytes]
;; bbWeight=0.50 PerfScore
4.00
G_M19593_IG06: ; gcrefRegs=000
0 {
}, byrefRegs=000
2 {x1
}, loop=IG06, byref, isz
ubfiz x4, x3, #1, #32
ubfiz x4, x3, #1, #32
복사
복사됨
복사
복사됨
add x4, x4, #12
ldrh w4, [x1, x4]
ldrh w4, [x1, x4]
복사
복사됨
복사
복사됨
eor
w2, w2
, w4
eor
w0, w0
, w4
add w3, w3, #1
add w3, w3, #1
복사
복사됨
복사
복사됨
cmp
w0
, w3
cmp
w2
, w3
bgt G_M19593_IG06
bgt G_M19593_IG06
복사
복사됨
복사
복사됨
;; bbWeight=4 PerfScore
28
.00
;; bbWeight=4 PerfScore
26
.00
G_M19593_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M19593_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
, epilog, nogc
;
gc
rRegs -[x1]
;
by
rRegs -[x1]
mov w0, w2
;; bbWeight=0.50 PerfScore 0.25
G_M19593_IG08: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ldp fp, lr, [sp],#16
ret lr
ret lr
;; bbWeight=0.50 PerfScore 1.00
;; bbWeight=0.50 PerfScore 1.00
복사
복사됨
복사
복사됨
; Total bytes of code
84
, prolog size 8, PerfScore 44.
15
, instruction count
25
, allocated bytes for code
84
(MethodHash=c8c4b376) for method AnagramEqualityComparer:GetHashCode(System.String):int:this
; Total bytes of code
96
, prolog size 8, PerfScore 44.
35
, instruction count
24
, allocated bytes for code
96
(MethodHash=c8c4b376) for method AnagramEqualityComparer:GetHashCode(System.String):int:this
; ============================================================
; ============================================================
Unwind Info:
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
Code Words : 1
Code Words : 1
Epilog Count : 2
Epilog Count : 2
E bit : 0
E bit : 0
X bit : 0
X bit : 0
Vers : 0
Vers : 0
복사
복사됨
복사
복사됨
Function Length :
21
(0x0001
5
) Actual length =
84
(0x0000
54
)
Function Length :
24
(0x0001
8
) Actual length =
96
(0x0000
60
)
---- Epilog scopes ----
---- Epilog scopes ----
---- Scope 0
---- Scope 0
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Epilog Start Index : 1 (0x01)
Epilog Start Index : 1 (0x01)
---- Scope 1
---- Scope 1
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
Epilog Start Index : 1 (0x01)
Epilog Start Index : 1 (0x01)
---- Unwind codes ----
---- Unwind codes ----
E1 set_fp; mov fp, sp
E1 set_fp; mov fp, sp
---- Epilog start at index 1 ----
---- Epilog start at index 1 ----
81 save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
81 save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]!
E4 end
E4 end
E4 end
E4 end
저장된 비교 결과
원본
파일 열기
; Assembly listing for method AnagramEqualityComparer:GetHashCode(System.String):int:this ; Emitting BLENDED_CODE for generic ARM64 CPU - Unix ; optimized code ; fp based frame ; fully interruptible ; No matching PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def ; V01 arg1 [V01,T03] ( 5, 4 ) ref -> x1 class-hnd single-def ; V02 loc0 [V02,T01] ( 4, 9 ) int -> x2 ; V03 loc1 [V03,T05] ( 2, 4.50) ref -> x1 class-hnd single-def ; V04 loc2 [V04,T00] ( 5, 16.50) int -> x3 ; V05 loc3 [V05,T02] ( 2, 8 ) ushort -> x4 ;# V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V07 cse0 [V07,T04] ( 4, 5.50) int -> x0 "CSE - aggressive" ; ; Lcl frame size = 0 G_M19593_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-16]! mov fp, sp ;; bbWeight=1 PerfScore 1.50 G_M19593_IG02: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x1] cbnz x1, G_M19593_IG05 ;; bbWeight=1 PerfScore 1.00 G_M19593_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x1] mov w0, #0 ;; bbWeight=0.50 PerfScore 0.25 G_M19593_IG04: ; , epilog, nogc, extend ldp fp, lr, [sp],#16 ret lr ;; bbWeight=0.50 PerfScore 1.00 G_M19593_IG05: ; gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref, isz ; gcrRegs +[x1] ldr w0, [x1,#8] mov w2, w0 mov w3, wzr cmp w0, #0 ble G_M19593_IG07 align [0 bytes] align [0 bytes] align [0 bytes] align [0 bytes] ;; bbWeight=0.50 PerfScore 2.75 G_M19593_IG06: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, loop=IG06, byref, isz ubfiz x4, x3, #1, #32 add x4, x4, #12 ldrh w4, [x1, x4] eor w2, w2, w4 add w3, w3, #1 cmp w0, w3 bgt G_M19593_IG06 ;; bbWeight=4 PerfScore 28.00 G_M19593_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x1] mov w0, w2 ;; bbWeight=0.50 PerfScore 0.25 G_M19593_IG08: ; , epilog, nogc, extend ldp fp, lr, [sp],#16 ret lr ;; bbWeight=0.50 PerfScore 1.00 ; Total bytes of code 84, prolog size 8, PerfScore 44.15, instruction count 25, allocated bytes for code 84 (MethodHash=c8c4b376) for method AnagramEqualityComparer:GetHashCode(System.String):int:this ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Code Words : 1 Epilog Count : 2 E bit : 0 X bit : 0 Vers : 0 Function Length : 21 (0x00015) Actual length = 84 (0x000054) ---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Epilog Start Index : 1 (0x01) ---- Scope 1 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Epilog Start Index : 1 (0x01) ---- Unwind codes ---- E1 set_fp; mov fp, sp ---- Epilog start at index 1 ---- 81 save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]! E4 end E4 end
수정본
파일 열기
; Assembly listing for method AnagramEqualityComparer:GetHashCode(System.String):int:this ; Emitting BLENDED_CODE for generic ARM64 CPU - Unix ; optimized code ; fp based frame ; fully interruptible ; No matching PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def ; V01 arg1 [V01,T03] ( 5, 4 ) ref -> x1 class-hnd single-def ; V02 loc0 [V02,T01] ( 4, 9 ) int -> x0 ; V03 loc1 [V03,T06] ( 2, 1 ) ref -> x1 class-hnd single-def ; V04 loc2 [V04,T00] ( 5, 16.50) int -> x3 ; V05 loc3 [V05,T02] ( 2, 8 ) ushort -> x4 ;# V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V07 cse0 [V07,T04] ( 4, 5.50) int -> x2 "CSE - aggressive" ; V08 cse1 [V08,T05] ( 2, 4.50) byref -> x1 "CSE - aggressive" ; ; Lcl frame size = 0 G_M19593_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-16]! mov fp, sp ;; bbWeight=1 PerfScore 1.50 G_M19593_IG02: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x1] cbnz x1, G_M19593_IG05 ;; bbWeight=1 PerfScore 1.00 G_M19593_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x1] mov w0, #0 ;; bbWeight=0.50 PerfScore 0.25 G_M19593_IG04: ; , epilog, nogc, extend ldp fp, lr, [sp],#16 ret lr ;; bbWeight=0.50 PerfScore 1.00 G_M19593_IG05: ; gcVars=0000000000000000 {}, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, gcvars, byref, isz, align ; gcrRegs +[x1] ldr w2, [x1,#8] mov w0, w2 mov w3, wzr cmp w2, #0 ble G_M19593_IG07 add x1, x1, #12 ; gcrRegs -[x1] ; byrRegs +[x1] align [4 bytes] align [4 bytes] align [4 bytes] align [4 bytes] ;; bbWeight=0.50 PerfScore 4.00 G_M19593_IG06: ; gcrefRegs=0000 {}, byrefRegs=0002 {x1}, loop=IG06, byref, isz ubfiz x4, x3, #1, #32 ldrh w4, [x1, x4] eor w0, w0, w4 add w3, w3, #1 cmp w2, w3 bgt G_M19593_IG06 ;; bbWeight=4 PerfScore 26.00 G_M19593_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc ; byrRegs -[x1] ldp fp, lr, [sp],#16 ret lr ;; bbWeight=0.50 PerfScore 1.00 ; Total bytes of code 96, prolog size 8, PerfScore 44.35, instruction count 24, allocated bytes for code 96 (MethodHash=c8c4b376) for method AnagramEqualityComparer:GetHashCode(System.String):int:this ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Code Words : 1 Epilog Count : 2 E bit : 0 X bit : 0 Vers : 0 Function Length : 24 (0x00018) Actual length = 96 (0x000060) ---- Epilog scopes ---- ---- Scope 0 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Epilog Start Index : 1 (0x01) ---- Scope 1 Epilog Start Offset : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e) Epilog Start Index : 1 (0x01) ---- Unwind codes ---- E1 set_fp; mov fp, sp ---- Epilog start at index 1 ---- 81 save_fplr_x #1 (0x01); stp fp, lr, [sp, #-16]! E4 end E4 end
비교하기