Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
표시
레이아웃
나란히 보기
합쳐 보기
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
비교 단위
스마트
구문
없음
모양 변경
처리
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled Diff
생성일
5년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
14 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
113 행
복사
11 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
111 행
복사
; Assembly listing for method System.Number:DigitsToUInt32(long,int):int
; Assembly listing for method System.Number:DigitsToUInt32(long,int):int
; Emitting BLENDED_CODE for generic ARM64 CPU - Windows
; Emitting BLENDED_CODE for generic ARM64 CPU - Windows
; optimized code
; optimized code
; fp based frame
; fp based frame
; fully interruptible
; fully interruptible
; No matching PGO data
; No matching PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T00] ( 11, 23 ) long -> x19
; V00 arg0 [V00,T00] ( 11, 23 ) long -> x19
; V01 arg1 [V01,T02] ( 5, 4.50) int -> x20 single-def
; V01 arg1 [V01,T02] ( 5, 4.50) int -> x20 single-def
; V02 loc0 [V02,T03] ( 3, 6 ) long -> x0
; V02 loc0 [V02,T03] ( 3, 6 ) long -> x0
; V03 loc1 [V03,T01] ( 4, 10 ) int -> x1
; V03 loc1 [V03,T01] ( 4, 10 ) int -> x1
;# V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
;# V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace"
; V05 tmp1 [V05,T07] ( 3, 2 ) int -> x0
; V05 tmp1 [V05,T07] ( 3, 2 ) int -> x0
; V06 tmp2 [V06,T05] ( 2, 4 ) bool -> x0 "Inlining Arg"
; V06 tmp2 [V06,T05] ( 2, 4 ) bool -> x0 "Inlining Arg"
;* V07 tmp3 [V07,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
;* V07 tmp3 [V07,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
; V08 tmp4 [V08,T04] ( 3, 4 ) ref -> x1 class-hnd single-def "Inlining Arg"
; V08 tmp4 [V08,T04] ( 3, 4 ) ref -> x1 class-hnd single-def "Inlining Arg"
; V09 cse0 [V09,T06] ( 2, 2 ) ref -> x1 "CSE - aggressive"
; V09 cse0 [V09,T06] ( 2, 2 ) ref -> x1 "CSE - aggressive"
;
;
; Lcl frame size = 0
; Lcl frame size = 0
G_M47917_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
G_M47917_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp,#-32]!
stp fp, lr, [sp,#-32]!
stp x19, x20, [sp,#16]
stp x19, x20, [sp,#16]
mov fp, sp
mov fp, sp
mov x19, x0
mov x19, x0
mov w20, w1
mov w20, w1
;; bbWeight=1 PerfScore 3.50
;; bbWeight=1 PerfScore 3.50
G_M47917_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
G_M47917_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
cmp w20, #1
cmp w20, #1
blt G_M47917_IG04
blt G_M47917_IG04
;; bbWeight=1 PerfScore 1.50
;; bbWeight=1 PerfScore 1.50
G_M47917_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M47917_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
cmp w20, #9
cmp w20, #9
cset x0, le
cset x0, le
b G_M47917_IG05
b G_M47917_IG05
;; bbWeight=0.50 PerfScore 1.00
;; bbWeight=0.50 PerfScore 1.00
G_M47917_IG04: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M47917_IG04: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w0, wzr
mov w0, wzr
;; bbWeight=0.50 PerfScore 0.25
;; bbWeight=0.50 PerfScore 0.25
G_M47917_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
G_M47917_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
uxtb w0, w0
uxtb w0, w0
movz x1, #0xd1ffab1e
movz x1, #0xd1ffab1e
movk x1, #0xd1ffab1e LSL #16
movk x1, #0xd1ffab1e LSL #16
movk x1, #0xd1ffab1e LSL #32
movk x1, #0xd1ffab1e LSL #32
ldr x1, [x1]
ldr x1, [x1]
; gcrRegs +[x1]
; gcrRegs +[x1]
cbnz w0, G_M47917_IG07
cbnz w0, G_M47917_IG07
;; bbWeight=1 PerfScore 6.00
;; bbWeight=1 PerfScore 6.00
G_M47917_IG06: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
G_M47917_IG06: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
mov x0, x1
mov x0, x1
; gcrRegs +[x0]
; gcrRegs +[x0]
bl hackishModuleName:hackishMethodName()
bl hackishModuleName:hackishMethodName()
; gcrRegs -[x0-x1]
; gcrRegs -[x0-x1]
; gcr arg pop 0
; gcr arg pop 0
;; bbWeight=0.50 PerfScore 0.75
;; bbWeight=0.50 PerfScore 0.75
G_M47917_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
G_M47917_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
복사
복사됨
복사
복사됨
sxtw x0, w20
add x0, x19,
w20, SXTW
add x0, x19,
x0
ldrb w1, [x19]
ldrb w1, [x19]
sub w1, w1, #48
sub w1, w1, #48
add x19, x19, #1
add x19, x19, #1
cmp x19, x0
cmp x19, x0
bhs G_M47917_IG09
bhs G_M47917_IG09
;; bbWeight=1 PerfScore 6.50
;; bbWeight=1 PerfScore 6.50
G_M47917_IG08: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
G_M47917_IG08: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
mov x2, #5
mov x2, #5
mul w1, w1, w2
mul w1, w1, w2
복사
복사됨
복사
복사됨
lsl w1, w1, #1
ldrb w2, [x19]
ldrb w2, [x19]
복사
복사됨
복사
복사됨
add w1,
w1, w2
add w1,
w2, w1, LSL #1
sub w1, w1, #48
sub w1, w1, #48
add x19, x19, #1
add x19, x19, #1
cmp x19, x0
cmp x19, x0
blo G_M47917_IG08
blo G_M47917_IG08
복사
복사됨
복사
복사됨
;; bbWeight=4 PerfScore
38
.00
;; bbWeight=4 PerfScore
36
.00
G_M47917_IG09: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
G_M47917_IG09: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
mov w0, w1
mov w0, w1
;; bbWeight=1 PerfScore 0.50
;; bbWeight=1 PerfScore 0.50
G_M47917_IG10: ; , epilog, nogc, extend
G_M47917_IG10: ; , epilog, nogc, extend
ldp x19, x20, [sp,#16]
ldp x19, x20, [sp,#16]
ldp fp, lr, [sp],#32
ldp fp, lr, [sp],#32
ret lr
ret lr
;; bbWeight=1 PerfScore 3.00
;; bbWeight=1 PerfScore 3.00
복사
복사됨
복사
복사됨
; Total bytes of code
156
, prolog size 20, PerfScore
76.60
, instruction count
39
, allocated bytes for code
156
(MethodHash=afe144d2) for method System.Number:DigitsToUInt32(long,int):int
; Total bytes of code
148
, prolog size 20, PerfScore
73.80
, instruction count
37
, allocated bytes for code
148
(MethodHash=afe144d2) for method System.Number:DigitsToUInt32(long,int):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 : 2
Code Words : 2
Epilog Count : 1
Epilog Count : 1
E bit : 0
E bit : 0
X bit : 0
X bit : 0
Vers : 0
Vers : 0
복사
복사됨
복사
복사됨
Function Length :
39
(0x0002
7
) Actual length =
156
(0x00009
c
)
Function Length :
37
(0x0002
5
) Actual length =
148
(0x00009
4
)
---- 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)
저장된 비교 결과
원본
파일 열기
; Assembly listing for method System.Number:DigitsToUInt32(long,int):int ; Emitting BLENDED_CODE for generic ARM64 CPU - Windows ; optimized code ; fp based frame ; fully interruptible ; No matching PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 11, 23 ) long -> x19 ; V01 arg1 [V01,T02] ( 5, 4.50) int -> x20 single-def ; V02 loc0 [V02,T03] ( 3, 6 ) long -> x0 ; V03 loc1 [V03,T01] ( 4, 10 ) int -> x1 ;# V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V05 tmp1 [V05,T07] ( 3, 2 ) int -> x0 ; V06 tmp2 [V06,T05] ( 2, 4 ) bool -> x0 "Inlining Arg" ;* V07 tmp3 [V07,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ; V08 tmp4 [V08,T04] ( 3, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" ; V09 cse0 [V09,T06] ( 2, 2 ) ref -> x1 "CSE - aggressive" ; ; Lcl frame size = 0 G_M47917_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-32]! stp x19, x20, [sp,#16] mov fp, sp mov x19, x0 mov w20, w1 ;; bbWeight=1 PerfScore 3.50 G_M47917_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz cmp w20, #1 blt G_M47917_IG04 ;; bbWeight=1 PerfScore 1.50 G_M47917_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref cmp w20, #9 cset x0, le b G_M47917_IG05 ;; bbWeight=0.50 PerfScore 1.00 G_M47917_IG04: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov w0, wzr ;; bbWeight=0.50 PerfScore 0.25 G_M47917_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz uxtb w0, w0 movz x1, #0xd1ffab1e movk x1, #0xd1ffab1e LSL #16 movk x1, #0xd1ffab1e LSL #32 ldr x1, [x1] ; gcrRegs +[x1] cbnz w0, G_M47917_IG07 ;; bbWeight=1 PerfScore 6.00 G_M47917_IG06: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref mov x0, x1 ; gcrRegs +[x0] bl hackishModuleName:hackishMethodName() ; gcrRegs -[x0-x1] ; gcr arg pop 0 ;; bbWeight=0.50 PerfScore 0.75 G_M47917_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz sxtw x0, w20 add x0, x19, x0 ldrb w1, [x19] sub w1, w1, #48 add x19, x19, #1 cmp x19, x0 bhs G_M47917_IG09 ;; bbWeight=1 PerfScore 6.50 G_M47917_IG08: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz mov x2, #5 mul w1, w1, w2 lsl w1, w1, #1 ldrb w2, [x19] add w1, w1, w2 sub w1, w1, #48 add x19, x19, #1 cmp x19, x0 blo G_M47917_IG08 ;; bbWeight=4 PerfScore 38.00 G_M47917_IG09: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov w0, w1 ;; bbWeight=1 PerfScore 0.50 G_M47917_IG10: ; , epilog, nogc, extend ldp x19, x20, [sp,#16] ldp fp, lr, [sp],#32 ret lr ;; bbWeight=1 PerfScore 3.00 ; Total bytes of code 156, prolog size 20, PerfScore 76.60, instruction count 39, allocated bytes for code 156 (MethodHash=afe144d2) for method System.Number:DigitsToUInt32(long,int):int ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Code Words : 2 Epilog Count : 1 E bit : 0 X bit : 0 Vers : 0 Function Length : 39 (0x00027) Actual length = 156 (0x00009c) ---- 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 ---- C8 02 save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16] 83 save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]! E4 end E4 end E4 end E4 end
수정본
파일 열기
; Assembly listing for method System.Number:DigitsToUInt32(long,int):int ; Emitting BLENDED_CODE for generic ARM64 CPU - Windows ; optimized code ; fp based frame ; fully interruptible ; No matching PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 11, 23 ) long -> x19 ; V01 arg1 [V01,T02] ( 5, 4.50) int -> x20 single-def ; V02 loc0 [V02,T03] ( 3, 6 ) long -> x0 ; V03 loc1 [V03,T01] ( 4, 10 ) int -> x1 ;# V04 OutArgs [V04 ] ( 1, 1 ) lclBlk ( 0) [sp+00H] "OutgoingArgSpace" ; V05 tmp1 [V05,T07] ( 3, 2 ) int -> x0 ; V06 tmp2 [V06,T05] ( 2, 4 ) bool -> x0 "Inlining Arg" ;* V07 tmp3 [V07,T08] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" ; V08 tmp4 [V08,T04] ( 3, 4 ) ref -> x1 class-hnd single-def "Inlining Arg" ; V09 cse0 [V09,T06] ( 2, 2 ) ref -> x1 "CSE - aggressive" ; ; Lcl frame size = 0 G_M47917_IG01: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp,#-32]! stp x19, x20, [sp,#16] mov fp, sp mov x19, x0 mov w20, w1 ;; bbWeight=1 PerfScore 3.50 G_M47917_IG02: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz cmp w20, #1 blt G_M47917_IG04 ;; bbWeight=1 PerfScore 1.50 G_M47917_IG03: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref cmp w20, #9 cset x0, le b G_M47917_IG05 ;; bbWeight=0.50 PerfScore 1.00 G_M47917_IG04: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov w0, wzr ;; bbWeight=0.50 PerfScore 0.25 G_M47917_IG05: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz uxtb w0, w0 movz x1, #0xd1ffab1e movk x1, #0xd1ffab1e LSL #16 movk x1, #0xd1ffab1e LSL #32 ldr x1, [x1] ; gcrRegs +[x1] cbnz w0, G_M47917_IG07 ;; bbWeight=1 PerfScore 6.00 G_M47917_IG06: ; gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref mov x0, x1 ; gcrRegs +[x0] bl hackishModuleName:hackishMethodName() ; gcrRegs -[x0-x1] ; gcr arg pop 0 ;; bbWeight=0.50 PerfScore 0.75 G_M47917_IG07: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz add x0, x19, w20, SXTW ldrb w1, [x19] sub w1, w1, #48 add x19, x19, #1 cmp x19, x0 bhs G_M47917_IG09 ;; bbWeight=1 PerfScore 6.50 G_M47917_IG08: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz mov x2, #5 mul w1, w1, w2 ldrb w2, [x19] add w1, w2, w1, LSL #1 sub w1, w1, #48 add x19, x19, #1 cmp x19, x0 blo G_M47917_IG08 ;; bbWeight=4 PerfScore 36.00 G_M47917_IG09: ; gcrefRegs=0000 {}, byrefRegs=0000 {}, byref mov w0, w1 ;; bbWeight=1 PerfScore 0.50 G_M47917_IG10: ; , epilog, nogc, extend ldp x19, x20, [sp,#16] ldp fp, lr, [sp],#32 ret lr ;; bbWeight=1 PerfScore 3.00 ; Total bytes of code 148, prolog size 20, PerfScore 73.80, instruction count 37, allocated bytes for code 148 (MethodHash=afe144d2) for method System.Number:DigitsToUInt32(long,int):int ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Code Words : 2 Epilog Count : 1 E bit : 0 X bit : 0 Vers : 0 Function Length : 37 (0x00025) Actual length = 148 (0x000094) ---- 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 ---- C8 02 save_regp X#0 Z#2 (0x02); stp x19, x20, [sp, #16] 83 save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]! E4 end E4 end E4 end E4 end
비교하기