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
Affichage
Vue
Divisé
Unifié
Éditeur live
Masquer les espaces
Cacher identiques
Sans retour à la ligne
Niveau de précision
Intelligent
Syntaxe
Aucun
Modifier l’apparence
Traitement
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
Untitled Diff
Créé
il y a 4 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
89 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
160 lignes
Copier tout
94 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
163 lignes
Copier tout
; Assembly listing for method System.Marvin:ComputeHash32(byref,uint,uint,uint):int
; Assembly listing for method System.Marvin:ComputeHash32(byref,uint,uint,uint):int
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Tier-1 compilation
; Tier-1 compilation
; optimized code
; optimized code
; optimized using profile data
; optimized using profile data
; rsp based frame
; rsp based frame
; fully interruptible
; fully interruptible
; with Static PGO: edge weights are valid, and fgCalledCount is 754635
; with Static PGO: edge weights are valid, and fgCalledCount is 754635
; 0 inlinees with PGO data; 30 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 30 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
Copier
Copié
Copier
Copié
; V00 arg0 [V00,T0
5
] ( 10, 21.18) byref -> rcx
; V00 arg0 [V00,T0
4
] ( 10, 21.18) byref -> rcx
; V01 arg1 [V01,T
09
] (
13
,
8.98
) int -> rdx
; V01 arg1 [V01,T
10
] (
11
,
6.99
) int -> rdx
single-def
; V02 arg2 [V02,T0
0
] (
19, 43.80
) int ->
r8
ld-addr-op
; V02 arg2 [V02,T0
3
] (
10, 26.08
) int ->
registers
ld-addr-op
; V03 arg3 [V03,T07] ( 7, 12.81) int ->
r9
ld-addr-op
; V03 arg3 [V03,T07] ( 7, 12.81) int ->
registers
ld-addr-op
; V04 loc0 [V04,T08] ( 4, 14.26) int -> rax
; V04 loc0 [V04,T08] ( 4, 14.26) int -> rax
Copier
Copié
Copier
Copié
; V05 loc1 [V05,T1
5
] (
16
,
8
.00) int -> rax
; V05 loc1 [V05,T1
7
] (
8
,
2
.00) int -> rax
; V06 loc2 [V06,T1
4
] ( 2, 8.85) int -> r10
; V06 loc2 [V06,T1
1
] ( 2, 8.85) int -> r10
;# V07 OutArgs [V07 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;# V07 OutArgs [V07 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;* V08 tmp1 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V08 tmp1 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
; V09 tmp2 [V09,T06] ( 2, 17.70) int -> rax "dup spill"
; V09 tmp2 [V09,T06] ( 2, 17.70) int -> rax "dup spill"
;* V10 tmp3 [V10 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V10 tmp3 [V10 ] ( 0, 0 ) int -> zero-ref "impAppendStmt"
;* V11 tmp4 [V11 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V11 tmp4 [V11 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
Copier
Copié
Copier
Copié
; V12 tmp5 [V12,T0
3
] (
9, 39.82
) int -> r8 "Inline stloc first use temp"
; V12 tmp5 [V12,T0
5
] (
5, 22.12
) int -> r8 "Inline stloc first use temp"
; V13 tmp6 [V13,T0
1
] (
10, 44.24
) int -> r9 "Inline stloc first use temp"
; V13 tmp6 [V13,T0
0
] (
8, 35.39
) int -> r9 "Inline stloc first use temp"
; V14 tmp7 [V14,T0
4
] (
9, 39.82
) int ->
r8
"Inline stloc first use temp"
; V14 tmp7 [V14,T0
1
] (
8, 35.39
) int ->
r10
"Inline stloc first use temp"
; V15 tmp8 [V15,T02] (
10, 44.24
) int ->
r9
"Inline stloc first use temp"
; V15 tmp8 [V15,T02] (
8, 35.39
) int ->
r8
"Inline stloc first use temp"
; V16 tmp9 [V16,T1
7
] (
9
,
4.33
) int -> r8 "Inline stloc first use temp"
; V16 tmp9 [V16,T1
4
] (
8
,
3.85
) int -> r8 "Inline stloc first use temp"
; V17 tmp10 [V17,T1
6
] (
10
,
4.81
) int -> r9 "Inline stloc first use temp"
; V17 tmp10 [V17,T1
5
] (
8
,
3.85
) int -> r9 "Inline stloc first use temp"
;* V18 tmp11 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V18 tmp11 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
Copier
Copié
Copier
Copié
; V19 tmp12 [V19,T
10
] (
10, 10
.00) int -> r
c
x "Inline stloc first use temp"
; V19 tmp12 [V19,T
09
] (
9, 9
.00) int -> r
a
x "Inline stloc first use temp"
; V20 tmp13 [V20,T1
1
] (
10, 10
.00) int -> r
a
x "Inline stloc first use temp"
; V20 tmp13 [V20,T1
2
] (
8, 8
.00) int -> r
c
x "Inline stloc first use temp"
; V21 tmp14 [V21,T1
3
] (
9
,
9
.00) int -> r
d
x "Inline stloc first use temp"
; V21 tmp14 [V21,T1
6
] (
3
,
3
.00) int -> r
a
x "Inline stloc first use temp"
; V22 tmp15 [V22,T1
2
] (
10, 10
.00) int -> r
a
x "Inline stloc first use temp"
; V22 tmp15 [V22,T1
3
] (
6, 6
.00) int -> r
d
x "Inline stloc first use temp"
;
;
; Lcl frame size = 0
; Lcl frame size = 0
G_M16234_IG01:
G_M16234_IG01:
;; size=0 bbWeight=1 PerfScore 0.00
;; size=0 bbWeight=1 PerfScore 0.00
G_M16234_IG02:
G_M16234_IG02:
cmp edx, 8
cmp edx, 8
jb G_M16234_IG10
jb G_M16234_IG10
;; size=9 bbWeight=1 PerfScore 1.25
;; size=9 bbWeight=1 PerfScore 1.25
G_M16234_IG03:
G_M16234_IG03:
mov eax, edx
mov eax, edx
shr eax, 3
shr eax, 3
Copier
Copié
Copier
Copié
align [
0
bytes for IG04]
align [
2
bytes for IG04]
;; size=
5
bbWeight=0.99 PerfScore 0.
74
;; size=
7
bbWeight=0.99 PerfScore 0.
99
G_M16234_IG04:
G_M16234_IG04:
add r8d, dword ptr [rcx]
add r8d, dword ptr [rcx]
mov r10d, dword ptr [rcx+04H]
mov r10d, dword ptr [rcx+04H]
xor r9d, r8d
xor r9d, r8d
rol r8d, 20
rol r8d, 20
add r8d, r9d
add r8d, r9d
Copier
Copié
Copier
Copié
rol r9d, 9
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (
add: 1
) 32B boundary ...............................
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (
rol: 3
) 32B boundary ...............................
xor r9d, r8d
rol r8d, 27
add r8d, r9d
rol r9d, 19
add r8d, r10d
xor r9d, r8d
rol r8d, 20
add r8d, r9d
rol r9d, 9
rol r9d, 9
Copier
Copié
Copier
Copié
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (rol: 2) 32B boundary ...............................
xor r9d, r8d
xor r9d, r8d
rol r8d, 27
rol r8d, 27
add r8d, r9d
add r8d, r9d
rol r9d, 19
rol r9d, 19
Copier
Copié
Copier
Copié
add r10d, r8d
mov r8d, r9d
xor r8d, r10d
rol r10d, 20
; ............................... 32B boundary ...............................
add r10d, r8d
rol r8d, 9
xor r8d, r10d
rol r10d, 27
add r10d, r8d
rol r8d, 19
mov r9d, r10d
add rcx, 8
add rcx, 8
dec eax
dec eax
Copier
Copié
Copier
Copié
xchg r8, r9
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (xchg: 1) 32B boundary ...............................
jne SHORT G_M16234_IG04
jne SHORT G_M16234_IG04
Copier
Copié
Copier
Copié
;; size=
74
bbWeight=4.42 PerfScore
56.41
;; size=
83
bbWeight=4.42 PerfScore
63.04
G_M16234_IG05:
G_M16234_IG05:
test dl, 4
test dl, 4
jne SHORT G_M16234_IG09
jne SHORT G_M16234_IG09
;; size=5 bbWeight=0.99 PerfScore 1.23
;; size=5 bbWeight=0.99 PerfScore 1.23
G_M16234_IG06:
G_M16234_IG06:
mov eax, edx
mov eax, edx
and rax, 7
and rax, 7
Copier
Copié
Copier
Copié
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (and: 3) 32B boundary ...............................
mov eax, dword ptr [rcx+rax-04H]
mov eax, dword ptr [rcx+rax-04H]
Copier
Copié
Copier
Copié
not edx
shl edx, 3
shr eax, 8
shr eax, 8
or eax, 0xD1FFAB1E
or eax, 0xD1FFAB1E
Copier
Copié
Copier
Copié
not edx
shl edx, 3
shrx eax, eax, edx
shrx eax, eax, edx
Copier
Copié
Copier
Copié
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (shrx: 4) 32B boundary ...............................
;; size=28 bbWeight=1.00 PerfScore 4.49
;; size=28 bbWeight=1.00 PerfScore 4.49
G_M16234_IG07:
G_M16234_IG07:
Copier
Copié
Copier
Copié
add
r8d,
eax
add
eax
, r8d
mov e
a
x, r9d
mov e
c
x, r9d
xor eax, r8d
xor
ecx, eax
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (xor: 2) 32B boundary ...............................
rol eax,
20
mov ecx, r8d
add
eax, ecx
rol ecx, 20
rol ecx,
9
add
ecx, eax
xor
ecx, eax
rol eax,
9
rol eax,
27
xor
eax, ecx
add
eax, ecx
rol ecx,
27
rol ecx, 19
add
ecx, eax
rol eax,
19
xor
eax, ecx
mov edx, ecx
mov edx, ecx
Copier
Copié
Copier
Copié
rol edx, 20
add edx, eax
; ............................... 32B boundary ...............................
; ............................... 32B boundary ...............................
Copier
Copié
Copier
Copié
rol eax,
9
xor edx, eax
xor
eax, edx
rol eax,
20
rol edx,
27
add
eax, edx
add
edx, eax
rol edx,
9
rol eax,
19
xor
edx, eax
xor eax,
edx
rol eax,
27
;; size=
54
bbWeight=1.00 PerfScore 7.25
add eax, edx
mov r8d, edx
rol r8d,
19
xor eax,
r8d
;; size=
55
bbWeight=1.00 PerfScore 7.25
G_M16234_IG08:
G_M16234_IG08:
ret
ret
;; size=1 bbWeight=1.00 PerfScore 1.00
;; size=1 bbWeight=1.00 PerfScore 1.00
G_M16234_IG09:
G_M16234_IG09:
add r8d, dword ptr [rcx]
add r8d, dword ptr [rcx]
xor r9d, r8d
xor r9d, r8d
Copier
Copié
Copier
Copié
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (xor: 2) 32B boundary ...............................
rol r8d, 20
rol r8d, 20
add r8d, r9d
add r8d, r9d
rol r9d, 9
rol r9d, 9
Copier
Copié
Copier
Copié
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (rol: 1) 32B boundary ...............................
xor r9d, r8d
xor r9d, r8d
rol r8d, 27
rol r8d, 27
add r8d, r9d
add r8d, r9d
rol r9d, 19
rol r9d, 19
jmp SHORT G_M16234_IG06
jmp SHORT G_M16234_IG06
;; size=33 bbWeight=0.48 PerfScore 3.85
;; size=33 bbWeight=0.48 PerfScore 3.85
G_M16234_IG10:
G_M16234_IG10:
cmp edx, 4
cmp edx, 4
Copier
Copié
Copier
Copié
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (cmp: 0 ; jcc erratum) 32B boundary ...............................
jae SHORT G_M16234_IG09
jae SHORT G_M16234_IG09
;; size=5 bbWeight=0.01 PerfScore 0.02
;; size=5 bbWeight=0.01 PerfScore 0.02
G_M16234_IG11:
G_M16234_IG11:
mov eax, 128
mov eax, 128
test dl, 1
test dl, 1
Différences enregistrées
Texte d'origine
Ouvrir un fichier
; Assembly listing for method System.Marvin:ComputeHash32(byref,uint,uint,uint):int ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; Tier-1 compilation ; optimized code ; optimized using profile data ; rsp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 754635 ; 0 inlinees with PGO data; 30 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T05] ( 10, 21.18) byref -> rcx ; V01 arg1 [V01,T09] ( 13, 8.98) int -> rdx ; V02 arg2 [V02,T00] ( 19, 43.80) int -> r8 ld-addr-op ; V03 arg3 [V03,T07] ( 7, 12.81) int -> r9 ld-addr-op ; V04 loc0 [V04,T08] ( 4, 14.26) int -> rax ; V05 loc1 [V05,T15] ( 16, 8.00) int -> rax ; V06 loc2 [V06,T14] ( 2, 8.85) int -> r10 ;# V07 OutArgs [V07 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace" ;* V08 tmp1 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ; V09 tmp2 [V09,T06] ( 2, 17.70) int -> rax "dup spill" ;* V10 tmp3 [V10 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V11 tmp4 [V11 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V12 tmp5 [V12,T03] ( 9, 39.82) int -> r8 "Inline stloc first use temp" ; V13 tmp6 [V13,T01] ( 10, 44.24) int -> r9 "Inline stloc first use temp" ; V14 tmp7 [V14,T04] ( 9, 39.82) int -> r8 "Inline stloc first use temp" ; V15 tmp8 [V15,T02] ( 10, 44.24) int -> r9 "Inline stloc first use temp" ; V16 tmp9 [V16,T17] ( 9, 4.33) int -> r8 "Inline stloc first use temp" ; V17 tmp10 [V17,T16] ( 10, 4.81) int -> r9 "Inline stloc first use temp" ;* V18 tmp11 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V19 tmp12 [V19,T10] ( 10, 10.00) int -> rcx "Inline stloc first use temp" ; V20 tmp13 [V20,T11] ( 10, 10.00) int -> rax "Inline stloc first use temp" ; V21 tmp14 [V21,T13] ( 9, 9.00) int -> rdx "Inline stloc first use temp" ; V22 tmp15 [V22,T12] ( 10, 10.00) int -> rax "Inline stloc first use temp" ; ; Lcl frame size = 0 G_M16234_IG01: ;; size=0 bbWeight=1 PerfScore 0.00 G_M16234_IG02: cmp edx, 8 jb G_M16234_IG10 ;; size=9 bbWeight=1 PerfScore 1.25 G_M16234_IG03: mov eax, edx shr eax, 3 align [0 bytes for IG04] ;; size=5 bbWeight=0.99 PerfScore 0.74 G_M16234_IG04: add r8d, dword ptr [rcx] mov r10d, dword ptr [rcx+04H] xor r9d, r8d rol r8d, 20 add r8d, r9d rol r9d, 9 ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (rol: 3) 32B boundary ............................... xor r9d, r8d rol r8d, 27 add r8d, r9d rol r9d, 19 add r8d, r10d xor r9d, r8d rol r8d, 20 add r8d, r9d rol r9d, 9 ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (rol: 2) 32B boundary ............................... xor r9d, r8d rol r8d, 27 add r8d, r9d rol r9d, 19 add rcx, 8 dec eax jne SHORT G_M16234_IG04 ;; size=74 bbWeight=4.42 PerfScore 56.41 G_M16234_IG05: test dl, 4 jne SHORT G_M16234_IG09 ;; size=5 bbWeight=0.99 PerfScore 1.23 G_M16234_IG06: mov eax, edx and rax, 7 ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (and: 3) 32B boundary ............................... mov eax, dword ptr [rcx+rax-04H] not edx shl edx, 3 shr eax, 8 or eax, 0xD1FFAB1E shrx eax, eax, edx ;; size=28 bbWeight=1.00 PerfScore 4.49 G_M16234_IG07: add r8d, eax mov eax, r9d xor eax, r8d ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (xor: 2) 32B boundary ............................... mov ecx, r8d rol ecx, 20 add ecx, eax rol eax, 9 xor eax, ecx rol ecx, 27 add ecx, eax rol eax, 19 xor eax, ecx mov edx, ecx rol edx, 20 add edx, eax ; ............................... 32B boundary ............................... rol eax, 9 xor eax, edx rol edx, 27 add edx, eax rol eax, 19 xor eax, edx ;; size=54 bbWeight=1.00 PerfScore 7.25 G_M16234_IG08: ret ;; size=1 bbWeight=1.00 PerfScore 1.00 G_M16234_IG09: add r8d, dword ptr [rcx] xor r9d, r8d rol r8d, 20 add r8d, r9d rol r9d, 9 ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (rol: 1) 32B boundary ............................... xor r9d, r8d rol r8d, 27 add r8d, r9d rol r9d, 19 jmp SHORT G_M16234_IG06 ;; size=33 bbWeight=0.48 PerfScore 3.85 G_M16234_IG10: cmp edx, 4 jae SHORT G_M16234_IG09 ;; size=5 bbWeight=0.01 PerfScore 0.02 G_M16234_IG11: mov eax, 128 test dl, 1 jne SHORT G_M16234_IG14 ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jne: 0 ; jcc erratum) 32B boundary ............................... ;; size=10 bbWeight=0.00 PerfScore 0.00 G_M16234_IG12: test dl, 2 je SHORT G_M16234_IG07 ;; size=5 bbWeight=0.00 PerfScore 0.00 G_M16234_IG13: shl eax, 16 movzx rcx, word ptr [rcx] or eax, ecx jmp SHORT G_M16234_IG07 ;; size=10 bbWeight=0.00 PerfScore 0.01 G_M16234_IG14: mov eax, edx and rax, 2 movzx rax, byte ptr [rcx+rax] or eax, 0x8000 jmp SHORT G_M16234_IG12 ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (jmp: 0 ; jcc erratum) 32B boundary ............................... ;; size=17 bbWeight=0 PerfScore 0.00 ; Total bytes of code 256, prolog size 0, PerfScore 101.85, instruction count 85, allocated bytes for code 256 (MethodHash=db76c095) for method System.Marvin:ComputeHash32(byref,uint,uint,uint):int ; ============================================================
Texte modifié
Ouvrir un fichier
; Assembly listing for method System.Marvin:ComputeHash32(byref,uint,uint,uint):int ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; Tier-1 compilation ; optimized code ; optimized using profile data ; rsp based frame ; fully interruptible ; with Static PGO: edge weights are valid, and fgCalledCount is 754635 ; 0 inlinees with PGO data; 30 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T04] ( 10, 21.18) byref -> rcx ; V01 arg1 [V01,T10] ( 11, 6.99) int -> rdx single-def ; V02 arg2 [V02,T03] ( 10, 26.08) int -> registers ld-addr-op ; V03 arg3 [V03,T07] ( 7, 12.81) int -> registers ld-addr-op ; V04 loc0 [V04,T08] ( 4, 14.26) int -> rax ; V05 loc1 [V05,T17] ( 8, 2.00) int -> rax ; V06 loc2 [V06,T11] ( 2, 8.85) int -> r10 ;# V07 OutArgs [V07 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace" ;* V08 tmp1 [V08 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ; V09 tmp2 [V09,T06] ( 2, 17.70) int -> rax "dup spill" ;* V10 tmp3 [V10 ] ( 0, 0 ) int -> zero-ref "impAppendStmt" ;* V11 tmp4 [V11 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V12 tmp5 [V12,T05] ( 5, 22.12) int -> r8 "Inline stloc first use temp" ; V13 tmp6 [V13,T00] ( 8, 35.39) int -> r9 "Inline stloc first use temp" ; V14 tmp7 [V14,T01] ( 8, 35.39) int -> r10 "Inline stloc first use temp" ; V15 tmp8 [V15,T02] ( 8, 35.39) int -> r8 "Inline stloc first use temp" ; V16 tmp9 [V16,T14] ( 8, 3.85) int -> r8 "Inline stloc first use temp" ; V17 tmp10 [V17,T15] ( 8, 3.85) int -> r9 "Inline stloc first use temp" ;* V18 tmp11 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V19 tmp12 [V19,T09] ( 9, 9.00) int -> rax "Inline stloc first use temp" ; V20 tmp13 [V20,T12] ( 8, 8.00) int -> rcx "Inline stloc first use temp" ; V21 tmp14 [V21,T16] ( 3, 3.00) int -> rax "Inline stloc first use temp" ; V22 tmp15 [V22,T13] ( 6, 6.00) int -> rdx "Inline stloc first use temp" ; ; Lcl frame size = 0 G_M16234_IG01: ;; size=0 bbWeight=1 PerfScore 0.00 G_M16234_IG02: cmp edx, 8 jb G_M16234_IG10 ;; size=9 bbWeight=1 PerfScore 1.25 G_M16234_IG03: mov eax, edx shr eax, 3 align [2 bytes for IG04] ;; size=7 bbWeight=0.99 PerfScore 0.99 G_M16234_IG04: add r8d, dword ptr [rcx] mov r10d, dword ptr [rcx+04H] xor r9d, r8d rol r8d, 20 add r8d, r9d ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (add: 1) 32B boundary ............................... rol r9d, 9 xor r9d, r8d rol r8d, 27 add r8d, r9d rol r9d, 19 add r10d, r8d mov r8d, r9d xor r8d, r10d rol r10d, 20 ; ............................... 32B boundary ............................... add r10d, r8d rol r8d, 9 xor r8d, r10d rol r10d, 27 add r10d, r8d rol r8d, 19 mov r9d, r10d add rcx, 8 dec eax xchg r8, r9 ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (xchg: 1) 32B boundary ............................... jne SHORT G_M16234_IG04 ;; size=83 bbWeight=4.42 PerfScore 63.04 G_M16234_IG05: test dl, 4 jne SHORT G_M16234_IG09 ;; size=5 bbWeight=0.99 PerfScore 1.23 G_M16234_IG06: mov eax, edx and rax, 7 mov eax, dword ptr [rcx+rax-04H] shr eax, 8 or eax, 0xD1FFAB1E not edx shl edx, 3 shrx eax, eax, edx ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (shrx: 4) 32B boundary ............................... ;; size=28 bbWeight=1.00 PerfScore 4.49 G_M16234_IG07: add eax, r8d mov ecx, r9d xor ecx, eax rol eax, 20 add eax, ecx rol ecx, 9 xor ecx, eax rol eax, 27 add eax, ecx rol ecx, 19 mov edx, ecx ; ............................... 32B boundary ............................... xor edx, eax rol eax, 20 add eax, edx rol edx, 9 xor edx, eax rol eax, 27 add eax, edx mov r8d, edx rol r8d, 19 xor eax, r8d ;; size=55 bbWeight=1.00 PerfScore 7.25 G_M16234_IG08: ret ;; size=1 bbWeight=1.00 PerfScore 1.00 G_M16234_IG09: add r8d, dword ptr [rcx] xor r9d, r8d ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (xor: 2) 32B boundary ............................... rol r8d, 20 add r8d, r9d rol r9d, 9 xor r9d, r8d rol r8d, 27 add r8d, r9d rol r9d, 19 jmp SHORT G_M16234_IG06 ;; size=33 bbWeight=0.48 PerfScore 3.85 G_M16234_IG10: cmp edx, 4 ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (cmp: 0 ; jcc erratum) 32B boundary ............................... jae SHORT G_M16234_IG09 ;; size=5 bbWeight=0.01 PerfScore 0.02 G_M16234_IG11: mov eax, 128 test dl, 1 jne SHORT G_M16234_IG14 ;; size=10 bbWeight=0.00 PerfScore 0.00 G_M16234_IG12: test dl, 2 je SHORT G_M16234_IG07 ;; size=5 bbWeight=0.00 PerfScore 0.00 G_M16234_IG13: shl eax, 16 movzx rcx, word ptr [rcx] or eax, ecx jmp SHORT G_M16234_IG07 ;; size=10 bbWeight=0.00 PerfScore 0.01 G_M16234_IG14: mov eax, edx and rax, 2 ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (and: 1) 32B boundary ............................... movzx rax, byte ptr [rcx+rax] or eax, 0x8000 jmp SHORT G_M16234_IG12 ;; size=17 bbWeight=0 PerfScore 0.00 ; Total bytes of code 268, prolog size 0, PerfScore 109.93, instruction count 88, allocated bytes for code 268 (MethodHash=db76c095) for method System.Marvin:ComputeHash32(byref,uint,uint,uint):int ; ============================================================
Trouver la différence