Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
实时编辑器
折叠未更改行
关闭换行
视图
拆分
统一
比对精度
智能
单词
字符
语法高亮
选择语法
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
ExecCtx.RunInternal()
创建于
5年前
差异永不过期
清除
导出
分享
解释
77 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
155 行
全部复制
73 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
152 行
全部复制
; Assembly listing for method System.Threading.ExecutionContext:RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)
; Assembly listing for method System.Threading.ExecutionContext:RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; fully interruptible
; fully interruptible
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T00] ( 7, 7 ) ref -> rsi class-hnd
; V00 arg0 [V00,T00] ( 7, 7 ) ref -> rsi class-hnd
; V01 arg1 [V01,T04] ( 3, 3 ) ref -> rdi class-hnd
; V01 arg1 [V01,T04] ( 3, 3 ) ref -> rdi class-hnd
; V02 arg2 [V02,T05] ( 3, 3 ) ref -> rbx class-hnd
; V02 arg2 [V02,T05] ( 3, 3 ) ref -> rbx class-hnd
复制
已复制
复制
已复制
; V03 loc0 [V03,
T03] ( 5, 5 ) ref -> rcx class-hnd
; V03 loc0 [V03,
T01
] (
8
,
7
) ref -> [rbp-0x20] EH
class-hnd EH-live
; V04 loc1 [V04,T10
] (
3
,
3
) ref -> [rbp-0x20] EH
do-not-enreg[]
class-hnd EH-live
; V0
4
loc
1
[V0
4
,T0
3
] (
5
,
5
) ref ->
rdx
class-hnd
; V0
5
loc
2
[V0
5
,T0
1
] (
7
,
7
) ref ->
r8
class-hnd
; V0
5
loc
2
[V0
5,T06
] (
5
,
4
) ref -> [rbp-0x28] EH
class-hnd EH-live
; V0
6
loc
3
[V0
6,T11
] (
3
,
3
) ref -> [rbp-0x28] EH
do-not-enreg[]
class-hnd EH-live
; V0
6
loc
3
[V0
6
,T1
1
] ( 3,
2
) ref -> [rbp-0x30] EH
class-hnd EH-live
; V0
7
loc
4
[V0
7
,T1
2
] ( 3,
3
) ref -> [rbp-0x30] EH
do-not-enreg[]
class-hnd EH-live
; V0
7
loc
4
[V0
7
,T09] ( 4, 3 ) ref -> [rbp-0x38] EH do-not-enreg[
H
] class-hnd EH-live
; V0
8
loc
5
[V0
8
,T09] ( 4, 3 ) ref -> [rbp-0x38] EH do-not-enreg[
] class-hnd EH-live
; V0
8
loc
5 [V08,T10
] ( 3, 3 ) ref -> r8 class-hnd
; V0
9 loc6 [V09,T14] ( 2, 2 ) ref -> rdx class-hnd
;*
V09
loc
6
[
V09
] ( 0, 0 ) ref -> zero-ref class-hnd
; V10
loc
7 [V10,T06] ( 4, 4 ) ref -> rsi class-hnd
; V1
0
OutArgs [V1
0
] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace"
; V11 loc8 [V11,T15] ( 2, 2 ) ref -> rdx class-hnd
; V1
1
tmp1 [V1
1
,T1
2
] ( 2, 0 ) ref -> rcx class-hnd "impSpillSpecialSideEff"
; V12 loc9 [V12,T13
] ( 3, 3 ) ref -> r8 class-hnd
; V1
2
tmp2 [V1
2
,T07] ( 2, 4 ) ref -> rcx class-hnd "dup spill"
;*
V13
loc
10
[
V13
] ( 0, 0 ) ref -> zero-ref class-hnd
; V1
3
tmp3 [V1
3
,T08] ( 4, 3.50) ref -> rcx
; V1
4
OutArgs [V1
4
] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace"
; V1
4
PSPSym [V1
4
] ( 1, 1 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed "PSPSym"
; V1
5
tmp1 [V1
5
,T1
6
] ( 2, 0 ) ref -> rcx class-hnd "impSpillSpecialSideEff"
; V1
5
rat0 [V1
5
,T02] ( 3, 6 ) ref -> rdi "delegate invoke call"
; V1
6
tmp2 [V1
6
,T07] ( 2, 4 ) ref -> rcx class-hnd "dup spill"
; V1
7
tmp3 [V1
7
,T08] ( 4, 3.50) ref -> rcx
; V1
8
PSPSym [V1
8
] ( 1, 1 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed "PSPSym"
; V1
9
rat0 [V1
9
,T02] ( 3, 6 ) ref -> rdi "delegate invoke call"
;
;
; Lcl frame size = 72
; Lcl frame size = 72
G_M28364_IG01:
G_M28364_IG01:
push rbp
push rbp
push rdi
push rdi
push rsi
push rsi
push rbx
push rbx
sub rsp, 72
sub rsp, 72
lea rbp, [rsp+60H]
lea rbp, [rsp+60H]
mov qword ptr [rbp-40H], rsp
mov qword ptr [rbp-40H], rsp
mov rsi, rcx
mov rsi, rcx
mov rdi, rdx
mov rdi, rdx
mov rbx, r8
mov rbx, r8
;; bbWeight=1 PerfScore 6.50
;; bbWeight=1 PerfScore 6.50
G_M28364_IG02:
G_M28364_IG02:
mov rcx, 0xD1FFAB1E
mov rcx, 0xD1FFAB1E
mov edx, 625
mov edx, 625
call CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE
call CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE
mov rcx, gword ptr [rax+24]
mov rcx, gword ptr [rax+24]
test rcx, rcx
test rcx, rcx
jne SHORT G_M28364_IG04
jne SHORT G_M28364_IG04
;; bbWeight=1 PerfScore 4.75
;; bbWeight=1 PerfScore 4.75
G_M28364_IG03:
G_M28364_IG03:
call System.Threading.Thread:InitializeCurrentThread():System.Threading.Thread
call System.Threading.Thread:InitializeCurrentThread():System.Threading.Thread
mov rcx, rax
mov rcx, rax
;; bbWeight=0.50 PerfScore 0.62
;; bbWeight=0.50 PerfScore 0.62
G_M28364_IG04:
G_M28364_IG04:
mov gword ptr [rbp-20H], rcx
mov gword ptr [rbp-20H], rcx
复制
已复制
复制
已复制
mov
r8
, gword ptr [rcx+8]
mov
rdx
, gword ptr [rcx+8]
test
r8, r8
test
rdx, rdx
je SHORT G_M28364_IG05
je SHORT G_M28364_IG05
复制
已复制
复制
已复制
cmp byte ptr [
r8
+25], 0
cmp byte ptr [
rdx
+25], 0
je SHORT G_M28364_IG05
je SHORT G_M28364_IG05
复制
已复制
复制
已复制
xor
r8, r8
xor
rdx, rdx
;; bbWeight=1 PerfScore 7.50
;; bbWeight=1 PerfScore 7.50
G_M28364_IG05:
G_M28364_IG05:
复制
已复制
复制
已复制
mov gword ptr [rbp-28H],
r8
mov gword ptr [rbp-28H],
rdx
mov
rdx
, gword ptr [rcx+16]
mov
r8
, gword ptr [rcx+16]
mov gword ptr [rbp-30H],
rdx
mov gword ptr [rbp-30H],
r8
test rsi, rsi
test rsi, rsi
je SHORT G_M28364_IG06
je SHORT G_M28364_IG06
cmp byte ptr [rsi+25], 0
cmp byte ptr [rsi+25], 0
je SHORT G_M28364_IG06
je SHORT G_M28364_IG06
xor rsi, rsi
xor rsi, rsi
;; bbWeight=1 PerfScore 8.50
;; bbWeight=1 PerfScore 8.50
G_M28364_IG06:
G_M28364_IG06:
复制
已复制
复制
已复制
cmp
r8
, rsi
cmp
rdx
, rsi
je SHORT G_M28364_IG07
je SHORT G_M28364_IG07
mov rdx, rsi
mov rdx, rsi
复制
已复制
复制
已复制
mov r8, gword ptr [rbp-28H]
call System.Threading.ExecutionContext:RestoreChangedContextToThread(System.Threading.Thread,System.Threading.ExecutionContext,System.Threading.ExecutionContext)
call System.Threading.ExecutionContext:RestoreChangedContextToThread(System.Threading.Thread,System.Threading.ExecutionContext,System.Threading.ExecutionContext)
复制
已复制
复制
已复制
;; bbWeight=1 PerfScore
2
.50
mov rcx, gword ptr [rbp-20H]
;; bbWeight=1 PerfScore
4
.50
G_M28364_IG07:
G_M28364_IG07:
复制
已复制
复制
已复制
xor r
c
x, r
c
x
xor r
a
x, r
a
x
mov gword ptr [rbp-38H], r
c
x
mov gword ptr [rbp-38H], r
a
x
;; bbWeight=1 PerfScore 1.25
;; bbWeight=1 PerfScore 1.25
G_M28364_IG08:
G_M28364_IG08:
mov rcx, gword ptr [rdi+8]
mov rcx, gword ptr [rdi+8]
mov rdx, rbx
mov rdx, rbx
call qword ptr [rdi+24]System.Threading.ContextCallback:Invoke(System.Object):this
call qword ptr [rdi+24]System.Threading.ContextCallback:Invoke(System.Object):this
nop
nop
;; bbWeight=1 PerfScore 5.50
;; bbWeight=1 PerfScore 5.50
G_M28364_IG09:
G_M28364_IG09:
复制
已复制
复制
已复制
mov rdx, gword ptr [rbp-30H]
mov rsi, gword ptr [rbp-20H]
mov rcx, gword ptr [rbp-20H]
mov rcx, gword ptr [rbp-20H]
复制
已复制
复制
已复制
mov
rcx
, gword ptr [
rcx+16
]
mov
r8
, gword ptr [
rbp-30H
]
cmp
rcx,
gword ptr [
rbp-30H]
cmp
gword ptr [
rcx+16], r8
je SHORT G_M28364_IG10
je SHORT G_M28364_IG10
复制
已复制
复制
已复制
lea rcx, bword ptr [
rsi
+16]
lea rcx, bword ptr [
rcx
+16]
mov rdx, r8
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
复制
已复制
复制
已复制
;; bbWeight=1 PerfScore
8.50
mov rcx, gword ptr [rbp-20H]
;; bbWeight=1 PerfScore
7.75
G_M28364_IG10:
G_M28364_IG10:
复制
已复制
复制
已复制
mov r8, gword ptr [rcx+8]
mov rdx, gword ptr [rbp-28H]
mov rdx, gword ptr [rbp-28H]
复制
已复制
复制
已复制
mov r8, gword ptr [rsi+8]
cmp r8,
rdx
cmp r8,
gword ptr [rbp-28H]
je SHORT G_M28364_IG11
je SHORT G_M28364_IG11
复制
已复制
复制
已复制
mov rcx, rsi
call System.Threading.ExecutionContext:RestoreChangedContextToThread(System.Threading.Thread,System.Threading.ExecutionContext,System.Threading.ExecutionContext)
call System.Threading.ExecutionContext:RestoreChangedContextToThread(System.Threading.Thread,System.Threading.ExecutionContext,System.Threading.ExecutionContext)
复制
已复制
复制
已复制
;; bbWeight=1 PerfScore
6
.25
;; bbWeight=1 PerfScore
5
.25
G_M28364_IG11:
G_M28364_IG11:
cmp gword ptr [rbp-38H], 0
cmp gword ptr [rbp-38H], 0
je SHORT G_M28364_IG13
je SHORT G_M28364_IG13
mov rcx, gword ptr [rbp-38H]
mov rcx, gword ptr [rbp-38H]
;; bbWeight=1 PerfScore 3.00
;; bbWeight=1 PerfScore 3.00
G_M28364_IG12:
G_M28364_IG12:
lea rsp, [rbp-18H]
lea rsp, [rbp-18H]
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
pop rbp
pop rbp
jmp System.Runtime.ExceptionServices.ExceptionDispatchInfo:Throw():this
jmp System.Runtime.ExceptionServices.ExceptionDispatchInfo:Throw():this
;; bbWeight=1 PerfScore 4.50
;; bbWeight=1 PerfScore 4.50
G_M28364_IG13:
G_M28364_IG13:
lea rsp, [rbp-18H]
lea rsp, [rbp-18H]
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
pop rbp
pop rbp
ret
ret
;; bbWeight=1 PerfScore 3.50
;; bbWeight=1 PerfScore 3.50
G_M28364_IG14:
G_M28364_IG14:
push rbp
push rbp
push rdi
push rdi
push rsi
push rsi
push rbx
push rbx
sub rsp, 40
sub rsp, 40
mov rbp, qword ptr [rcx+32]
mov rbp, qword ptr [rcx+32]
mov qword ptr [rsp+20H], rbp
mov qword ptr [rsp+20H], rbp
lea rbp, [rbp+60H]
lea rbp, [rbp+60H]
;; bbWeight=0 PerfScore 0.00
;; bbWeight=0 PerfScore 0.00
G_M28364_IG15:
G_M28364_IG15:
mov rcx, rdx
mov rcx, rdx
call System.Runtime.ExceptionServices.ExceptionDispatchInfo:Capture(System.Exception):System.Runtime.ExceptionServices.ExceptionDispatchInfo
call System.Runtime.ExceptionServices.ExceptionDispatchInfo:Capture(System.Exception):System.Runtime.ExceptionServices.ExceptionDispatchInfo
mov gword ptr [rbp-38H], rax
mov gword ptr [rbp-38H], rax
lea rax, G_M28364_IG09
lea rax, G_M28364_IG09
;; bbWeight=0 PerfScore 0.00
;; bbWeight=0 PerfScore 0.00
G_M28364_IG16:
G_M28364_IG16:
add rsp, 40
add rsp, 40
pop rbx
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
pop rbp
pop rbp
ret
ret
;; bbWeight=0 PerfScore 0.00
;; bbWeight=0 PerfScore 0.00
复制
已复制
复制
已复制
; Total bytes of code 27
6
, prolog size 26, PerfScore 90.
48
, instruction count
90
, allocated bytes for code 27
6
(MethodHash=914e9133) for method System.Threading.ExecutionContext:RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)
; Total bytes of code 27
7
, prolog size 26, PerfScore 90.
83
, instruction count
91
, allocated bytes for code 27
7
(MethodHash=914e9133) for method System.Threading.ExecutionContext:RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)
; ============================================================
; ============================================================
已保存差异
原始文本
打开文件
; Assembly listing for method System.Threading.ExecutionContext:RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object) ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rbp based frame ; fully interruptible ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 7, 7 ) ref -> rsi class-hnd ; V01 arg1 [V01,T04] ( 3, 3 ) ref -> rdi class-hnd ; V02 arg2 [V02,T05] ( 3, 3 ) ref -> rbx class-hnd ; V03 loc0 [V03,T03] ( 5, 5 ) ref -> rcx class-hnd ; V04 loc1 [V04,T10] ( 3, 3 ) ref -> [rbp-0x20] EH do-not-enreg[] class-hnd EH-live ; V05 loc2 [V05,T01] ( 7, 7 ) ref -> r8 class-hnd ; V06 loc3 [V06,T11] ( 3, 3 ) ref -> [rbp-0x28] EH do-not-enreg[] class-hnd EH-live ; V07 loc4 [V07,T12] ( 3, 3 ) ref -> [rbp-0x30] EH do-not-enreg[] class-hnd EH-live ; V08 loc5 [V08,T09] ( 4, 3 ) ref -> [rbp-0x38] EH do-not-enreg[] class-hnd EH-live ; V09 loc6 [V09,T14] ( 2, 2 ) ref -> rdx class-hnd ; V10 loc7 [V10,T06] ( 4, 4 ) ref -> rsi class-hnd ; V11 loc8 [V11,T15] ( 2, 2 ) ref -> rdx class-hnd ; V12 loc9 [V12,T13] ( 3, 3 ) ref -> r8 class-hnd ;* V13 loc10 [V13 ] ( 0, 0 ) ref -> zero-ref class-hnd ; V14 OutArgs [V14 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace" ; V15 tmp1 [V15,T16] ( 2, 0 ) ref -> rcx class-hnd "impSpillSpecialSideEff" ; V16 tmp2 [V16,T07] ( 2, 4 ) ref -> rcx class-hnd "dup spill" ; V17 tmp3 [V17,T08] ( 4, 3.50) ref -> rcx ; V18 PSPSym [V18 ] ( 1, 1 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed "PSPSym" ; V19 rat0 [V19,T02] ( 3, 6 ) ref -> rdi "delegate invoke call" ; ; Lcl frame size = 72 G_M28364_IG01: push rbp push rdi push rsi push rbx sub rsp, 72 lea rbp, [rsp+60H] mov qword ptr [rbp-40H], rsp mov rsi, rcx mov rdi, rdx mov rbx, r8 ;; bbWeight=1 PerfScore 6.50 G_M28364_IG02: mov rcx, 0xD1FFAB1E mov edx, 625 call CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE mov rcx, gword ptr [rax+24] test rcx, rcx jne SHORT G_M28364_IG04 ;; bbWeight=1 PerfScore 4.75 G_M28364_IG03: call System.Threading.Thread:InitializeCurrentThread():System.Threading.Thread mov rcx, rax ;; bbWeight=0.50 PerfScore 0.62 G_M28364_IG04: mov gword ptr [rbp-20H], rcx mov r8, gword ptr [rcx+8] test r8, r8 je SHORT G_M28364_IG05 cmp byte ptr [r8+25], 0 je SHORT G_M28364_IG05 xor r8, r8 ;; bbWeight=1 PerfScore 7.50 G_M28364_IG05: mov gword ptr [rbp-28H], r8 mov rdx, gword ptr [rcx+16] mov gword ptr [rbp-30H], rdx test rsi, rsi je SHORT G_M28364_IG06 cmp byte ptr [rsi+25], 0 je SHORT G_M28364_IG06 xor rsi, rsi ;; bbWeight=1 PerfScore 8.50 G_M28364_IG06: cmp r8, rsi je SHORT G_M28364_IG07 mov rdx, rsi call System.Threading.ExecutionContext:RestoreChangedContextToThread(System.Threading.Thread,System.Threading.ExecutionContext,System.Threading.ExecutionContext) ;; bbWeight=1 PerfScore 2.50 G_M28364_IG07: xor rcx, rcx mov gword ptr [rbp-38H], rcx ;; bbWeight=1 PerfScore 1.25 G_M28364_IG08: mov rcx, gword ptr [rdi+8] mov rdx, rbx call qword ptr [rdi+24]System.Threading.ContextCallback:Invoke(System.Object):this nop ;; bbWeight=1 PerfScore 5.50 G_M28364_IG09: mov rdx, gword ptr [rbp-30H] mov rsi, gword ptr [rbp-20H] mov rcx, gword ptr [rbp-20H] mov rcx, gword ptr [rcx+16] cmp rcx, gword ptr [rbp-30H] je SHORT G_M28364_IG10 lea rcx, bword ptr [rsi+16] call CORINFO_HELP_ASSIGN_REF ;; bbWeight=1 PerfScore 8.50 G_M28364_IG10: mov rdx, gword ptr [rbp-28H] mov r8, gword ptr [rsi+8] cmp r8, gword ptr [rbp-28H] je SHORT G_M28364_IG11 mov rcx, rsi call System.Threading.ExecutionContext:RestoreChangedContextToThread(System.Threading.Thread,System.Threading.ExecutionContext,System.Threading.ExecutionContext) ;; bbWeight=1 PerfScore 6.25 G_M28364_IG11: cmp gword ptr [rbp-38H], 0 je SHORT G_M28364_IG13 mov rcx, gword ptr [rbp-38H] ;; bbWeight=1 PerfScore 3.00 G_M28364_IG12: lea rsp, [rbp-18H] pop rbx pop rsi pop rdi pop rbp jmp System.Runtime.ExceptionServices.ExceptionDispatchInfo:Throw():this ;; bbWeight=1 PerfScore 4.50 G_M28364_IG13: lea rsp, [rbp-18H] pop rbx pop rsi pop rdi pop rbp ret ;; bbWeight=1 PerfScore 3.50 G_M28364_IG14: push rbp push rdi push rsi push rbx sub rsp, 40 mov rbp, qword ptr [rcx+32] mov qword ptr [rsp+20H], rbp lea rbp, [rbp+60H] ;; bbWeight=0 PerfScore 0.00 G_M28364_IG15: mov rcx, rdx call System.Runtime.ExceptionServices.ExceptionDispatchInfo:Capture(System.Exception):System.Runtime.ExceptionServices.ExceptionDispatchInfo mov gword ptr [rbp-38H], rax lea rax, G_M28364_IG09 ;; bbWeight=0 PerfScore 0.00 G_M28364_IG16: add rsp, 40 pop rbx pop rsi pop rdi pop rbp ret ;; bbWeight=0 PerfScore 0.00 ; Total bytes of code 276, prolog size 26, PerfScore 90.48, instruction count 90, allocated bytes for code 276 (MethodHash=914e9133) for method System.Threading.ExecutionContext:RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object) ; ============================================================
更改后文本
打开文件
; Assembly listing for method System.Threading.ExecutionContext:RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object) ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rbp based frame ; fully interruptible ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 7, 7 ) ref -> rsi class-hnd ; V01 arg1 [V01,T04] ( 3, 3 ) ref -> rdi class-hnd ; V02 arg2 [V02,T05] ( 3, 3 ) ref -> rbx class-hnd ; V03 loc0 [V03,T01] ( 8, 7 ) ref -> [rbp-0x20] EH class-hnd EH-live ; V04 loc1 [V04,T03] ( 5, 5 ) ref -> rdx class-hnd ; V05 loc2 [V05,T06] ( 5, 4 ) ref -> [rbp-0x28] EH class-hnd EH-live ; V06 loc3 [V06,T11] ( 3, 2 ) ref -> [rbp-0x30] EH class-hnd EH-live ; V07 loc4 [V07,T09] ( 4, 3 ) ref -> [rbp-0x38] EH do-not-enreg[H] class-hnd EH-live ; V08 loc5 [V08,T10] ( 3, 3 ) ref -> r8 class-hnd ;* V09 loc6 [V09 ] ( 0, 0 ) ref -> zero-ref class-hnd ; V10 OutArgs [V10 ] ( 1, 1 ) lclBlk (32) [rsp+0x00] "OutgoingArgSpace" ; V11 tmp1 [V11,T12] ( 2, 0 ) ref -> rcx class-hnd "impSpillSpecialSideEff" ; V12 tmp2 [V12,T07] ( 2, 4 ) ref -> rcx class-hnd "dup spill" ; V13 tmp3 [V13,T08] ( 4, 3.50) ref -> rcx ; V14 PSPSym [V14 ] ( 1, 1 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed "PSPSym" ; V15 rat0 [V15,T02] ( 3, 6 ) ref -> rdi "delegate invoke call" ; ; Lcl frame size = 72 G_M28364_IG01: push rbp push rdi push rsi push rbx sub rsp, 72 lea rbp, [rsp+60H] mov qword ptr [rbp-40H], rsp mov rsi, rcx mov rdi, rdx mov rbx, r8 ;; bbWeight=1 PerfScore 6.50 G_M28364_IG02: mov rcx, 0xD1FFAB1E mov edx, 625 call CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE mov rcx, gword ptr [rax+24] test rcx, rcx jne SHORT G_M28364_IG04 ;; bbWeight=1 PerfScore 4.75 G_M28364_IG03: call System.Threading.Thread:InitializeCurrentThread():System.Threading.Thread mov rcx, rax ;; bbWeight=0.50 PerfScore 0.62 G_M28364_IG04: mov gword ptr [rbp-20H], rcx mov rdx, gword ptr [rcx+8] test rdx, rdx je SHORT G_M28364_IG05 cmp byte ptr [rdx+25], 0 je SHORT G_M28364_IG05 xor rdx, rdx ;; bbWeight=1 PerfScore 7.50 G_M28364_IG05: mov gword ptr [rbp-28H], rdx mov r8, gword ptr [rcx+16] mov gword ptr [rbp-30H], r8 test rsi, rsi je SHORT G_M28364_IG06 cmp byte ptr [rsi+25], 0 je SHORT G_M28364_IG06 xor rsi, rsi ;; bbWeight=1 PerfScore 8.50 G_M28364_IG06: cmp rdx, rsi je SHORT G_M28364_IG07 mov rdx, rsi mov r8, gword ptr [rbp-28H] call System.Threading.ExecutionContext:RestoreChangedContextToThread(System.Threading.Thread,System.Threading.ExecutionContext,System.Threading.ExecutionContext) mov rcx, gword ptr [rbp-20H] ;; bbWeight=1 PerfScore 4.50 G_M28364_IG07: xor rax, rax mov gword ptr [rbp-38H], rax ;; bbWeight=1 PerfScore 1.25 G_M28364_IG08: mov rcx, gword ptr [rdi+8] mov rdx, rbx call qword ptr [rdi+24]System.Threading.ContextCallback:Invoke(System.Object):this nop ;; bbWeight=1 PerfScore 5.50 G_M28364_IG09: mov rcx, gword ptr [rbp-20H] mov r8, gword ptr [rbp-30H] cmp gword ptr [rcx+16], r8 je SHORT G_M28364_IG10 lea rcx, bword ptr [rcx+16] mov rdx, r8 call CORINFO_HELP_ASSIGN_REF mov rcx, gword ptr [rbp-20H] ;; bbWeight=1 PerfScore 7.75 G_M28364_IG10: mov r8, gword ptr [rcx+8] mov rdx, gword ptr [rbp-28H] cmp r8, rdx je SHORT G_M28364_IG11 call System.Threading.ExecutionContext:RestoreChangedContextToThread(System.Threading.Thread,System.Threading.ExecutionContext,System.Threading.ExecutionContext) ;; bbWeight=1 PerfScore 5.25 G_M28364_IG11: cmp gword ptr [rbp-38H], 0 je SHORT G_M28364_IG13 mov rcx, gword ptr [rbp-38H] ;; bbWeight=1 PerfScore 3.00 G_M28364_IG12: lea rsp, [rbp-18H] pop rbx pop rsi pop rdi pop rbp jmp System.Runtime.ExceptionServices.ExceptionDispatchInfo:Throw():this ;; bbWeight=1 PerfScore 4.50 G_M28364_IG13: lea rsp, [rbp-18H] pop rbx pop rsi pop rdi pop rbp ret ;; bbWeight=1 PerfScore 3.50 G_M28364_IG14: push rbp push rdi push rsi push rbx sub rsp, 40 mov rbp, qword ptr [rcx+32] mov qword ptr [rsp+20H], rbp lea rbp, [rbp+60H] ;; bbWeight=0 PerfScore 0.00 G_M28364_IG15: mov rcx, rdx call System.Runtime.ExceptionServices.ExceptionDispatchInfo:Capture(System.Exception):System.Runtime.ExceptionServices.ExceptionDispatchInfo mov gword ptr [rbp-38H], rax lea rax, G_M28364_IG09 ;; bbWeight=0 PerfScore 0.00 G_M28364_IG16: add rsp, 40 pop rbx pop rsi pop rdi pop rbp ret ;; bbWeight=0 PerfScore 0.00 ; Total bytes of code 277, prolog size 26, PerfScore 90.83, instruction count 91, allocated bytes for code 277 (MethodHash=914e9133) for method System.Threading.ExecutionContext:RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object) ; ============================================================
查找差异