Diff
checker
Texto
Texto
Imágenes
Documentos
Excel
Carpetas
Legal
Enterprise
Aplicación de escritorio
Precios
Iniciar sesión
Descargar Diffchecker Desktop
Comparar texto
Encuentra la diferencia entre dos archivos de texto
Herramientas
Historial
Visualización
Vista
Dividido
Unificado
Editor live
Ocultar espacios en blanco
Ocultar sin cambios
Sin ajuste de línea
Nivel de detalle
Inteligente
Sintaxis
Ninguno
Cambiar apariencia
Procesamiento
Ignorar
Transformar texto
Ir al primer cambio
Editar entrada
Diffchecker Desktop
La forma más segura de usar Diffchecker. ¡Obtén la app de Diffchecker Desktop: tus diffs nunca salen de tu computadora!
Obtener Desktop
Untitled Diff
Creado
hace 4 años
El diff nunca expira
Borrar
Exportar
Compartir
Explicar
89 eliminaciones
Líneas
Total
Eliminado
Caracteres
Total
Eliminado
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
160 líneas
Copiar todo
94 adiciones
Líneas
Total
Añadido
Caracteres
Total
Añadido
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
163 líneas
Copiar todo
; 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
;
;
Copiar
Copiado
Copiar
Copiado
; 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
Copiar
Copiado
Copiar
Copiado
; 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"
Copiar
Copiado
Copiar
Copiado
; 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"
Copiar
Copiado
Copiar
Copiado
; 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
Copiar
Copiado
Copiar
Copiado
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
Copiar
Copiado
Copiar
Copiado
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
Copiar
Copiado
Copiar
Copiado
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (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
Copiar
Copiado
Copiar
Copiado
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
Copiar
Copiado
Copiar
Copiado
xchg r8, r9
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (xchg: 1) 32B boundary ...............................
jne SHORT G_M16234_IG04
jne SHORT G_M16234_IG04
Copiar
Copiado
Copiar
Copiado
;; 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
Copiar
Copiado
Copiar
Copiado
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (and: 3) 32B boundary ...............................
mov eax, dword ptr [rcx+rax-04H]
mov eax, dword ptr [rcx+rax-04H]
Copiar
Copiado
Copiar
Copiado
not edx
shl edx, 3
shr eax, 8
shr eax, 8
or eax, 0xD1FFAB1E
or eax, 0xD1FFAB1E
Copiar
Copiado
Copiar
Copiado
not edx
shl edx, 3
shrx eax, eax, edx
shrx eax, eax, edx
Copiar
Copiado
Copiar
Copiado
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (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:
Copiar
Copiado
Copiar
Copiado
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
Copiar
Copiado
Copiar
Copiado
rol edx, 20
add edx, eax
; ............................... 32B boundary ...............................
; ............................... 32B boundary ...............................
Copiar
Copiado
Copiar
Copiado
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
Copiar
Copiado
Copiar
Copiado
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (xor: 2) 32B boundary ...............................
rol r8d, 20
rol r8d, 20
add r8d, r9d
add r8d, r9d
rol r9d, 9
rol r9d, 9
Copiar
Copiado
Copiar
Copiado
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (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
Copiar
Copiado
Copiar
Copiado
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (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
Diferencias guardadas
Texto original
Abrir archivo
; 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 ; ============================================================
Texto modificado
Abrir archivo
; 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 ; ============================================================
Encontrar la diferencia