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 unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
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
3 years ago
Diff never expires
Clear
Export
Share
Explain
41 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
75 lines
Copy
43 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
74 lines
Copy
Copy
Copied
Copy
Copied
; Assembly listing for method System.ArraySegment`1[double]:ToArray():double[]:this
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; partially interruptible
; partially interruptible
; No PGO data
; No PGO data
Copy
Copied
Copy
Copied
; 0 inlinees with PGO data;
0
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 this [V00,T00] ( 6, 5 ) byref -> rsi this single-def
; V00 this [V00,T00] ( 6, 5 ) byref -> rsi this single-def
; V01 loc0 [V01,T02] ( 3, 1.50) ref -> rbx class-hnd exact single-def
; V01 loc0 [V01,T02] ( 3, 1.50) ref -> rbx class-hnd exact single-def
; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (40) [rsp+00H] "OutgoingArgSpace"
; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (40) [rsp+00H] "OutgoingArgSpace"
Copy
Copied
Copy
Copied
;
V03 tmp1 [V03 ] (
2
,
2
) struct (16)
[rsp+30H] do-not-enreg[HS] must-init hidden-struct-arg
"struct address for call/obj"
;
*
V03 tmp1 [V03 ] (
0
,
0
) struct (16)
zero-ref
"struct address for call/obj"
; V04 tmp2 [V04,T03] ( 2, 1
.50
) ref ->
[rsp+30H]
do-not-enreg[H] hidden-struct-arg
V03._array(offs=0x00) P-
DEP "field V03._array (fldOffset=0x0)"
; V04 tmp2 [V04,T03] ( 2, 1
) ref ->
rax
single-def
V03._array(offs=0x00) P-
IN
DEP "field V03._array (fldOffset=0x0)"
;
V05 tmp3 [V05
,T04
] (
1
,
1
) int ->
[rsp+38H] do-not-enreg[H] hidden-struct-arg
V03._offset(offs=0x08) P-
DEP "field V03._offset (fldOffset=0x8)"
;
*
V05 tmp3 [V05
] (
0
,
0
) int ->
zero-ref
V03._offset(offs=0x08) P-
IN
DEP "field V03._offset (fldOffset=0x8)"
;
V06 tmp4 [V06
,T05
] (
1
,
1
) int ->
[rsp+3CH] do-not-enreg[H] hidden-struct-arg
V03._count(offs=0x0c) P-
DEP "field V03._count (fldOffset=0xc)"
;
*
V06 tmp4 [V06
] (
0
,
0
) int ->
zero-ref
V03._count(offs=0x0c) P-
IN
DEP "field V03._count (fldOffset=0xc)"
; V07 cse0 [V07,T01] ( 4, 3 ) int -> rdi "CSE - aggressive"
; V07 cse0 [V07,T01] ( 4, 3 ) int -> rdi "CSE - aggressive"
;
;
Copy
Copied
Copy
Copied
; Lcl frame size =
64
; Lcl frame size =
48
G_M49573_IG01:
G_M49573_IG01:
push rdi
push rdi
push rsi
push rsi
push rbx
push rbx
Copy
Copied
Copy
Copied
sub rsp,
64
sub rsp,
48
xor eax, eax
mov qword ptr [rsp+30H], rax
mov rsi, rcx
mov rsi, rcx
Copy
Copied
Copy
Copied
;; size=
17
bbWeight=1 PerfScore
4.75
;; size=
10
bbWeight=1 PerfScore
3.50
G_M49573_IG02:
G_M49573_IG02:
cmp gword ptr [rsi], 0
cmp gword ptr [rsi], 0
je SHORT G_M49573_IG07
je SHORT G_M49573_IG07
mov edi, dword ptr [rsi+0CH]
mov edi, dword ptr [rsi+0CH]
test edi, edi
test edi, edi
jne SHORT G_M49573_IG05
jne SHORT G_M49573_IG05
;; size=13 bbWeight=1 PerfScore 7.25
;; size=13 bbWeight=1 PerfScore 7.25
G_M49573_IG03:
G_M49573_IG03:
Copy
Copied
Copy
Copied
lea
r
c
x,
[rsp+30H]
mov
r
a
x,
0xD1FFAB1E
; box for
System.ArraySegment`1[double]:
<
Empty
>k__BackingField
call [
System.ArraySegment`1[double]:
get_
Empty
():System.ArraySegment`1[double]
]
mov rax, gword ptr [rax
]
mov rax, gword ptr [
rsp+30
H]
mov rax, gword ptr [
rax+08
H]
;; size=
16
bbWeight=0.50 PerfScore 2.
25
;; size=
17
bbWeight=0.50 PerfScore 2.
12
G_M49573_IG04:
G_M49573_IG04:
Copy
Copied
Copy
Copied
add rsp,
64
add rsp,
48
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
;; size=8 bbWeight=0.50 PerfScore 1.38
;; size=8 bbWeight=0.50 PerfScore 1.38
G_M49573_IG05:
G_M49573_IG05:
movsxd rdx, edi
movsxd rdx, edi
mov rcx, 0xD1FFAB1E ; double[]
mov rcx, 0xD1FFAB1E ; double[]
call CORINFO_HELP_NEWARR_1_VC
call CORINFO_HELP_NEWARR_1_VC
mov rbx, rax
mov rbx, rax
mov dword ptr [rsp+20H], edi
mov dword ptr [rsp+20H], edi
mov rcx, gword ptr [rsi]
mov rcx, gword ptr [rsi]
mov edx, dword ptr [rsi+08H]
mov edx, dword ptr [rsi+08H]
mov r8, rbx
mov r8, rbx
xor r9d, r9d
xor r9d, r9d
call [System.Array:Copy(System.Array,int,System.Array,int,int)]
call [System.Array:Copy(System.Array,int,System.Array,int,int)]
mov rax, rbx
mov rax, rbx
;; size=46 bbWeight=0.50 PerfScore 5.25
;; size=46 bbWeight=0.50 PerfScore 5.25
G_M49573_IG06:
G_M49573_IG06:
Copy
Copied
Copy
Copied
add rsp,
64
add rsp,
48
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
;; size=8 bbWeight=0.50 PerfScore 1.38
;; size=8 bbWeight=0.50 PerfScore 1.38
G_M49573_IG07:
G_M49573_IG07:
mov ecx, 22
mov ecx, 22
call [System.ThrowHelper:ThrowInvalidOperationException(int)]
call [System.ThrowHelper:ThrowInvalidOperationException(int)]
int3
int3
;; size=12 bbWeight=0 PerfScore 0.00
;; size=12 bbWeight=0 PerfScore 0.00
Copy
Copied
Copy
Copied
; Total bytes of code
120
, prolog size
14
, PerfScore
34.25
, instruction count
39
, allocated bytes for code
120
(MethodHash=bece3e5a) for method System.ArraySegment`1[double]:ToArray():double[]:this
; Total bytes of code
114
, prolog size
7
, PerfScore
32.28
, instruction count
37
, allocated bytes for code
114
(MethodHash=bece3e5a) for method System.ArraySegment`1[double]:ToArray():double[]:this
; ============================================================
; ============================================================
Saved diffs
Original text
Open file
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 0 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 6, 5 ) byref -> rsi this single-def ; V01 loc0 [V01,T02] ( 3, 1.50) ref -> rbx class-hnd exact single-def ; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (40) [rsp+00H] "OutgoingArgSpace" ; V03 tmp1 [V03 ] ( 2, 2 ) struct (16) [rsp+30H] do-not-enreg[HS] must-init hidden-struct-arg "struct address for call/obj" ; V04 tmp2 [V04,T03] ( 2, 1.50) ref -> [rsp+30H] do-not-enreg[H] hidden-struct-arg V03._array(offs=0x00) P-DEP "field V03._array (fldOffset=0x0)" ; V05 tmp3 [V05,T04] ( 1, 1 ) int -> [rsp+38H] do-not-enreg[H] hidden-struct-arg V03._offset(offs=0x08) P-DEP "field V03._offset (fldOffset=0x8)" ; V06 tmp4 [V06,T05] ( 1, 1 ) int -> [rsp+3CH] do-not-enreg[H] hidden-struct-arg V03._count(offs=0x0c) P-DEP "field V03._count (fldOffset=0xc)" ; V07 cse0 [V07,T01] ( 4, 3 ) int -> rdi "CSE - aggressive" ; ; Lcl frame size = 64 G_M49573_IG01: push rdi push rsi push rbx sub rsp, 64 xor eax, eax mov qword ptr [rsp+30H], rax mov rsi, rcx ;; size=17 bbWeight=1 PerfScore 4.75 G_M49573_IG02: cmp gword ptr [rsi], 0 je SHORT G_M49573_IG07 mov edi, dword ptr [rsi+0CH] test edi, edi jne SHORT G_M49573_IG05 ;; size=13 bbWeight=1 PerfScore 7.25 G_M49573_IG03: lea rcx, [rsp+30H] call [System.ArraySegment`1[double]:get_Empty():System.ArraySegment`1[double]] mov rax, gword ptr [rsp+30H] ;; size=16 bbWeight=0.50 PerfScore 2.25 G_M49573_IG04: add rsp, 64 pop rbx pop rsi pop rdi ret ;; size=8 bbWeight=0.50 PerfScore 1.38 G_M49573_IG05: movsxd rdx, edi mov rcx, 0xD1FFAB1E ; double[] call CORINFO_HELP_NEWARR_1_VC mov rbx, rax mov dword ptr [rsp+20H], edi mov rcx, gword ptr [rsi] mov edx, dword ptr [rsi+08H] mov r8, rbx xor r9d, r9d call [System.Array:Copy(System.Array,int,System.Array,int,int)] mov rax, rbx ;; size=46 bbWeight=0.50 PerfScore 5.25 G_M49573_IG06: add rsp, 64 pop rbx pop rsi pop rdi ret ;; size=8 bbWeight=0.50 PerfScore 1.38 G_M49573_IG07: mov ecx, 22 call [System.ThrowHelper:ThrowInvalidOperationException(int)] int3 ;; size=12 bbWeight=0 PerfScore 0.00 ; Total bytes of code 120, prolog size 14, PerfScore 34.25, instruction count 39, allocated bytes for code 120 (MethodHash=bece3e5a) for method System.ArraySegment`1[double]:ToArray():double[]:this ; ============================================================
Changed text
Open file
; Assembly listing for method System.ArraySegment`1[double]:ToArray():double[]:this ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data ; Final local variable assignments ; ; V00 this [V00,T00] ( 6, 5 ) byref -> rsi this single-def ; V01 loc0 [V01,T02] ( 3, 1.50) ref -> rbx class-hnd exact single-def ; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (40) [rsp+00H] "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) struct (16) zero-ref "struct address for call/obj" ; V04 tmp2 [V04,T03] ( 2, 1 ) ref -> rax single-def V03._array(offs=0x00) P-INDEP "field V03._array (fldOffset=0x0)" ;* V05 tmp3 [V05 ] ( 0, 0 ) int -> zero-ref V03._offset(offs=0x08) P-INDEP "field V03._offset (fldOffset=0x8)" ;* V06 tmp4 [V06 ] ( 0, 0 ) int -> zero-ref V03._count(offs=0x0c) P-INDEP "field V03._count (fldOffset=0xc)" ; V07 cse0 [V07,T01] ( 4, 3 ) int -> rdi "CSE - aggressive" ; ; Lcl frame size = 48 G_M49573_IG01: push rdi push rsi push rbx sub rsp, 48 mov rsi, rcx ;; size=10 bbWeight=1 PerfScore 3.50 G_M49573_IG02: cmp gword ptr [rsi], 0 je SHORT G_M49573_IG07 mov edi, dword ptr [rsi+0CH] test edi, edi jne SHORT G_M49573_IG05 ;; size=13 bbWeight=1 PerfScore 7.25 G_M49573_IG03: mov rax, 0xD1FFAB1E ; box for System.ArraySegment`1[double]:<Empty>k__BackingField mov rax, gword ptr [rax] mov rax, gword ptr [rax+08H] ;; size=17 bbWeight=0.50 PerfScore 2.12 G_M49573_IG04: add rsp, 48 pop rbx pop rsi pop rdi ret ;; size=8 bbWeight=0.50 PerfScore 1.38 G_M49573_IG05: movsxd rdx, edi mov rcx, 0xD1FFAB1E ; double[] call CORINFO_HELP_NEWARR_1_VC mov rbx, rax mov dword ptr [rsp+20H], edi mov rcx, gword ptr [rsi] mov edx, dword ptr [rsi+08H] mov r8, rbx xor r9d, r9d call [System.Array:Copy(System.Array,int,System.Array,int,int)] mov rax, rbx ;; size=46 bbWeight=0.50 PerfScore 5.25 G_M49573_IG06: add rsp, 48 pop rbx pop rsi pop rdi ret ;; size=8 bbWeight=0.50 PerfScore 1.38 G_M49573_IG07: mov ecx, 22 call [System.ThrowHelper:ThrowInvalidOperationException(int)] int3 ;; size=12 bbWeight=0 PerfScore 0.00 ; Total bytes of code 114, prolog size 7, PerfScore 32.28, instruction count 37, allocated bytes for code 114 (MethodHash=bece3e5a) for method System.ArraySegment`1[double]:ToArray():double[]:this ; ============================================================
Find difference