Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
ExecCtx.RunInternal()
Créé
il y a 5 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
77 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
155 lignes
Copier tout
73 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
152 lignes
Copier tout
; 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
Copier
Copié
Copier
Copié
; 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
Copier
Copié
Copier
Copié
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
Copier
Copié
Copier
Copié
cmp byte ptr [
r8
+25], 0
cmp byte ptr [
rdx
+25], 0
je SHORT G_M28364_IG05
je SHORT G_M28364_IG05
Copier
Copié
Copier
Copié
xor
r8, r8
xor
rdx, rdx
;; bbWeight=1 PerfScore 7.50
;; bbWeight=1 PerfScore 7.50
G_M28364_IG05:
G_M28364_IG05:
Copier
Copié
Copier
Copié
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:
Copier
Copié
Copier
Copié
cmp
r8
, rsi
cmp
rdx
, rsi
je SHORT G_M28364_IG07
je SHORT G_M28364_IG07
mov rdx, rsi
mov rdx, rsi
Copier
Copié
Copier
Copié
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)
Copier
Copié
Copier
Copié
;; bbWeight=1 PerfScore
2
.50
mov rcx, gword ptr [rbp-20H]
;; bbWeight=1 PerfScore
4
.50
G_M28364_IG07:
G_M28364_IG07:
Copier
Copié
Copier
Copié
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:
Copier
Copié
Copier
Copié
mov rdx, gword ptr [rbp-30H]
mov rsi, gword ptr [rbp-20H]
mov rcx, gword ptr [rbp-20H]
mov rcx, gword ptr [rbp-20H]
Copier
Copié
Copier
Copié
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
Copier
Copié
Copier
Copié
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
Copier
Copié
Copier
Copié
;; bbWeight=1 PerfScore
8.50
mov rcx, gword ptr [rbp-20H]
;; bbWeight=1 PerfScore
7.75
G_M28364_IG10:
G_M28364_IG10:
Copier
Copié
Copier
Copié
mov r8, gword ptr [rcx+8]
mov rdx, gword ptr [rbp-28H]
mov rdx, gword ptr [rbp-28H]
Copier
Copié
Copier
Copié
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
Copier
Copié
Copier
Copié
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)
Copier
Copié
Copier
Copié
;; 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
Copier
Copié
Copier
Copié
; 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)
; ============================================================
; ============================================================
Différences enregistrées
Texte d'origine
Ouvrir un fichier
; 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) ; ============================================================
Texte modifié
Ouvrir un fichier
; 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) ; ============================================================
Trouver la différence