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
4 years ago
Diff never expires
Clear
Export
Share
Explain
27 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
60 lines
Copy
38 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
70 lines
Copy
; Assembly listing for method DataSetUtil:IsCatchableExceptionType(System.Exception):bool
; Assembly listing for method DataSetUtil:IsCatchableExceptionType(System.Exception):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; 0 inlinees without PGO data
; 0 inlinees with PGO data;
6
single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T00] ( 4, 4 ) ref -> rcx class-hnd single-def
; V00 arg0 [V00,T00] ( 4, 4 ) ref -> rcx class-hnd single-def
; V01 loc0 [V01,T01] ( 7, 4.50) ref -> rax class-hnd single-def
; V01 loc0 [V01,T01] ( 7, 4.50) ref -> rax class-hnd 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,T02] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect"
;
;
; Lcl frame size = 40
; Lcl frame size = 40
G_M21437_IG01:
G_M21437_IG01:
sub rsp, 40
sub rsp, 40
;; size=4 bbWeight=1 PerfScore 0.25
;; size=4 bbWeight=1 PerfScore 0.25
G_M21437_IG02:
G_M21437_IG02:
cmp byte ptr [rcx], cl
cmp byte ptr [rcx], cl
call System.Object:GetType():System.Type:this
call System.Object:GetType():System.Type:this
Copy
Copied
Copy
Copied
mov r
c
x, 0xD1FFAB1E ;
const ptr
mov r
d
x, 0xD1FFAB1E ;
'System.StackOverflowException'
cmp rax,
gword ptr [rcx]
cmp rax,
rdx
je SHORT G_M21437_IG05
je SHORT G_M21437_IG05
Copy
Copied
Copy
Copied
;; size=22 bbWeight=1 PerfScore
8.25
;; size=22 bbWeight=1 PerfScore
5.50
G_M21437_IG03:
G_M21437_IG03:
Copy
Copied
Copy
Copied
mov r
c
x, 0xD1FFAB1E ;
const ptr
mov r
d
x, 0xD1FFAB1E ;
'System.OutOfMemoryException'
cmp rax,
gword ptr [rcx]
cmp rax,
rdx
je SHORT G_M21437_IG05
je SHORT G_M21437_IG05
Copy
Copied
Copy
Copied
mov r
c
x, 0xD1FFAB1E ;
const ptr
mov r
d
x, 0xD1FFAB1E ;
'System.Threading.ThreadAbortException'
cmp rax,
gword ptr [rcx]
cmp rax,
rdx
je SHORT G_M21437_IG05
je SHORT G_M21437_IG05
Copy
Copied
Copy
Copied
mov r
c
x, 0xD1FFAB1E ;
const ptr
mov r
d
x, 0xD1FFAB1E ;
'System.NullReferenceException'
cmp rax,
gword ptr [rcx]
cmp rax,
rdx
je SHORT G_M21437_IG05
je SHORT G_M21437_IG05
Copy
Copied
Copy
Copied
mov r
c
x, 0xD1FFAB1E ;
const ptr
mov r
d
x, 0xD1FFAB1E ;
'System.AccessViolationException'
cmp rax,
gword ptr [rcx]
cmp rax,
rdx
je SHORT G_M21437_IG05
je SHORT G_M21437_IG05
Copy
Copied
Copy
Copied
mov rcx, 0xD1FFAB1E ; const ptr
mov rcx, gword ptr [rcx]
mov rdx, rax
mov rdx, rax
Copy
Copied
Copy
Copied
call [
System.
RuntimeType
:IsAssignableFrom(System.Type):bool:this
]
mov rcx, 0xD1FFAB1E ; 'System.Security.SecurityException'
mov rax, 0xD1FFAB1E ; 'System.Security.SecurityException'
mov rax, qword ptr [rax]
mov rax, qword ptr [rax+A8H]
call [
rax+28H]
System.
Type
:IsAssignableFrom(System.Type):bool:this
test eax, eax
test eax, eax
sete al
sete al
movzx rax, al
movzx rax, al
Copy
Copied
Copy
Copied
;; size=
90
bbWeight=0.50 PerfScore
12.00
;; size=
104
bbWeight=0.50 PerfScore
7.62
G_M21437_IG04:
G_M21437_IG04:
add rsp, 40
add rsp, 40
ret
ret
;; size=5 bbWeight=0.50 PerfScore 0.62
;; size=5 bbWeight=0.50 PerfScore 0.62
G_M21437_IG05:
G_M21437_IG05:
xor eax, eax
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M21437_IG06:
G_M21437_IG06:
add rsp, 40
add rsp, 40
ret
ret
;; size=5 bbWeight=0.50 PerfScore 0.62
;; size=5 bbWeight=0.50 PerfScore 0.62
Copy
Copied
Copy
Copied
; Total bytes of code 1
28
, prolog size 4, PerfScore
34.68
, instruction count
30
, allocated bytes for code 1
28
(MethodHash=1a9cac42) for method DataSetUtil:IsCatchableExceptionType(System.Exception):bool
; Total bytes of code 1
42
, prolog size 4, PerfScore
28.95
, instruction count
32
, allocated bytes for code 1
42
(MethodHash=1a9cac42) for method DataSetUtil:IsCatchableExceptionType(System.Exception):bool
; ============================================================
; ============================================================
Saved diffs
Original text
Open file
; Assembly listing for method DataSetUtil:IsCatchableExceptionType(System.Exception):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; 0 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 4, 4 ) ref -> rcx class-hnd single-def ; V01 loc0 [V01,T01] ( 7, 4.50) ref -> rax class-hnd single-def ; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ; ; Lcl frame size = 40 G_M21437_IG01: sub rsp, 40 ;; size=4 bbWeight=1 PerfScore 0.25 G_M21437_IG02: cmp byte ptr [rcx], cl call System.Object:GetType():System.Type:this mov rcx, 0xD1FFAB1E ; const ptr cmp rax, gword ptr [rcx] je SHORT G_M21437_IG05 ;; size=22 bbWeight=1 PerfScore 8.25 G_M21437_IG03: mov rcx, 0xD1FFAB1E ; const ptr cmp rax, gword ptr [rcx] je SHORT G_M21437_IG05 mov rcx, 0xD1FFAB1E ; const ptr cmp rax, gword ptr [rcx] je SHORT G_M21437_IG05 mov rcx, 0xD1FFAB1E ; const ptr cmp rax, gword ptr [rcx] je SHORT G_M21437_IG05 mov rcx, 0xD1FFAB1E ; const ptr cmp rax, gword ptr [rcx] je SHORT G_M21437_IG05 mov rcx, 0xD1FFAB1E ; const ptr mov rcx, gword ptr [rcx] mov rdx, rax call [System.RuntimeType:IsAssignableFrom(System.Type):bool:this] test eax, eax sete al movzx rax, al ;; size=90 bbWeight=0.50 PerfScore 12.00 G_M21437_IG04: add rsp, 40 ret ;; size=5 bbWeight=0.50 PerfScore 0.62 G_M21437_IG05: xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12 G_M21437_IG06: add rsp, 40 ret ;; size=5 bbWeight=0.50 PerfScore 0.62 ; Total bytes of code 128, prolog size 4, PerfScore 34.68, instruction count 30, allocated bytes for code 128 (MethodHash=1a9cac42) for method DataSetUtil:IsCatchableExceptionType(System.Exception):bool ; ============================================================
Changed text
Open file
; Assembly listing for method DataSetUtil:IsCatchableExceptionType(System.Exception):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; 6 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 4, 4 ) ref -> rcx class-hnd single-def ; V01 loc0 [V01,T01] ( 7, 4.50) ref -> rax class-hnd single-def ; V02 OutArgs [V02 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace" ;* V03 tmp1 [V03,T02] ( 0, 0 ) ref -> zero-ref single-def "argument with side effect" ; ; Lcl frame size = 40 G_M21437_IG01: sub rsp, 40 ;; size=4 bbWeight=1 PerfScore 0.25 G_M21437_IG02: cmp byte ptr [rcx], cl call System.Object:GetType():System.Type:this mov rdx, 0xD1FFAB1E ; 'System.StackOverflowException' cmp rax, rdx je SHORT G_M21437_IG05 ;; size=22 bbWeight=1 PerfScore 5.50 G_M21437_IG03: mov rdx, 0xD1FFAB1E ; 'System.OutOfMemoryException' cmp rax, rdx je SHORT G_M21437_IG05 mov rdx, 0xD1FFAB1E ; 'System.Threading.ThreadAbortException' cmp rax, rdx je SHORT G_M21437_IG05 mov rdx, 0xD1FFAB1E ; 'System.NullReferenceException' cmp rax, rdx je SHORT G_M21437_IG05 mov rdx, 0xD1FFAB1E ; 'System.AccessViolationException' cmp rax, rdx je SHORT G_M21437_IG05 mov rdx, rax mov rcx, 0xD1FFAB1E ; 'System.Security.SecurityException' mov rax, 0xD1FFAB1E ; 'System.Security.SecurityException' mov rax, qword ptr [rax] mov rax, qword ptr [rax+A8H] call [rax+28H]System.Type:IsAssignableFrom(System.Type):bool:this test eax, eax sete al movzx rax, al ;; size=104 bbWeight=0.50 PerfScore 7.62 G_M21437_IG04: add rsp, 40 ret ;; size=5 bbWeight=0.50 PerfScore 0.62 G_M21437_IG05: xor eax, eax ;; size=2 bbWeight=0.50 PerfScore 0.12 G_M21437_IG06: add rsp, 40 ret ;; size=5 bbWeight=0.50 PerfScore 0.62 ; Total bytes of code 142, prolog size 4, PerfScore 28.95, instruction count 32, allocated bytes for code 142 (MethodHash=1a9cac42) for method DataSetUtil:IsCatchableExceptionType(System.Exception):bool ; ============================================================
Find difference