Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
实时编辑器
隐藏空白更改
折叠未更改行
关闭换行
视图
拆分
统一
比对精度
智能
单词
字符
文本样式
更改外观
语法高亮
选择语法
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
Untitled Diff
创建于
3年前
差异永不过期
清除
导出
分享
解释
7 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
167 行
全部复制
11 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
170 行
全部复制
; Assembly listing for method SixLabors.ImageSharp.Color:ParseHex(System.String):SixLabors.ImageSharp.Color
; Assembly listing for method SixLabors.ImageSharp.Color:ParseHex(System.String):SixLabors.ImageSharp.Color
G_M46085_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
G_M46085_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push rdi
push rdi
push rsi
push rsi
push rbx
push rbx
sub rsp, 80
sub rsp, 80
vzeroupper
vzeroupper
vxorps xmm4, xmm4
vxorps xmm4, xmm4
vmovdqa xmmword ptr [rsp+20H], xmm4
vmovdqa xmmword ptr [rsp+20H], xmm4
vmovdqa xmmword ptr [rsp+30H], xmm4
vmovdqa xmmword ptr [rsp+30H], xmm4
vmovdqa xmmword ptr [rsp+40H], xmm4
vmovdqa xmmword ptr [rsp+40H], xmm4
mov rbx, rcx
mov rbx, rcx
; byrRegs +[rbx]
; byrRegs +[rbx]
mov rsi, rdx
mov rsi, rdx
; gcrRegs +[rsi]
; gcrRegs +[rsi]
;; size=38 bbWeight=1 PerfScore 11.08
;; size=38 bbWeight=1 PerfScore 11.08
G_M46085_IG02: ; bbWeight=1, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref, isz
G_M46085_IG02: ; bbWeight=1, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref, isz
test rsi, rsi
test rsi, rsi
jne SHORT G_M46085_IG04
jne SHORT G_M46085_IG04
;; size=5 bbWeight=1 PerfScore 1.25
;; size=5 bbWeight=1 PerfScore 1.25
G_M46085_IG03: ; bbWeight=0.50, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref
G_M46085_IG03: ; bbWeight=0.50, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref
mov rcx, 0xD1FFAB1E
mov rcx, 0xD1FFAB1E
; gcrRegs +[rcx]
; gcrRegs +[rcx]
call [<unknown method>]
call [<unknown method>]
; gcrRegs -[rcx]
; gcrRegs -[rcx]
; gcr arg pop 0
; gcr arg pop 0
;; size=16 bbWeight=0.50 PerfScore 1.62
;; size=16 bbWeight=0.50 PerfScore 1.62
G_M46085_IG04: ; bbWeight=1, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref
G_M46085_IG04: ; bbWeight=1, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref
xor ecx, ecx
xor ecx, ecx
mov dword ptr [rsp+30H], ecx
mov dword ptr [rsp+30H], ecx
mov rcx, rsi
mov rcx, rsi
; gcrRegs +[rcx]
; gcrRegs +[rcx]
call [System.String:IsNullOrWhiteSpace(System.String):bool]
call [System.String:IsNullOrWhiteSpace(System.String):bool]
; gcrRegs -[rcx]
; gcrRegs -[rcx]
; gcr arg pop 0
; gcr arg pop 0
test eax, eax
test eax, eax
jne G_M46085_IG08
jne G_M46085_IG08
;; size=23 bbWeight=1 PerfScore 5.75
;; size=23 bbWeight=1 PerfScore 5.75
G_M46085_IG05: ; bbWeight=0.50, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref
G_M46085_IG05: ; bbWeight=0.50, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref
mov rcx, rsi
mov rcx, rsi
; gcrRegs +[rcx]
; gcrRegs +[rcx]
call [<unknown method>]
call [<unknown method>]
; gcrRegs -[rcx rsi] +[rax]
; gcrRegs -[rcx rsi] +[rax]
; gcr arg pop 0
; gcr arg pop 0
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
test rsi, rsi
test rsi, rsi
je G_M46085_IG08
je G_M46085_IG08
mov rcx, 0xD1FFAB1E ; const ptr
mov rcx, 0xD1FFAB1E ; const ptr
mov rcx, gword ptr [rcx]
mov rcx, gword ptr [rcx]
; gcrRegs +[rcx]
; gcrRegs +[rcx]
lea rdi, bword ptr [rsi+0CH]
lea rdi, bword ptr [rsi+0CH]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov esi, dword ptr [rsi+08H]
mov esi, dword ptr [rsi+08H]
; gcrRegs -[rsi]
; gcrRegs -[rsi]
call [System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|44_0(System.IFormatProvider):System.Globalization.NumberFormatInfo]
call [System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|44_0(System.IFormatProvider):System.Globalization.NumberFormatInfo]
; gcrRegs -[rcx]
; gcrRegs -[rcx]
; gcr arg pop 0
; gcr arg pop 0
mov bword ptr [rsp+20H], rdi
mov bword ptr [rsp+20H], rdi
mov dword ptr [rsp+28H], esi
mov dword ptr [rsp+28H], esi
lea rcx, [rsp+20H]
lea rcx, [rsp+20H]
lea r8, [rsp+30H]
lea r8, [rsp+30H]
mov edx, 515
mov edx, 515
call [<unknown method>]
call [<unknown method>]
; gcrRegs -[rax]
; gcrRegs -[rax]
; byrRegs -[rdi]
; byrRegs -[rdi]
; gcr arg pop 0
; gcr arg pop 0
test eax, eax
test eax, eax
复制
已复制
复制
已复制
j
n
e
G_M46085_IG08
sete al
;; size=
85
bbWeight=0.50 PerfScore 10.
00
movzx rax, al
test eax, eax
j
e
G_M46085_IG08
;; size=
93
bbWeight=0.50 PerfScore 10.
75
G_M46085_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000008 {rbx}, byref
G_M46085_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000008 {rbx}, byref
movbe eax, dword ptr [rsp+30H]
movbe eax, dword ptr [rsp+30H]
mov dword ptr [rsp+30H], eax
mov dword ptr [rsp+30H], eax
mov eax, dword ptr [rsp+30H]
mov eax, dword ptr [rsp+30H]
mov dword ptr [rsp+38H], eax
mov dword ptr [rsp+38H], eax
vxorps xmm0, xmm0
vxorps xmm0, xmm0
vmovdqu xmmword ptr [rsp+40H], xmm0
vmovdqu xmmword ptr [rsp+40H], xmm0
movzx rax, byte ptr [rsp+38H]
movzx rax, byte ptr [rsp+38H]
movzx rdx, byte ptr [rsp+39H]
movzx rdx, byte ptr [rsp+39H]
movzx rcx, byte ptr [rsp+3AH]
movzx rcx, byte ptr [rsp+3AH]
movzx r8, byte ptr [rsp+3BH]
movzx r8, byte ptr [rsp+3BH]
mov r9d, eax
mov r9d, eax
shl r9d, 8
shl r9d, 8
add r9d, eax
add r9d, eax
mov eax, edx
mov eax, edx
shl eax, 8
shl eax, 8
add eax, edx
add eax, edx
mov edx, ecx
mov edx, ecx
shl edx, 8
shl edx, 8
add edx, ecx
add edx, ecx
mov ecx, r8d
mov ecx, r8d
shl ecx, 8
shl ecx, 8
add ecx, r8d
add ecx, r8d
mov word ptr [rsp+48H], r9w
mov word ptr [rsp+48H], r9w
mov word ptr [rsp+4AH], ax
mov word ptr [rsp+4AH], ax
mov word ptr [rsp+4CH], dx
mov word ptr [rsp+4CH], dx
mov word ptr [rsp+4EH], cx
mov word ptr [rsp+4EH], cx
mov rdi, rbx
mov rdi, rbx
; byrRegs +[rdi]
; byrRegs +[rdi]
lea rsi, bword ptr [rsp+40H]
lea rsi, bword ptr [rsp+40H]
; byrRegs +[rsi]
; byrRegs +[rsi]
call CORINFO_HELP_ASSIGN_BYREF
call CORINFO_HELP_ASSIGN_BYREF
movsq
movsq
mov rax, rbx
mov rax, rbx
; byrRegs +[rax]
; byrRegs +[rax]
;; size=121 bbWeight=1 PerfScore 21.33
;; size=121 bbWeight=1 PerfScore 21.33
G_M46085_IG07: ; bbWeight=1, epilog, nogc, extend
G_M46085_IG07: ; bbWeight=1, epilog, nogc, extend
add rsp, 80
add rsp, 80
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret
;; size=8 bbWeight=1 PerfScore 2.75
;; size=8 bbWeight=1 PerfScore 2.75
G_M46085_IG08: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref
G_M46085_IG08: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref
; byrRegs -[rax rbx rsi rdi]
; byrRegs -[rax rbx rsi rdi]
mov rcx, 0xD1FFAB1E ; <unknown class>
mov rcx, 0xD1FFAB1E ; <unknown class>
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
; gcr arg pop 0
; gcr arg pop 0
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
mov ecx, 0x3312
mov ecx, 0x3312
mov rdx, 0xD1FFAB1E
mov rdx, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
call CORINFO_HELP_STRCNS
; gcr arg pop 0
; gcr arg pop 0
mov rdi, rax
mov rdi, rax
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov ecx, 0x330A
mov ecx, 0x330A
mov rdx, 0xD1FFAB1E
mov rdx, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
call CORINFO_HELP_STRCNS
; gcr arg pop 0
; gcr arg pop 0
mov r8, rax
mov r8, rax
; gcrRegs +[r8]
; gcrRegs +[r8]
mov rdx, rdi
mov rdx, rdi
; gcrRegs +[rdx]
; gcrRegs +[rdx]
mov rcx, rsi
mov rcx, rsi
; gcrRegs +[rcx]
; gcrRegs +[rcx]
call [<unknown method>]
call [<unknown method>]
; gcrRegs -[rax rcx rdx rdi r8]
; gcrRegs -[rax rcx rdx rdi r8]
; gcr arg pop 0
; gcr arg pop 0
mov rcx, rsi
mov rcx, rsi
; gcrRegs +[rcx]
; gcrRegs +[rcx]
call CORINFO_HELP_THROW
call CORINFO_HELP_THROW
; gcrRegs -[rcx rsi]
; gcrRegs -[rcx rsi]
; gcr arg pop 0
; gcr arg pop 0
int3
int3
;; size=85 bbWeight=0 PerfScore 0.00
;; size=85 bbWeight=0 PerfScore 0.00
复制
已复制
复制
已复制
; Total bytes of code 38
1
, prolog size 32, PerfScore
91.89
, instruction count
92
, allocated bytes for code 38
1
(MethodHash=52514bfa) for method SixLabors.ImageSharp.Color:ParseHex(System.String):SixLabors.ImageSharp.Color
; Total bytes of code 38
9
, prolog size 32, PerfScore
93.44
, instruction count
95
, allocated bytes for code 38
9
(MethodHash=52514bfa) for method SixLabors.ImageSharp.Color:ParseHex(System.String):SixLabors.ImageSharp.Color
; ============================================================
; ============================================================
Unwind Info:
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Version : 1
Flags : 0x00
Flags : 0x00
SizeOfProlog : 0x07
SizeOfProlog : 0x07
CountOfUnwindCodes: 4
CountOfUnwindCodes: 4
FrameRegister : none (0)
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
UnwindCodes :
CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 9 * 8 + 8 = 80 = 0x50
CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 9 * 8 + 8 = 80 = 0x50
CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rsi (6)
CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rsi (6)
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rdi (7)
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rdi (7)
已保存差异
原始文本
打开文件
; Assembly listing for method SixLabors.ImageSharp.Color:ParseHex(System.String):SixLabors.ImageSharp.Color G_M46085_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push rdi push rsi push rbx sub rsp, 80 vzeroupper vxorps xmm4, xmm4 vmovdqa xmmword ptr [rsp+20H], xmm4 vmovdqa xmmword ptr [rsp+30H], xmm4 vmovdqa xmmword ptr [rsp+40H], xmm4 mov rbx, rcx ; byrRegs +[rbx] mov rsi, rdx ; gcrRegs +[rsi] ;; size=38 bbWeight=1 PerfScore 11.08 G_M46085_IG02: ; bbWeight=1, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref, isz test rsi, rsi jne SHORT G_M46085_IG04 ;; size=5 bbWeight=1 PerfScore 1.25 G_M46085_IG03: ; bbWeight=0.50, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx] call [<unknown method>] ; gcrRegs -[rcx] ; gcr arg pop 0 ;; size=16 bbWeight=0.50 PerfScore 1.62 G_M46085_IG04: ; bbWeight=1, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref xor ecx, ecx mov dword ptr [rsp+30H], ecx mov rcx, rsi ; gcrRegs +[rcx] call [System.String:IsNullOrWhiteSpace(System.String):bool] ; gcrRegs -[rcx] ; gcr arg pop 0 test eax, eax jne G_M46085_IG08 ;; size=23 bbWeight=1 PerfScore 5.75 G_M46085_IG05: ; bbWeight=0.50, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref mov rcx, rsi ; gcrRegs +[rcx] call [<unknown method>] ; gcrRegs -[rcx rsi] +[rax] ; gcr arg pop 0 mov rsi, rax ; gcrRegs +[rsi] test rsi, rsi je G_M46085_IG08 mov rcx, 0xD1FFAB1E ; const ptr mov rcx, gword ptr [rcx] ; gcrRegs +[rcx] lea rdi, bword ptr [rsi+0CH] ; byrRegs +[rdi] mov esi, dword ptr [rsi+08H] ; gcrRegs -[rsi] call [System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|44_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] ; gcrRegs -[rcx] ; gcr arg pop 0 mov bword ptr [rsp+20H], rdi mov dword ptr [rsp+28H], esi lea rcx, [rsp+20H] lea r8, [rsp+30H] mov edx, 515 call [<unknown method>] ; gcrRegs -[rax] ; byrRegs -[rdi] ; gcr arg pop 0 test eax, eax jne G_M46085_IG08 ;; size=85 bbWeight=0.50 PerfScore 10.00 G_M46085_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000008 {rbx}, byref movbe eax, dword ptr [rsp+30H] mov dword ptr [rsp+30H], eax mov eax, dword ptr [rsp+30H] mov dword ptr [rsp+38H], eax vxorps xmm0, xmm0 vmovdqu xmmword ptr [rsp+40H], xmm0 movzx rax, byte ptr [rsp+38H] movzx rdx, byte ptr [rsp+39H] movzx rcx, byte ptr [rsp+3AH] movzx r8, byte ptr [rsp+3BH] mov r9d, eax shl r9d, 8 add r9d, eax mov eax, edx shl eax, 8 add eax, edx mov edx, ecx shl edx, 8 add edx, ecx mov ecx, r8d shl ecx, 8 add ecx, r8d mov word ptr [rsp+48H], r9w mov word ptr [rsp+4AH], ax mov word ptr [rsp+4CH], dx mov word ptr [rsp+4EH], cx mov rdi, rbx ; byrRegs +[rdi] lea rsi, bword ptr [rsp+40H] ; byrRegs +[rsi] call CORINFO_HELP_ASSIGN_BYREF movsq mov rax, rbx ; byrRegs +[rax] ;; size=121 bbWeight=1 PerfScore 21.33 G_M46085_IG07: ; bbWeight=1, epilog, nogc, extend add rsp, 80 pop rbx pop rsi pop rdi ret ;; size=8 bbWeight=1 PerfScore 2.75 G_M46085_IG08: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref ; byrRegs -[rax rbx rsi rdi] mov rcx, 0xD1FFAB1E ; <unknown class> call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] ; gcr arg pop 0 mov rsi, rax ; gcrRegs +[rsi] mov ecx, 0x3312 mov rdx, 0xD1FFAB1E call CORINFO_HELP_STRCNS ; gcr arg pop 0 mov rdi, rax ; gcrRegs +[rdi] mov ecx, 0x330A mov rdx, 0xD1FFAB1E call CORINFO_HELP_STRCNS ; gcr arg pop 0 mov r8, rax ; gcrRegs +[r8] mov rdx, rdi ; gcrRegs +[rdx] mov rcx, rsi ; gcrRegs +[rcx] call [<unknown method>] ; gcrRegs -[rax rcx rdx rdi r8] ; gcr arg pop 0 mov rcx, rsi ; gcrRegs +[rcx] call CORINFO_HELP_THROW ; gcrRegs -[rcx rsi] ; gcr arg pop 0 int3 ;; size=85 bbWeight=0 PerfScore 0.00 ; Total bytes of code 381, prolog size 32, PerfScore 91.89, instruction count 92, allocated bytes for code 381 (MethodHash=52514bfa) for method SixLabors.ImageSharp.Color:ParseHex(System.String):SixLabors.ImageSharp.Color ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Version : 1 Flags : 0x00 SizeOfProlog : 0x07 CountOfUnwindCodes: 4 FrameRegister : none (0) FrameOffset : N/A (no FrameRegister) (Value=0) UnwindCodes : CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 9 * 8 + 8 = 80 = 0x50 CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3) CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rsi (6) CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rdi (7)
更改后文本
打开文件
; Assembly listing for method SixLabors.ImageSharp.Color:ParseHex(System.String):SixLabors.ImageSharp.Color G_M46085_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push rdi push rsi push rbx sub rsp, 80 vzeroupper vxorps xmm4, xmm4 vmovdqa xmmword ptr [rsp+20H], xmm4 vmovdqa xmmword ptr [rsp+30H], xmm4 vmovdqa xmmword ptr [rsp+40H], xmm4 mov rbx, rcx ; byrRegs +[rbx] mov rsi, rdx ; gcrRegs +[rsi] ;; size=38 bbWeight=1 PerfScore 11.08 G_M46085_IG02: ; bbWeight=1, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref, isz test rsi, rsi jne SHORT G_M46085_IG04 ;; size=5 bbWeight=1 PerfScore 1.25 G_M46085_IG03: ; bbWeight=0.50, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref mov rcx, 0xD1FFAB1E ; gcrRegs +[rcx] call [<unknown method>] ; gcrRegs -[rcx] ; gcr arg pop 0 ;; size=16 bbWeight=0.50 PerfScore 1.62 G_M46085_IG04: ; bbWeight=1, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref xor ecx, ecx mov dword ptr [rsp+30H], ecx mov rcx, rsi ; gcrRegs +[rcx] call [System.String:IsNullOrWhiteSpace(System.String):bool] ; gcrRegs -[rcx] ; gcr arg pop 0 test eax, eax jne G_M46085_IG08 ;; size=23 bbWeight=1 PerfScore 5.75 G_M46085_IG05: ; bbWeight=0.50, gcrefRegs=00000040 {rsi}, byrefRegs=00000008 {rbx}, byref mov rcx, rsi ; gcrRegs +[rcx] call [<unknown method>] ; gcrRegs -[rcx rsi] +[rax] ; gcr arg pop 0 mov rsi, rax ; gcrRegs +[rsi] test rsi, rsi je G_M46085_IG08 mov rcx, 0xD1FFAB1E ; const ptr mov rcx, gword ptr [rcx] ; gcrRegs +[rcx] lea rdi, bword ptr [rsi+0CH] ; byrRegs +[rdi] mov esi, dword ptr [rsi+08H] ; gcrRegs -[rsi] call [System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|44_0(System.IFormatProvider):System.Globalization.NumberFormatInfo] ; gcrRegs -[rcx] ; gcr arg pop 0 mov bword ptr [rsp+20H], rdi mov dword ptr [rsp+28H], esi lea rcx, [rsp+20H] lea r8, [rsp+30H] mov edx, 515 call [<unknown method>] ; gcrRegs -[rax] ; byrRegs -[rdi] ; gcr arg pop 0 test eax, eax sete al movzx rax, al test eax, eax je G_M46085_IG08 ;; size=93 bbWeight=0.50 PerfScore 10.75 G_M46085_IG06: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000008 {rbx}, byref movbe eax, dword ptr [rsp+30H] mov dword ptr [rsp+30H], eax mov eax, dword ptr [rsp+30H] mov dword ptr [rsp+38H], eax vxorps xmm0, xmm0 vmovdqu xmmword ptr [rsp+40H], xmm0 movzx rax, byte ptr [rsp+38H] movzx rdx, byte ptr [rsp+39H] movzx rcx, byte ptr [rsp+3AH] movzx r8, byte ptr [rsp+3BH] mov r9d, eax shl r9d, 8 add r9d, eax mov eax, edx shl eax, 8 add eax, edx mov edx, ecx shl edx, 8 add edx, ecx mov ecx, r8d shl ecx, 8 add ecx, r8d mov word ptr [rsp+48H], r9w mov word ptr [rsp+4AH], ax mov word ptr [rsp+4CH], dx mov word ptr [rsp+4EH], cx mov rdi, rbx ; byrRegs +[rdi] lea rsi, bword ptr [rsp+40H] ; byrRegs +[rsi] call CORINFO_HELP_ASSIGN_BYREF movsq mov rax, rbx ; byrRegs +[rax] ;; size=121 bbWeight=1 PerfScore 21.33 G_M46085_IG07: ; bbWeight=1, epilog, nogc, extend add rsp, 80 pop rbx pop rsi pop rdi ret ;; size=8 bbWeight=1 PerfScore 2.75 G_M46085_IG08: ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, gcvars, byref ; byrRegs -[rax rbx rsi rdi] mov rcx, 0xD1FFAB1E ; <unknown class> call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] ; gcr arg pop 0 mov rsi, rax ; gcrRegs +[rsi] mov ecx, 0x3312 mov rdx, 0xD1FFAB1E call CORINFO_HELP_STRCNS ; gcr arg pop 0 mov rdi, rax ; gcrRegs +[rdi] mov ecx, 0x330A mov rdx, 0xD1FFAB1E call CORINFO_HELP_STRCNS ; gcr arg pop 0 mov r8, rax ; gcrRegs +[r8] mov rdx, rdi ; gcrRegs +[rdx] mov rcx, rsi ; gcrRegs +[rcx] call [<unknown method>] ; gcrRegs -[rax rcx rdx rdi r8] ; gcr arg pop 0 mov rcx, rsi ; gcrRegs +[rcx] call CORINFO_HELP_THROW ; gcrRegs -[rcx rsi] ; gcr arg pop 0 int3 ;; size=85 bbWeight=0 PerfScore 0.00 ; Total bytes of code 389, prolog size 32, PerfScore 93.44, instruction count 95, allocated bytes for code 389 (MethodHash=52514bfa) for method SixLabors.ImageSharp.Color:ParseHex(System.String):SixLabors.ImageSharp.Color ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Version : 1 Flags : 0x00 SizeOfProlog : 0x07 CountOfUnwindCodes: 4 FrameRegister : none (0) FrameOffset : N/A (no FrameRegister) (Value=0) UnwindCodes : CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 9 * 8 + 8 = 80 = 0x50 CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3) CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rsi (6) CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rdi (7)
查找差异