Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
텍스트 스타일
모양 변경
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled diff
생성일
2년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
3 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
57 행
복사
7 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
61 행
복사
; Assembly listing for method MyBench2:Test(System.Action`1[int],int) (FullOpts)
; Assembly listing for method MyBench2:Test(System.Action`1[int],int) (FullOpts)
; Emitting BLENDED_CODE for generic ARM64 - Windows
; Emitting BLENDED_CODE for generic ARM64 - Windows
; FullOpts code
; FullOpts code
; optimized code
; optimized code
; fp based frame
; fp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
; invoked as altjit
; invoked as altjit
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T03] ( 4, 4 ) ref -> x2 class-hnd single-def <System.Action`1[int]>
; V00 arg0 [V00,T03] ( 4, 4 ) ref -> x2 class-hnd single-def <System.Action`1[int]>
; V01 arg1 [V01,T02] ( 4, 7 ) int -> x1 single-def
; V01 arg1 [V01,T02] ( 4, 7 ) int -> x1 single-def
; V02 loc0 [V02,T01] ( 4, 10 ) int -> x0
; V02 loc0 [V02,T01] ( 4, 10 ) int -> x0
; V03 loc1 [V03,T00] ( 5, 17 ) int -> x3
; V03 loc1 [V03,T00] ( 5, 17 ) int -> x3
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
;
;
; Lcl frame size = 0
; Lcl frame size = 0
G_M23933_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
G_M23933_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
stp fp, lr, [sp, #-0x10]!
stp fp, lr, [sp, #-0x10]!
mov fp, sp
mov fp, sp
mov x2, x0
mov x2, x0
; gcrRegs +[x2]
; gcrRegs +[x2]
;; size=12 bbWeight=1 PerfScore 2.00
;; size=12 bbWeight=1 PerfScore 2.00
G_M23933_IG02: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref, isz, align
G_M23933_IG02: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref, isz, align
mov w0, wzr
mov w0, wzr
mov w3, wzr
mov w3, wzr
cmp w1, #0
cmp w1, #0
ble G_M23933_IG04
ble G_M23933_IG04
align [4 bytes for IG03]
align [4 bytes for IG03]
align [0 bytes]
align [0 bytes]
align [0 bytes]
align [0 bytes]
align [0 bytes]
align [0 bytes]
;; size=20 bbWeight=1 PerfScore 3.00
;; size=20 bbWeight=1 PerfScore 3.00
G_M23933_IG03: ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, loop=IG03, byref, isz
G_M23933_IG03: ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, loop=IG03, byref, isz
add w0, w0, w3
add w0, w0, w3
add w3, w3, #1
add w3, w3, #1
cmp w3, w1
cmp w3, w1
blt G_M23933_IG03
blt G_M23933_IG03
;; size=16 bbWeight=4 PerfScore 10.00
;; size=16 bbWeight=4 PerfScore 10.00
G_M23933_IG04: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
G_M23933_IG04: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref
mov w1, w0
mov w1, w0
ldr x0, [x2, #0x08]
ldr x0, [x2, #0x08]
; gcrRegs +[x0]
; gcrRegs +[x0]
복사
복사됨
복사
복사됨
;; size=8 bbWeight=1 PerfScore 3.50
G_M23933_IG05: ; bbWeight=1, nogc, extend
ldr x2, [x2, #0x18]
ldr x2, [x2, #0x18]
; gcrRegs -[x2]
; gcrRegs -[x2]
복사
복사됨
복사
복사됨
;; size=4 bbWeight=1 PerfScore 3.00
G_M23933_IG06: ; bbWeight=1, extend
blr x2
blr x2
; gcrRegs -[x0]
; gcrRegs -[x0]
; gcr arg pop 0
; gcr arg pop 0
복사
복사됨
복사
복사됨
;; size=
16
bbWeight=1 PerfScore
7.50
;; size=
4
bbWeight=1 PerfScore
1.00
G_M23933_IG0
5
: ; bbWeight=1, epilog, nogc, extend
G_M23933_IG0
7
: ; bbWeight=1, epilog, nogc, extend
ldp fp, lr, [sp], #0x10
ldp fp, lr, [sp], #0x10
ret lr
ret lr
;; size=8 bbWeight=1 PerfScore 2.00
;; size=8 bbWeight=1 PerfScore 2.00
; Total bytes of code 72, prolog size 12, PerfScore 24.50, instruction count 21, allocated bytes for code 72 (MethodHash=d7f5a282) for method MyBench2:Test(System.Action`1[int],int) (FullOpts)
; Total bytes of code 72, prolog size 12, PerfScore 24.50, instruction count 21, allocated bytes for code 72 (MethodHash=d7f5a282) for method MyBench2:Test(System.Action`1[int],int) (FullOpts)
; ============================================================
; ============================================================
저장된 비교 결과
원본
파일 열기
; Assembly listing for method MyBench2:Test(System.Action`1[int],int) (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Windows ; FullOpts code ; optimized code ; fp based frame ; fully interruptible ; No PGO data ; invoked as altjit ; Final local variable assignments ; ; V00 arg0 [V00,T03] ( 4, 4 ) ref -> x2 class-hnd single-def <System.Action`1[int]> ; V01 arg1 [V01,T02] ( 4, 7 ) int -> x1 single-def ; V02 loc0 [V02,T01] ( 4, 10 ) int -> x0 ; V03 loc1 [V03,T00] ( 5, 17 ) int -> x3 ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; ; Lcl frame size = 0 G_M23933_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp, #-0x10]! mov fp, sp mov x2, x0 ; gcrRegs +[x2] ;; size=12 bbWeight=1 PerfScore 2.00 G_M23933_IG02: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref, isz, align mov w0, wzr mov w3, wzr cmp w1, #0 ble G_M23933_IG04 align [4 bytes for IG03] align [0 bytes] align [0 bytes] align [0 bytes] ;; size=20 bbWeight=1 PerfScore 3.00 G_M23933_IG03: ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, loop=IG03, byref, isz add w0, w0, w3 add w3, w3, #1 cmp w3, w1 blt G_M23933_IG03 ;; size=16 bbWeight=4 PerfScore 10.00 G_M23933_IG04: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref mov w1, w0 ldr x0, [x2, #0x08] ; gcrRegs +[x0] ldr x2, [x2, #0x18] ; gcrRegs -[x2] blr x2 ; gcrRegs -[x0] ; gcr arg pop 0 ;; size=16 bbWeight=1 PerfScore 7.50 G_M23933_IG05: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00 ; Total bytes of code 72, prolog size 12, PerfScore 24.50, instruction count 21, allocated bytes for code 72 (MethodHash=d7f5a282) for method MyBench2:Test(System.Action`1[int],int) (FullOpts) ; ============================================================
수정본
파일 열기
; Assembly listing for method MyBench2:Test(System.Action`1[int],int) (FullOpts) ; Emitting BLENDED_CODE for generic ARM64 - Windows ; FullOpts code ; optimized code ; fp based frame ; fully interruptible ; No PGO data ; invoked as altjit ; Final local variable assignments ; ; V00 arg0 [V00,T03] ( 4, 4 ) ref -> x2 class-hnd single-def <System.Action`1[int]> ; V01 arg1 [V01,T02] ( 4, 7 ) int -> x1 single-def ; V02 loc0 [V02,T01] ( 4, 10 ) int -> x0 ; V03 loc1 [V03,T00] ( 5, 17 ) int -> x3 ;# V04 OutArgs [V04 ] ( 1, 1 ) struct ( 0) [sp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" ; ; Lcl frame size = 0 G_M23933_IG01: ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG stp fp, lr, [sp, #-0x10]! mov fp, sp mov x2, x0 ; gcrRegs +[x2] ;; size=12 bbWeight=1 PerfScore 2.00 G_M23933_IG02: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref, isz, align mov w0, wzr mov w3, wzr cmp w1, #0 ble G_M23933_IG04 align [4 bytes for IG03] align [0 bytes] align [0 bytes] align [0 bytes] ;; size=20 bbWeight=1 PerfScore 3.00 G_M23933_IG03: ; bbWeight=4, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, loop=IG03, byref, isz add w0, w0, w3 add w3, w3, #1 cmp w3, w1 blt G_M23933_IG03 ;; size=16 bbWeight=4 PerfScore 10.00 G_M23933_IG04: ; bbWeight=1, gcrefRegs=0004 {x2}, byrefRegs=0000 {}, byref mov w1, w0 ldr x0, [x2, #0x08] ; gcrRegs +[x0] ;; size=8 bbWeight=1 PerfScore 3.50 G_M23933_IG05: ; bbWeight=1, nogc, extend ldr x2, [x2, #0x18] ; gcrRegs -[x2] ;; size=4 bbWeight=1 PerfScore 3.00 G_M23933_IG06: ; bbWeight=1, extend blr x2 ; gcrRegs -[x0] ; gcr arg pop 0 ;; size=4 bbWeight=1 PerfScore 1.00 G_M23933_IG07: ; bbWeight=1, epilog, nogc, extend ldp fp, lr, [sp], #0x10 ret lr ;; size=8 bbWeight=1 PerfScore 2.00 ; Total bytes of code 72, prolog size 12, PerfScore 24.50, instruction count 21, allocated bytes for code 72 (MethodHash=d7f5a282) for method MyBench2:Test(System.Action`1[int],int) (FullOpts) ; ============================================================
비교하기