Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide whitespace changes
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Text styles
Change appearance
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Untitled diff
Created
2 years ago
Diff never expires
Clear
Export
Share
Explain
3 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
57 lines
Copy
7 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
61 lines
Copy
; 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]
Copy
Copied
Copy
Copied
;; 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]
Copy
Copied
Copy
Copied
;; 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
Copy
Copied
Copy
Copied
;; 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)
; ============================================================
; ============================================================
Saved diffs
Original text
Open file
; 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) ; ============================================================
Changed text
Open file
; 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) ; ============================================================
Find difference