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
32 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
41 lines
Copy
81 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
86 lines
Copy
; Assembly listing for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool
; Assembly listing for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool
; 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; 1 single block inlinees; 1 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
Copy
Copied
Copy
Copied
; V00 arg0 [V00,T00] (
3
,
6
) byref ->
rsi
single-def
; V00 arg0 [V00,T00] (
4
,
8
) byref ->
rcx
single-def
; V01 arg1 [V01,T01] (
3
, 3 ) byref -> r
d
i single-def
; V01 arg1 [V01,T01] (
4
, 3 ) byref -> r
s
i single-def
; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
Copy
Copied
Copy
Copied
;
*
V03 tmp1 [V03
] ( 0, 0 ) byref -> zero-ref
V05
._reference(offs=0x00) P-INDEP "field V00._reference (fldOffset=0x0)"
;
V03 tmp1 [V03
,T05] ( 3, 2 ) bool -> rax "Inline return value spill temp"
;* V
04
tmp
2
[V
04
] ( 0, 0 ) int -> zero-ref
V05
._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)"
; V04 tmp2 [V04 ] ( 9, 8.50) struct (128) [rsp+30H] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref"
;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg"
; V06 tmp4 [V06,T02] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V06 tmp4 [V06,T02] ( 2, 4 ) ref -> rdx class-hnd single-def "Inlining Arg"
;* V07 tmp5 [V07 ] ( 0, 0 ) struct ( 8) zero-ref "folding static ro fld struct"
;* V08 tmp6 [V08 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg"
;* V09 tmp7 [V09
] ( 0, 0 ) byref -> zero-ref
V16
._reference(offs=0x00) P-INDEP "field V00._reference (fldOffset=0x0)"
;* V
10
tmp
8
[V
10
] ( 0, 0 ) int -> zero-ref
V16
._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)"
; V11 tmp9 [V11,T03] ( 3, 3 ) byref -> rdi single-def V05._reference(offs=0x00) P-INDEP "field V05._reference (fldOffset=0x0)"
; V12 tmp10 [V12,T04] ( 3, 3 ) int -> rbx V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)"
;* V13 tmp11 [V13,T06] ( 0, 0 ) long -> zero-ref V07._dateData(offs=0x00) P-INDEP "field V07._dateData (fldOffset=0x0)"
;* V14 tmp12 [V14 ] ( 0, 0 ) byref -> zero-ref V08._reference(offs=0x00) P-INDEP "field V08._reference (fldOffset=0x0)"
;* V15 tmp13 [V15 ] ( 0, 0 ) int -> zero-ref V08._length(offs=0x08) P-INDEP "field V08._length (fldOffset=0x8)"
;* V16 tmp14 [V16 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref"
; V17 tmp15 [V17 ] ( 3, 6 ) struct (16) [rsp+20H] do-not-enreg[XSF] must-init addr-exposed "by-value struct argument"
;
;
Copy
Copied
Copy
Copied
; Lcl frame size =
40
; Lcl frame size =
176
G_M61794_IG01:
G_M61794_IG01:
push rdi
push rdi
push rsi
push rsi
Copy
Copied
Copy
Copied
sub rsp,
40
push rbx
mov rsi, rcx
sub rsp,
176
mov r
d
i, rdx
vxorps xmm4, xmm4
;; size=
12
bbWeight=1 PerfScore
2.75
mov rax, -144
vmovdqa xmmword ptr [rsp+rax+B0H], xmm4
vmovdqa xmmword ptr [rsp+rax+C0H], xmm4
vmovdqa xmmword ptr [rsp+rax+D0H], xmm4
add rax, 48
jne SHORT -5 instr
mov r
s
i, rdx
;; size=
60
bbWeight=1 PerfScore
11.33
G_M61794_IG02:
G_M61794_IG02:
Copy
Copied
Copy
Copied
mov rdi, bword ptr [rcx]
mov ebx, dword ptr [rcx+08H]
call [System.Globalization.DateTimeFormatInfo:get_CurrentInfo():System.Globalization.DateTimeFormatInfo]
call [System.Globalization.DateTimeFormatInfo:get_CurrentInfo():System.Globalization.DateTimeFormatInfo]
mov rdx, rax
mov rdx, rax
Copy
Copied
Copy
Copied
mov rcx, rsi
mov bword ptr [rsp+90H], rdi
mov r9, rdi
mov dword ptr [rsp+98H], ebx
mov dword ptr [rsp+58H], -1
mov dword ptr [rsp+5CH], -1
mov dword ptr [rsp+60H], -1
mov rcx, 0xD1FFAB1E
mov qword ptr [rsp+50H], rcx
mov dword ptr [rsp+70H], -1
mov bword ptr [rsp+20H], rdi
mov dword ptr [rsp+28H], ebx
lea rcx, [rsp+20H]
lea r9, [rsp+30H]
xor r8d, r8d
xor r8d, r8d
Copy
Copied
Copy
Copied
;; size=
18
bbWeight=1 PerfScore
4
.00
call [System.DateTimeParse:TryParse(System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,int,byref):bool]
test eax, eax
je SHORT G_M61794_IG04
;; size=
109
bbWeight=1 PerfScore
22
.00
G_M61794_IG03:
G_M61794_IG03:
Copy
Copied
Copy
Copied
add rsp,
40
mov rax, qword ptr [rsp+88H]
mov qword ptr [rsi], rax
mov eax, 1
jmp SHORT G_M61794_IG05
;; size=18 bbWeight=0.50 PerfScore 2.12
G_M61794_IG04:
xor eax, eax
mov qword ptr [rsi], rax
;; size=5 bbWeight=0.50 PerfScore 0.62
G_M61794_IG05:
add rsp,
176
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
Copy
Copied
Copy
Copied
tail.jmp [System.DateTimeParse:TryParse(System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,int,byref):bool]
ret
;; size=
12
bbWeight=1 PerfScore
3.2
5
;; size=
11
bbWeight=1 PerfScore
2.7
5
Copy
Copied
Copy
Copied
; Total bytes of code
42
, prolog size
6
, PerfScore
14.20
, instruction count
14
, allocated bytes for code
42
(MethodHash=e7870e9d) for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool
; Total bytes of code
203
, prolog size
57
, PerfScore
59.13
, instruction count
43
, allocated bytes for code
203
(MethodHash=e7870e9d) for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool
; ============================================================
; ============================================================
Saved diffs
Original text
Open file
; Assembly listing for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; partially interruptible ; No PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 3, 6 ) byref -> rsi single-def ; V01 arg1 [V01,T01] ( 3, 3 ) byref -> rdi single-def ; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ;* V03 tmp1 [V03 ] ( 0, 0 ) byref -> zero-ref V05._reference(offs=0x00) P-INDEP "field V00._reference (fldOffset=0x0)" ;* V04 tmp2 [V04 ] ( 0, 0 ) int -> zero-ref V05._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref" ; V06 tmp4 [V06,T02] ( 2, 4 ) ref -> rdx single-def "argument with side effect" ; ; Lcl frame size = 40 G_M61794_IG01: push rdi push rsi sub rsp, 40 mov rsi, rcx mov rdi, rdx ;; size=12 bbWeight=1 PerfScore 2.75 G_M61794_IG02: call [System.Globalization.DateTimeFormatInfo:get_CurrentInfo():System.Globalization.DateTimeFormatInfo] mov rdx, rax mov rcx, rsi mov r9, rdi xor r8d, r8d ;; size=18 bbWeight=1 PerfScore 4.00 G_M61794_IG03: add rsp, 40 pop rsi pop rdi tail.jmp [System.DateTimeParse:TryParse(System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,int,byref):bool] ;; size=12 bbWeight=1 PerfScore 3.25 ; Total bytes of code 42, prolog size 6, PerfScore 14.20, instruction count 14, allocated bytes for code 42 (MethodHash=e7870e9d) for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool ; ============================================================
Changed text
Open file
; Assembly listing for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool ; 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 arg0 [V00,T00] ( 4, 8 ) byref -> rcx single-def ; V01 arg1 [V01,T01] ( 4, 3 ) byref -> rsi single-def ; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; V03 tmp1 [V03,T05] ( 3, 2 ) bool -> rax "Inline return value spill temp" ; V04 tmp2 [V04 ] ( 9, 8.50) struct (128) [rsp+30H] do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ;* V05 tmp3 [V05 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" ; V06 tmp4 [V06,T02] ( 2, 4 ) ref -> rdx class-hnd single-def "Inlining Arg" ;* V07 tmp5 [V07 ] ( 0, 0 ) struct ( 8) zero-ref "folding static ro fld struct" ;* V08 tmp6 [V08 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" ;* V09 tmp7 [V09 ] ( 0, 0 ) byref -> zero-ref V16._reference(offs=0x00) P-INDEP "field V00._reference (fldOffset=0x0)" ;* V10 tmp8 [V10 ] ( 0, 0 ) int -> zero-ref V16._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)" ; V11 tmp9 [V11,T03] ( 3, 3 ) byref -> rdi single-def V05._reference(offs=0x00) P-INDEP "field V05._reference (fldOffset=0x0)" ; V12 tmp10 [V12,T04] ( 3, 3 ) int -> rbx V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)" ;* V13 tmp11 [V13,T06] ( 0, 0 ) long -> zero-ref V07._dateData(offs=0x00) P-INDEP "field V07._dateData (fldOffset=0x0)" ;* V14 tmp12 [V14 ] ( 0, 0 ) byref -> zero-ref V08._reference(offs=0x00) P-INDEP "field V08._reference (fldOffset=0x0)" ;* V15 tmp13 [V15 ] ( 0, 0 ) int -> zero-ref V08._length(offs=0x08) P-INDEP "field V08._length (fldOffset=0x8)" ;* V16 tmp14 [V16 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref" ; V17 tmp15 [V17 ] ( 3, 6 ) struct (16) [rsp+20H] do-not-enreg[XSF] must-init addr-exposed "by-value struct argument" ; ; Lcl frame size = 176 G_M61794_IG01: push rdi push rsi push rbx sub rsp, 176 vxorps xmm4, xmm4 mov rax, -144 vmovdqa xmmword ptr [rsp+rax+B0H], xmm4 vmovdqa xmmword ptr [rsp+rax+C0H], xmm4 vmovdqa xmmword ptr [rsp+rax+D0H], xmm4 add rax, 48 jne SHORT -5 instr mov rsi, rdx ;; size=60 bbWeight=1 PerfScore 11.33 G_M61794_IG02: mov rdi, bword ptr [rcx] mov ebx, dword ptr [rcx+08H] call [System.Globalization.DateTimeFormatInfo:get_CurrentInfo():System.Globalization.DateTimeFormatInfo] mov rdx, rax mov bword ptr [rsp+90H], rdi mov dword ptr [rsp+98H], ebx mov dword ptr [rsp+58H], -1 mov dword ptr [rsp+5CH], -1 mov dword ptr [rsp+60H], -1 mov rcx, 0xD1FFAB1E mov qword ptr [rsp+50H], rcx mov dword ptr [rsp+70H], -1 mov bword ptr [rsp+20H], rdi mov dword ptr [rsp+28H], ebx lea rcx, [rsp+20H] lea r9, [rsp+30H] xor r8d, r8d call [System.DateTimeParse:TryParse(System.ReadOnlySpan`1[ushort],System.Globalization.DateTimeFormatInfo,int,byref):bool] test eax, eax je SHORT G_M61794_IG04 ;; size=109 bbWeight=1 PerfScore 22.00 G_M61794_IG03: mov rax, qword ptr [rsp+88H] mov qword ptr [rsi], rax mov eax, 1 jmp SHORT G_M61794_IG05 ;; size=18 bbWeight=0.50 PerfScore 2.12 G_M61794_IG04: xor eax, eax mov qword ptr [rsi], rax ;; size=5 bbWeight=0.50 PerfScore 0.62 G_M61794_IG05: add rsp, 176 pop rbx pop rsi pop rdi ret ;; size=11 bbWeight=1 PerfScore 2.75 ; Total bytes of code 203, prolog size 57, PerfScore 59.13, instruction count 43, allocated bytes for code 203 (MethodHash=e7870e9d) for method System.DateTime:TryParse(System.ReadOnlySpan`1[ushort],byref):bool ; ============================================================
Find difference