Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled Diff
생성일
5년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
17 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
84 행
복사
18 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
83 행
복사
; Assembly listing for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int
; Assembly listing for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int
; 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 arg0 [V00,T01] ( 5, 7.50) ref -> x0 class-hnd single-def
; V00 arg0 [V00,T01] ( 5, 7.50) ref -> x0 class-hnd single-def
; V01 loc0 [V01,T02] ( 4, 9.50) int -> x1 must-init
; V01 loc0 [V01,T02] ( 4, 9.50) int -> x1 must-init
; V02 loc1 [V02,T00] ( 5, 16.50) int -> x2
; V02 loc1 [V02,T00] ( 5, 16.50) int -> x2
;# V03 OutArgs [V03 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
;# V03 OutArgs [V03 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
; V04 cse0 [V04,T04] ( 2, 4.50) int -> x4 "CSE - aggressive"
; V04 cse0 [V04,T04] ( 2, 4.50) int -> x4 "CSE - aggressive"
; V05 cse1 [V05,T03] ( 3, 5 ) int -> x3 "CSE - aggressive"
; V05 cse1 [V05,T03] ( 3, 5 ) int -> x3 "CSE - aggressive"
;
;
; Lcl frame size = 0
; Lcl frame size = 0
G_M61339_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
G_M61339_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
mov x1, #0
mov x1, #0
;; bbWeight=1 PerfScore 2.00
;; bbWeight=1 PerfScore 2.00
G_M61339_IG02: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
G_M61339_IG02: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
; gcrRegs +[x0]
; gcrRegs +[x0]
cbz x0, G_M61339_IG05
cbz x0, G_M61339_IG05
;; bbWeight=1 PerfScore 1.00
;; bbWeight=1 PerfScore 1.00
복사
복사됨
복사
복사됨
G_M61339_IG03: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
G_M61339_IG03: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
, align
movz w1, #0xd1ffab1e
movz w1, #0xd1ffab1e
movk w1, #0xd1ffab1e LSL #16
movk w1, #0xd1ffab1e LSL #16
mov w2, wzr
mov w2, wzr
ldr w3, [x0,#8]
ldr w3, [x0,#8]
cmp w3, #0
cmp w3, #0
ble G_M61339_IG05
ble G_M61339_IG05
movz w4, #0xd1ffab1e
movz w4, #0xd1ffab1e
movk w4, #0xd1ffab1e LSL #16
movk w4, #0xd1ffab1e LSL #16
복사
복사됨
복사
복사됨
align [
0
bytes]
align [
4
bytes]
align [
0
bytes]
align [
4
bytes]
align [
0
bytes]
align [
4
bytes]
align [
0
bytes]
align [
4
bytes]
;; bbWeight=0.50 PerfScore
3
.50
;; bbWeight=0.50 PerfScore
4
.50
G_M61339_IG04: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, loop=IG04, byref, isz
G_M61339_IG04: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, loop=IG04, byref, isz
복사
복사됨
복사
복사됨
mov w5, w2
ubfiz
x5,
x2
, #1
, #32
lsl
x5,
x5
, #1
add x5, x5, #12
add x5, x5, #12
ldrh w5, [x0, x5]
ldrh w5, [x0, x5]
eor w1, w5, w1
eor w1, w5, w1
mul w1, w1, w4
mul w1, w1, w4
add w2, w2, #1
add w2, w2, #1
cmp w3, w2
cmp w3, w2
bgt G_M61339_IG04
bgt G_M61339_IG04
복사
복사됨
복사
복사됨
;; bbWeight=4 PerfScore
38
.00
;; bbWeight=4 PerfScore
36
.00
G_M61339_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M61339_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
; gcrRegs -[x0]
; gcrRegs -[x0]
mov w0, w1
mov w0, w1
;; bbWeight=1 PerfScore 0.50
;; bbWeight=1 PerfScore 0.50
G_M61339_IG06: ; , epilog, nogc, extend
G_M61339_IG06: ; , epilog, nogc, extend
ldp fp, lr, [sp],#16
ldp fp, lr, [sp],#16
ret lr
ret lr
;; bbWeight=1 PerfScore 2.00
;; bbWeight=1 PerfScore 2.00
복사
복사됨
복사
복사됨
; Total bytes of code
96
, prolog size 12, PerfScore 56.
60
, instruction count
28
, allocated bytes for code
96
(MethodHash=d7591064) for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int
; Total bytes of code
108
, prolog size 12, PerfScore 56.
80
, instruction count
27
, allocated bytes for code
108
(MethodHash=d7591064) for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int
; ============================================================
; ============================================================
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 : 1
Epilog Count : 1
E bit : 0
E bit : 0
X bit : 0
X bit : 0
Vers : 0
Vers : 0
복사
복사됨
복사
복사됨
Function Length :
24
(0x0001
8
) Actual length =
96
(0x00006
0
)
Function Length :
27
(0x0001
b
) Actual length =
108
(0x00006
c
)
---- 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)
---- 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 <PrivateImplementationDetails>:ComputeStringHash(System.String):int ; Emitting BLENDED_CODE for generic ARM64 CPU - Unix ; optimized code ; fp based frame ; fully interruptible ; No matching PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T01] ( 5, 7.50) ref -> x0 class-hnd single-def ; V01 loc0 [V01,T02] ( 4, 9.50) int -> x1 must-init ; V02 loc1 [V02,T00] ( 5, 16.50) int -> x2 ;# V03 OutArgs [V03 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V04 cse0 [V04,T04] ( 2, 4.50) int -> x4 "CSE - aggressive" ; V05 cse1 [V05,T03] ( 3, 5 ) int -> x3 "CSE - aggressive" ; ; Lcl frame size = 0 G_M61339_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-16]! mov fp, sp mov x1, #0 ;; bbWeight=1 PerfScore 2.00 G_M61339_IG02: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x0] cbz x0, G_M61339_IG05 ;; bbWeight=1 PerfScore 1.00 G_M61339_IG03: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz movz w1, #0xd1ffab1e movk w1, #0xd1ffab1e LSL #16 mov w2, wzr ldr w3, [x0,#8] cmp w3, #0 ble G_M61339_IG05 movz w4, #0xd1ffab1e movk w4, #0xd1ffab1e LSL #16 align [0 bytes] align [0 bytes] align [0 bytes] align [0 bytes] ;; bbWeight=0.50 PerfScore 3.50 G_M61339_IG04: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, loop=IG04, byref, isz mov w5, w2 lsl x5, x5, #1 add x5, x5, #12 ldrh w5, [x0, x5] eor w1, w5, w1 mul w1, w1, w4 add w2, w2, #1 cmp w3, w2 bgt G_M61339_IG04 ;; bbWeight=4 PerfScore 38.00 G_M61339_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x0] mov w0, w1 ;; bbWeight=1 PerfScore 0.50 G_M61339_IG06: ; , epilog, nogc, extend ldp fp, lr, [sp],#16 ret lr ;; bbWeight=1 PerfScore 2.00 ; Total bytes of code 96, prolog size 12, PerfScore 56.60, instruction count 28, allocated bytes for code 96 (MethodHash=d7591064) for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Code Words : 1 Epilog Count : 1 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) ---- 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 <PrivateImplementationDetails>:ComputeStringHash(System.String):int ; Emitting BLENDED_CODE for generic ARM64 CPU - Unix ; optimized code ; fp based frame ; fully interruptible ; No matching PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T01] ( 5, 7.50) ref -> x0 class-hnd single-def ; V01 loc0 [V01,T02] ( 4, 9.50) int -> x1 must-init ; V02 loc1 [V02,T00] ( 5, 16.50) int -> x2 ;# V03 OutArgs [V03 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V04 cse0 [V04,T04] ( 2, 4.50) int -> x4 "CSE - aggressive" ; V05 cse1 [V05,T03] ( 3, 5 ) int -> x3 "CSE - aggressive" ; ; Lcl frame size = 0 G_M61339_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-16]! mov fp, sp mov x1, #0 ;; bbWeight=1 PerfScore 2.00 G_M61339_IG02: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz ; gcrRegs +[x0] cbz x0, G_M61339_IG05 ;; bbWeight=1 PerfScore 1.00 G_M61339_IG03: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz, align movz w1, #0xd1ffab1e movk w1, #0xd1ffab1e LSL #16 mov w2, wzr ldr w3, [x0,#8] cmp w3, #0 ble G_M61339_IG05 movz w4, #0xd1ffab1e movk w4, #0xd1ffab1e LSL #16 align [4 bytes] align [4 bytes] align [4 bytes] align [4 bytes] ;; bbWeight=0.50 PerfScore 4.50 G_M61339_IG04: ; gcrefRegs=0001 {x0}, byrefRegs=0000 {}, loop=IG04, byref, isz ubfiz x5, x2, #1, #32 add x5, x5, #12 ldrh w5, [x0, x5] eor w1, w5, w1 mul w1, w1, w4 add w2, w2, #1 cmp w3, w2 bgt G_M61339_IG04 ;; bbWeight=4 PerfScore 36.00 G_M61339_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref ; gcrRegs -[x0] mov w0, w1 ;; bbWeight=1 PerfScore 0.50 G_M61339_IG06: ; , epilog, nogc, extend ldp fp, lr, [sp],#16 ret lr ;; bbWeight=1 PerfScore 2.00 ; Total bytes of code 108, prolog size 12, PerfScore 56.80, instruction count 27, allocated bytes for code 108 (MethodHash=d7591064) for method <PrivateImplementationDetails>:ComputeStringHash(System.String):int ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Code Words : 1 Epilog Count : 1 E bit : 0 X bit : 0 Vers : 0 Function Length : 27 (0x0001b) Actual length = 108 (0x00006c) ---- 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) ---- 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
비교하기