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
Editor live
Ocultar espacios en blanco
Ocultar sin cambios
Sin ajuste de línea
Vista
Dividido
Unificado
Nivel de detalle
Inteligente
Palabra
Letra
Estilos de texto
Cambiar apariencia
Resaltado de sintaxis
Elegir sintaxis
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
TryParseUInt16D
Creado
hace 5 años
El diff nunca expira
Borrar
Exportar
Compartir
Explicar
15 eliminaciones
Líneas
Total
Eliminado
Caracteres
Total
Eliminado
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
192 líneas
Copiar todo
17 adiciones
Líneas
Total
Añadido
Caracteres
Total
Añadido
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
193 líneas
Copiar todo
; Assembly listing for method System.Buffers.Text.Utf8Parser:TryParse(System.ReadOnlySpan`1[Byte],byref,byref,ushort):bool
; Assembly listing for method System.Buffers.Text.Utf8Parser:TryParse(System.ReadOnlySpan`1[Byte],byref,byref,ushort):bool
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; fully interruptible
; fully interruptible
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T00] ( 6, 8 ) byref -> rcx
; V00 arg0 [V00,T00] ( 6, 8 ) byref -> rcx
; V01 arg1 [V01,T01] ( 6, 4 ) byref -> rdx
; V01 arg1 [V01,T01] ( 6, 4 ) byref -> rdx
; V02 arg2 [V02,T02] ( 6, 4 ) byref -> r8
; V02 arg2 [V02,T02] ( 6, 4 ) byref -> r8
; V03 arg3 [V03,T03] ( 4, 3.50) ushort -> r9
; V03 arg3 [V03,T03] ( 4, 3.50) ushort -> r9
; V04 loc0 [V04,T04] ( 6, 3 ) int -> rax
; V04 loc0 [V04,T04] ( 6, 3 ) int -> rax
;# V05 OutArgs [V05 ] ( 1, 1 ) lclBlk ( 0) [rsp+0x00] "OutgoingArgSpace"
;# V05 OutArgs [V05 ] ( 1, 1 ) lclBlk ( 0) [rsp+0x00] "OutgoingArgSpace"
;* V06 tmp1 [V06 ] ( 0, 0 ) byref -> zero-ref V08._pointer(offs=0x00) P-INDEP "field V00._pointer (fldOffset=0x0)"
;* V06 tmp1 [V06 ] ( 0, 0 ) byref -> zero-ref V08._pointer(offs=0x00) P-INDEP "field V00._pointer (fldOffset=0x0)"
;* V07 tmp2 [V07 ] ( 0, 0 ) int -> zero-ref V08._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)"
;* V07 tmp2 [V07 ] ( 0, 0 ) int -> zero-ref V08._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)"
;* V08 tmp3 [V08 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref"
;* V08 tmp3 [V08 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref"
;
;
; Lcl frame size = 0
; Lcl frame size = 0
G_M1013_IG01: ;; offset=0000H
G_M1013_IG01: ;; offset=0000H
;; bbWeight=1 PerfScore 0.00
;; bbWeight=1 PerfScore 0.00
G_M1013_IG02: ;; offset=0000H
G_M1013_IG02: ;; offset=0000H
410FB7C1 movzx rax, r9w
410FB7C1 movzx rax, r9w
85C0 test eax, eax
85C0 test eax, eax
7505 jne SHORT G_M1013_IG04
7505 jne SHORT G_M1013_IG04
;; bbWeight=1 PerfScore 1.50
;; bbWeight=1 PerfScore 1.50
G_M1013_IG03: ;; offset=0008H
G_M1013_IG03: ;; offset=0008H
E9CBFAFFFF jmp System.Buffers.Text.Utf8Parser:TryParseUInt16D(System.ReadOnlySpan`1[Byte],byref,byref):bool
E9CBFAFFFF jmp System.Buffers.Text.Utf8Parser:TryParseUInt16D(System.ReadOnlySpan`1[Byte],byref,byref):bool
;; bbWeight=0.50 PerfScore 1.00
;; bbWeight=0.50 PerfScore 1.00
G_M1013_IG04: ;; offset=000DH
G_M1013_IG04: ;; offset=000DH
410FB7C1 movzx rax, r9w
410FB7C1 movzx rax, r9w
83C820 or eax, 32
83C820 or eax, 32
83F867 cmp eax, 103
83F867 cmp eax, 103
7F0C jg SHORT G_M1013_IG05
7F0C jg SHORT G_M1013_IG05
83F864 cmp eax, 100
83F864 cmp eax, 100
74EA je SHORT G_M1013_IG03
74EA je SHORT G_M1013_IG03
83F867 cmp eax, 103
83F867 cmp eax, 103
74E5 je SHORT G_M1013_IG03
74E5 je SHORT G_M1013_IG03
EB16 jmp SHORT G_M1013_IG08
EB16 jmp SHORT G_M1013_IG08
;; bbWeight=0.50 PerfScore 3.12
;; bbWeight=0.50 PerfScore 3.12
G_M1013_IG05: ;; offset=0025H
G_M1013_IG05: ;; offset=0025H
83F86E cmp eax, 110
83F86E cmp eax, 110
7407 je SHORT G_M1013_IG06
7407 je SHORT G_M1013_IG06
83F878 cmp eax, 120
83F878 cmp eax, 120
7407 je SHORT G_M1013_IG07
7407 je SHORT G_M1013_IG07
EB0A jmp SHORT G_M1013_IG08
EB0A jmp SHORT G_M1013_IG08
;; bbWeight=0.50 PerfScore 2.25
;; bbWeight=0.50 PerfScore 2.25
G_M1013_IG06: ;; offset=0031H
G_M1013_IG06: ;; offset=0031H
E9C2FAFFFF jmp System.Buffers.Text.Utf8Parser:TryParseUInt16N(System.ReadOnlySpan`1[Byte],byref,byref):bool
E9C2FAFFFF jmp System.Buffers.Text.Utf8Parser:TryParseUInt16N(System.ReadOnlySpan`1[Byte],byref,byref):bool
;; bbWeight=0.50 PerfScore 1.00
;; bbWeight=0.50 PerfScore 1.00
G_M1013_IG07: ;; offset=0036H
G_M1013_IG07: ;; offset=0036H
E9DDFAFFFF jmp System.Buffers.Text.Utf8Parser:TryParseUInt16X(System.ReadOnlySpan`1[Byte],byref,byref):bool
E9DDFAFFFF jmp System.Buffers.Text.Utf8Parser:TryParseUInt16X(System.ReadOnlySpan`1[Byte],byref,byref):bool
;; bbWeight=0.50 PerfScore 1.00
;; bbWeight=0.50 PerfScore 1.00
G_M1013_IG08: ;; offset=003BH
G_M1013_IG08: ;; offset=003BH
E9F0EFFFFF jmp System.Buffers.Text.ParserHelpers:TryParseThrowFormatException(System.ReadOnlySpan`1[Byte],byref,byref):bool
E9F0EFFFFF jmp System.Buffers.Text.ParserHelpers:TryParseThrowFormatException(System.ReadOnlySpan`1[Byte],byref,byref):bool
;; bbWeight=0.50 PerfScore 1.00
;; bbWeight=0.50 PerfScore 1.00
; Total bytes of code 64, prolog size 0, PerfScore 17.28, instruction count 21, allocated bytes for code 64 (MethodHash=8045fc0a) for method System.Buffers.Text.Utf8Parser:TryParse(System.ReadOnlySpan`1[Byte],byref,byref,ushort):bool
; Total bytes of code 64, prolog size 0, PerfScore 17.28, instruction count 21, allocated bytes for code 64 (MethodHash=8045fc0a) for method System.Buffers.Text.Utf8Parser:TryParse(System.ReadOnlySpan`1[Byte],byref,byref,ushort):bool
; ============================================================
; ============================================================
; Assembly listing for method System.Buffers.Text.Utf8Parser:TryParseUInt16D(System.ReadOnlySpan`1[Byte],byref,byref):bool
; Assembly listing for method System.Buffers.Text.Utf8Parser:TryParseUInt16D(System.ReadOnlySpan`1[Byte],byref,byref):bool
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; fully interruptible
; fully interruptible
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T02] ( 4, 8 ) byref -> rcx ld-addr-op
; V00 arg0 [V00,T02] ( 4, 8 ) byref -> rcx ld-addr-op
; V01 arg1 [V01,T06] ( 4, 3 ) byref -> rdx
; V01 arg1 [V01,T06] ( 4, 3 ) byref -> rdx
; V02 arg2 [V02,T07] ( 4, 3 ) byref -> r8
; V02 arg2 [V02,T07] ( 4, 3 ) byref -> r8
; V03 loc0 [V03,T00] ( 26, 27 ) int -> r9
; V03 loc0 [V03,T00] ( 26, 27 ) int -> r9
; V04 loc1 [V04,T01] ( 19, 16.50) int -> r10
; V04 loc1 [V04,T01] ( 19, 16.50) int -> r10
; V05 loc2 [V05,T05] ( 12, 6 ) int -> r11
; V05 loc2 [V05,T05] ( 12, 6 ) int -> r11
;# V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 0) [rsp+0x00] "OutgoingArgSpace"
;# V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 0) [rsp+0x00] "OutgoingArgSpace"
; V07 tmp1 [V07,T08] ( 2, 2 ) int -> rax "Inlining Arg"
; V07 tmp1 [V07,T08] ( 2, 2 ) int -> rax "Inlining Arg"
; V08 tmp2 [V08,T04] ( 8, 8 ) byref -> rax V10._pointer(offs=0x00) P-INDEP "field V00._pointer (fldOffset=0x0)"
; V08 tmp2 [V08,T04] ( 8, 8 ) byref -> rax V10._pointer(offs=0x00) P-INDEP "field V00._pointer (fldOffset=0x0)"
; V09 tmp3 [V09,T03] ( 8, 8.50) int -> rcx V10._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)"
; V09 tmp3 [V09,T03] ( 8, 8.50) int -> rcx V10._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)"
;* V10 tmp4 [V10 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref"
;* V10 tmp4 [V10 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref"
;
;
; Lcl frame size = 0
; Lcl frame size = 0
G_M49819_IG01: ;; offset=0000H
G_M49819_IG01: ;; offset=0000H
56 push rsi
56 push rsi
;; bbWeight=1 PerfScore 1.00
;; bbWeight=1 PerfScore 1.00
G_M49819_IG02: ;; offset=0001H
G_M49819_IG02: ;; offset=0001H
488B01 mov rax, bword ptr [rcx]
488B01 mov rax, bword ptr [rcx]
8B4908 mov ecx, dword ptr [rcx+8]
8B4908 mov ecx, dword ptr [rcx+8]
;; bbWeight=1 PerfScore 4.00
;; bbWeight=1 PerfScore 4.00
G_M49819_IG03: ;; offset=0007H
G_M49819_IG03: ;; offset=0007H
85C9 test ecx, ecx
85C9 test ecx, ecx
Copiar
Copiado
Copiar
Copiado
0F8E
FC
000
000 jle G_M49819_IG08
0F8E
000
10
000 jle G_M49819_IG08
;; bbWeight=1 PerfScore 1.25
;; bbWeight=1 PerfScore 1.25
G_M49819_IG04: ;; offset=000FH
G_M49819_IG04: ;; offset=000FH
4533C9 xor r9d, r9d
4533C9 xor r9d, r9d
440FB610 movzx r10, byte ptr [rax]
440FB610 movzx r10, byte ptr [rax]
4533DB xor r11d, r11d
4533DB xor r11d, r11d
418D72D0 lea esi, [r10-48]
418D72D0 lea esi, [r10-48]
83FE09 cmp esi, 9
83FE09 cmp esi, 9
Copiar
Copiado
Copiar
Copiado
0F87E
5
000000 ja G_M49819_IG08
0F87E
9
000000 ja G_M49819_IG08
4183FA30 cmp r10d, 48
4183FA30 cmp r10d, 48
Copiar
Copiado
Copiar
Copiado
752
7
jne SHORT G_M49819_IG07
752
B
jne SHORT G_M49819_IG07
;; bbWeight=0.50 PerfScore 2.
75
0F1F4000 align
G_M49819_IG05: ;; offset=
002CH
;; bbWeight=0.50 PerfScore 2.
88
G_M49819_IG05: ;; offset=
0030H
41FFC1 inc r9d
41FFC1 inc r9d
443BC9 cmp r9d, ecx
443BC9 cmp r9d, ecx
0F83DF000000 jae G_M49819_IG10
0F83DF000000 jae G_M49819_IG10
4D63D1 movsxd r10, r9d
4D63D1 movsxd r10, r9d
460FB61410 movzx r10, byte ptr [rax+r10]
460FB61410 movzx r10, byte ptr [rax+r10]
4183FA30 cmp r10d, 48
4183FA30 cmp r10d, 48
74E6 je SHORT G_M49819_IG05
74E6 je SHORT G_M49819_IG05
;; bbWeight=4 PerfScore 20.00
;; bbWeight=4 PerfScore 20.00
Copiar
Copiado
Copiar
Copiado
G_M49819_IG06: ;; offset=004
6
H
G_M49819_IG06: ;; offset=004
A
H
418D72D0 lea esi, [r10-48]
418D72D0 lea esi, [r10-48]
83FE09 cmp esi, 9
83FE09 cmp esi, 9
0F87C4000000 ja G_M49819_IG10
0F87C4000000 ja G_M49819_IG10
;; bbWeight=0.50 PerfScore 0.88
;; bbWeight=0.50 PerfScore 0.88
Copiar
Copiado
Copiar
Copiado
G_M49819_IG07: ;; offset=005
3
H
G_M49819_IG07: ;; offset=005
7
H
458D5AD0 lea r11d, [r10-48]
458D5AD0 lea r11d, [r10-48]
41FFC1 inc r9d
41FFC1 inc r9d
443BC9 cmp r9d, ecx
443BC9 cmp r9d, ecx
0F83B4000000 jae G_M49819_IG10
0F83B4000000 jae G_M49819_IG10
4D63D1 movsxd r10, r9d
4D63D1 movsxd r10, r9d
460FB61410 movzx r10, byte ptr [rax+r10]
460FB61410 movzx r10, byte ptr [rax+r10]
418D72D0 lea esi, [r10-48]
418D72D0 lea esi, [r10-48]
83FE09 cmp esi, 9
83FE09 cmp esi, 9
0F879F000000 ja G_M49819_IG10
0F879F000000 ja G_M49819_IG10
41FFC1 inc r9d
41FFC1 inc r9d
478D1C9B lea r11d, [r11+4*r11]
478D1C9B lea r11d, [r11+4*r11]
478D5C5AD0 lea r11d, [r10+2*r11-48]
478D5C5AD0 lea r11d, [r10+2*r11-48]
443BC9 cmp r9d, ecx
443BC9 cmp r9d, ecx
0F838A000000 jae G_M49819_IG10
0F838A000000 jae G_M49819_IG10
4D63D1 movsxd r10, r9d
4D63D1 movsxd r10, r9d
460FB61410 movzx r10, byte ptr [rax+r10]
460FB61410 movzx r10, byte ptr [rax+r10]
418D72D0 lea esi, [r10-48]
418D72D0 lea esi, [r10-48]
83FE09 cmp esi, 9
83FE09 cmp esi, 9
7779 ja SHORT G_M49819_IG10
7779 ja SHORT G_M49819_IG10
41FFC1 inc r9d
41FFC1 inc r9d
478D1C9B lea r11d, [r11+4*r11]
478D1C9B lea r11d, [r11+4*r11]
478D5C5AD0 lea r11d, [r10+2*r11-48]
478D5C5AD0 lea r11d, [r10+2*r11-48]
443BC9 cmp r9d, ecx
443BC9 cmp r9d, ecx
7368 jae SHORT G_M49819_IG10
7368 jae SHORT G_M49819_IG10
4D63D1 movsxd r10, r9d
4D63D1 movsxd r10, r9d
460FB61410 movzx r10, byte ptr [rax+r10]
460FB61410 movzx r10, byte ptr [rax+r10]
418D72D0 lea esi, [r10-48]
418D72D0 lea esi, [r10-48]
83FE09 cmp esi, 9
83FE09 cmp esi, 9
7757 ja SHORT G_M49819_IG10
7757 ja SHORT G_M49819_IG10
41FFC1 inc r9d
41FFC1 inc r9d
478D1C9B lea r11d, [r11+4*r11]
478D1C9B lea r11d, [r11+4*r11]
478D5C5AD0 lea r11d, [r10+2*r11-48]
478D5C5AD0 lea r11d, [r10+2*r11-48]
443BC9 cmp r9d, ecx
443BC9 cmp r9d, ecx
7346 jae SHORT G_M49819_IG10
7346 jae SHORT G_M49819_IG10
4D63D1 movsxd r10, r9d
4D63D1 movsxd r10, r9d
460FB61410 movzx r10, byte ptr [rax+r10]
460FB61410 movzx r10, byte ptr [rax+r10]
418D72D0 lea esi, [r10-48]
418D72D0 lea esi, [r10-48]
83FE09 cmp esi, 9
83FE09 cmp esi, 9
7735 ja SHORT G_M49819_IG10
7735 ja SHORT G_M49819_IG10
41FFC1 inc r9d
41FFC1 inc r9d
478D1C9B lea r11d, [r11+4*r11]
478D1C9B lea r11d, [r11+4*r11]
478D5C5AD0 lea r11d, [r10+2*r11-48]
478D5C5AD0 lea r11d, [r10+2*r11-48]
4181FBFFFF0000 cmp r11d, 0xFFFF
4181FBFFFF0000 cmp r11d, 0xFFFF
7714 ja SHORT G_M49819_IG08
7714 ja SHORT G_M49819_IG08
443BC9 cmp r9d, ecx
443BC9 cmp r9d, ecx
731B jae SHORT G_M49819_IG10
731B jae SHORT G_M49819_IG10
4963C9 movsxd rcx, r9d
4963C9 movsxd rcx, r9d
0FB60408 movzx rax, byte ptr [rax+rcx]
0FB60408 movzx rax, byte ptr [rax+rcx]
83C0D0 add eax, -48
83C0D0 add eax, -48
83F809 cmp eax, 9
83F809 cmp eax, 9
770C ja SHORT G_M49819_IG10
770C ja SHORT G_M49819_IG10
;; bbWeight=0.50 PerfScore 17.50
;; bbWeight=0.50 PerfScore 17.50
Copiar
Copiado
Copiar
Copiado
G_M49819_IG08: ;; offset=010
B
H
G_M49819_IG08: ;; offset=010
F
H
33C0 xor eax, eax
33C0 xor eax, eax
418900 mov dword ptr [r8], eax
418900 mov dword ptr [r8], eax
66C7020000 mov word ptr [rdx], 0
66C7020000 mov word ptr [rdx], 0
;; bbWeight=0.50 PerfScore 1.12
;; bbWeight=0.50 PerfScore 1.12
Copiar
Copiado
Copiar
Copiado
G_M49819_IG09: ;; offset=011
5
H
G_M49819_IG09: ;; offset=011
9
H
5E pop rsi
5E pop rsi
C3 ret
C3 ret
;; bbWeight=0.50 PerfScore 0.75
;; bbWeight=0.50 PerfScore 0.75
Copiar
Copiado
Copiar
Copiado
G_M49819_IG10: ;; offset=011
7
H
G_M49819_IG10: ;; offset=011
B
H
458908 mov dword ptr [r8], r9d
458908 mov dword ptr [r8], r9d
6644891A mov word ptr [rdx], r11w
6644891A mov word ptr [rdx], r11w
B801000000 mov eax, 1
B801000000 mov eax, 1
;; bbWeight=0.50 PerfScore 1.12
;; bbWeight=0.50 PerfScore 1.12
Copiar
Copiado
Copiar
Copiado
G_M49819_IG11: ;; offset=012
3
H
G_M49819_IG11: ;; offset=012
7
H
5E pop rsi
5E pop rsi
C3 ret
C3 ret
;; bbWeight=0.50 PerfScore 0.75
;; bbWeight=0.50 PerfScore 0.75
Copiar
Copiado
Copiar
Copiado
; Total bytes of code 29
3
, prolog size 1, PerfScore 80.
43
, instruction count
84
, allocated bytes for code 29
3
(MethodHash=1aab3d64) for method System.Buffers.Text.Utf8Parser:TryParseUInt16D(System.ReadOnlySpan`1[Byte],byref,byref):bool
; Total bytes of code 29
7
, prolog size 1, PerfScore 80.
95
, instruction count
85
, allocated bytes for code 29
7
(MethodHash=1aab3d64) for method System.Buffers.Text.Utf8Parser:TryParseUInt16D(System.ReadOnlySpan`1[Byte],byref,byref):bool
; ============================================================
; ============================================================
Diferencias guardadas
Texto original
Abrir archivo
; Assembly listing for method System.Buffers.Text.Utf8Parser:TryParse(System.ReadOnlySpan`1[Byte],byref,byref,ushort):bool ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; fully interruptible ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 6, 8 ) byref -> rcx ; V01 arg1 [V01,T01] ( 6, 4 ) byref -> rdx ; V02 arg2 [V02,T02] ( 6, 4 ) byref -> r8 ; V03 arg3 [V03,T03] ( 4, 3.50) ushort -> r9 ; V04 loc0 [V04,T04] ( 6, 3 ) int -> rax ;# V05 OutArgs [V05 ] ( 1, 1 ) lclBlk ( 0) [rsp+0x00] "OutgoingArgSpace" ;* V06 tmp1 [V06 ] ( 0, 0 ) byref -> zero-ref V08._pointer(offs=0x00) P-INDEP "field V00._pointer (fldOffset=0x0)" ;* V07 tmp2 [V07 ] ( 0, 0 ) int -> zero-ref V08._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)" ;* V08 tmp3 [V08 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref" ; ; Lcl frame size = 0 G_M1013_IG01: ;; offset=0000H ;; bbWeight=1 PerfScore 0.00 G_M1013_IG02: ;; offset=0000H 410FB7C1 movzx rax, r9w 85C0 test eax, eax 7505 jne SHORT G_M1013_IG04 ;; bbWeight=1 PerfScore 1.50 G_M1013_IG03: ;; offset=0008H E9CBFAFFFF jmp System.Buffers.Text.Utf8Parser:TryParseUInt16D(System.ReadOnlySpan`1[Byte],byref,byref):bool ;; bbWeight=0.50 PerfScore 1.00 G_M1013_IG04: ;; offset=000DH 410FB7C1 movzx rax, r9w 83C820 or eax, 32 83F867 cmp eax, 103 7F0C jg SHORT G_M1013_IG05 83F864 cmp eax, 100 74EA je SHORT G_M1013_IG03 83F867 cmp eax, 103 74E5 je SHORT G_M1013_IG03 EB16 jmp SHORT G_M1013_IG08 ;; bbWeight=0.50 PerfScore 3.12 G_M1013_IG05: ;; offset=0025H 83F86E cmp eax, 110 7407 je SHORT G_M1013_IG06 83F878 cmp eax, 120 7407 je SHORT G_M1013_IG07 EB0A jmp SHORT G_M1013_IG08 ;; bbWeight=0.50 PerfScore 2.25 G_M1013_IG06: ;; offset=0031H E9C2FAFFFF jmp System.Buffers.Text.Utf8Parser:TryParseUInt16N(System.ReadOnlySpan`1[Byte],byref,byref):bool ;; bbWeight=0.50 PerfScore 1.00 G_M1013_IG07: ;; offset=0036H E9DDFAFFFF jmp System.Buffers.Text.Utf8Parser:TryParseUInt16X(System.ReadOnlySpan`1[Byte],byref,byref):bool ;; bbWeight=0.50 PerfScore 1.00 G_M1013_IG08: ;; offset=003BH E9F0EFFFFF jmp System.Buffers.Text.ParserHelpers:TryParseThrowFormatException(System.ReadOnlySpan`1[Byte],byref,byref):bool ;; bbWeight=0.50 PerfScore 1.00 ; Total bytes of code 64, prolog size 0, PerfScore 17.28, instruction count 21, allocated bytes for code 64 (MethodHash=8045fc0a) for method System.Buffers.Text.Utf8Parser:TryParse(System.ReadOnlySpan`1[Byte],byref,byref,ushort):bool ; ============================================================ ; Assembly listing for method System.Buffers.Text.Utf8Parser:TryParseUInt16D(System.ReadOnlySpan`1[Byte],byref,byref):bool ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; fully interruptible ; Final local variable assignments ; ; V00 arg0 [V00,T02] ( 4, 8 ) byref -> rcx ld-addr-op ; V01 arg1 [V01,T06] ( 4, 3 ) byref -> rdx ; V02 arg2 [V02,T07] ( 4, 3 ) byref -> r8 ; V03 loc0 [V03,T00] ( 26, 27 ) int -> r9 ; V04 loc1 [V04,T01] ( 19, 16.50) int -> r10 ; V05 loc2 [V05,T05] ( 12, 6 ) int -> r11 ;# V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 0) [rsp+0x00] "OutgoingArgSpace" ; V07 tmp1 [V07,T08] ( 2, 2 ) int -> rax "Inlining Arg" ; V08 tmp2 [V08,T04] ( 8, 8 ) byref -> rax V10._pointer(offs=0x00) P-INDEP "field V00._pointer (fldOffset=0x0)" ; V09 tmp3 [V09,T03] ( 8, 8.50) int -> rcx V10._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)" ;* V10 tmp4 [V10 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref" ; ; Lcl frame size = 0 G_M49819_IG01: ;; offset=0000H 56 push rsi ;; bbWeight=1 PerfScore 1.00 G_M49819_IG02: ;; offset=0001H 488B01 mov rax, bword ptr [rcx] 8B4908 mov ecx, dword ptr [rcx+8] ;; bbWeight=1 PerfScore 4.00 G_M49819_IG03: ;; offset=0007H 85C9 test ecx, ecx 0F8EFC000000 jle G_M49819_IG08 ;; bbWeight=1 PerfScore 1.25 G_M49819_IG04: ;; offset=000FH 4533C9 xor r9d, r9d 440FB610 movzx r10, byte ptr [rax] 4533DB xor r11d, r11d 418D72D0 lea esi, [r10-48] 83FE09 cmp esi, 9 0F87E5000000 ja G_M49819_IG08 4183FA30 cmp r10d, 48 7527 jne SHORT G_M49819_IG07 ;; bbWeight=0.50 PerfScore 2.75 G_M49819_IG05: ;; offset=002CH 41FFC1 inc r9d 443BC9 cmp r9d, ecx 0F83DF000000 jae G_M49819_IG10 4D63D1 movsxd r10, r9d 460FB61410 movzx r10, byte ptr [rax+r10] 4183FA30 cmp r10d, 48 74E6 je SHORT G_M49819_IG05 ;; bbWeight=4 PerfScore 20.00 G_M49819_IG06: ;; offset=0046H 418D72D0 lea esi, [r10-48] 83FE09 cmp esi, 9 0F87C4000000 ja G_M49819_IG10 ;; bbWeight=0.50 PerfScore 0.88 G_M49819_IG07: ;; offset=0053H 458D5AD0 lea r11d, [r10-48] 41FFC1 inc r9d 443BC9 cmp r9d, ecx 0F83B4000000 jae G_M49819_IG10 4D63D1 movsxd r10, r9d 460FB61410 movzx r10, byte ptr [rax+r10] 418D72D0 lea esi, [r10-48] 83FE09 cmp esi, 9 0F879F000000 ja G_M49819_IG10 41FFC1 inc r9d 478D1C9B lea r11d, [r11+4*r11] 478D5C5AD0 lea r11d, [r10+2*r11-48] 443BC9 cmp r9d, ecx 0F838A000000 jae G_M49819_IG10 4D63D1 movsxd r10, r9d 460FB61410 movzx r10, byte ptr [rax+r10] 418D72D0 lea esi, [r10-48] 83FE09 cmp esi, 9 7779 ja SHORT G_M49819_IG10 41FFC1 inc r9d 478D1C9B lea r11d, [r11+4*r11] 478D5C5AD0 lea r11d, [r10+2*r11-48] 443BC9 cmp r9d, ecx 7368 jae SHORT G_M49819_IG10 4D63D1 movsxd r10, r9d 460FB61410 movzx r10, byte ptr [rax+r10] 418D72D0 lea esi, [r10-48] 83FE09 cmp esi, 9 7757 ja SHORT G_M49819_IG10 41FFC1 inc r9d 478D1C9B lea r11d, [r11+4*r11] 478D5C5AD0 lea r11d, [r10+2*r11-48] 443BC9 cmp r9d, ecx 7346 jae SHORT G_M49819_IG10 4D63D1 movsxd r10, r9d 460FB61410 movzx r10, byte ptr [rax+r10] 418D72D0 lea esi, [r10-48] 83FE09 cmp esi, 9 7735 ja SHORT G_M49819_IG10 41FFC1 inc r9d 478D1C9B lea r11d, [r11+4*r11] 478D5C5AD0 lea r11d, [r10+2*r11-48] 4181FBFFFF0000 cmp r11d, 0xFFFF 7714 ja SHORT G_M49819_IG08 443BC9 cmp r9d, ecx 731B jae SHORT G_M49819_IG10 4963C9 movsxd rcx, r9d 0FB60408 movzx rax, byte ptr [rax+rcx] 83C0D0 add eax, -48 83F809 cmp eax, 9 770C ja SHORT G_M49819_IG10 ;; bbWeight=0.50 PerfScore 17.50 G_M49819_IG08: ;; offset=010BH 33C0 xor eax, eax 418900 mov dword ptr [r8], eax 66C7020000 mov word ptr [rdx], 0 ;; bbWeight=0.50 PerfScore 1.12 G_M49819_IG09: ;; offset=0115H 5E pop rsi C3 ret ;; bbWeight=0.50 PerfScore 0.75 G_M49819_IG10: ;; offset=0117H 458908 mov dword ptr [r8], r9d 6644891A mov word ptr [rdx], r11w B801000000 mov eax, 1 ;; bbWeight=0.50 PerfScore 1.12 G_M49819_IG11: ;; offset=0123H 5E pop rsi C3 ret ;; bbWeight=0.50 PerfScore 0.75 ; Total bytes of code 293, prolog size 1, PerfScore 80.43, instruction count 84, allocated bytes for code 293 (MethodHash=1aab3d64) for method System.Buffers.Text.Utf8Parser:TryParseUInt16D(System.ReadOnlySpan`1[Byte],byref,byref):bool ; ============================================================
Texto modificado
Abrir archivo
; Assembly listing for method System.Buffers.Text.Utf8Parser:TryParse(System.ReadOnlySpan`1[Byte],byref,byref,ushort):bool ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; fully interruptible ; Final local variable assignments ; ; V00 arg0 [V00,T00] ( 6, 8 ) byref -> rcx ; V01 arg1 [V01,T01] ( 6, 4 ) byref -> rdx ; V02 arg2 [V02,T02] ( 6, 4 ) byref -> r8 ; V03 arg3 [V03,T03] ( 4, 3.50) ushort -> r9 ; V04 loc0 [V04,T04] ( 6, 3 ) int -> rax ;# V05 OutArgs [V05 ] ( 1, 1 ) lclBlk ( 0) [rsp+0x00] "OutgoingArgSpace" ;* V06 tmp1 [V06 ] ( 0, 0 ) byref -> zero-ref V08._pointer(offs=0x00) P-INDEP "field V00._pointer (fldOffset=0x0)" ;* V07 tmp2 [V07 ] ( 0, 0 ) int -> zero-ref V08._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)" ;* V08 tmp3 [V08 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref" ; ; Lcl frame size = 0 G_M1013_IG01: ;; offset=0000H ;; bbWeight=1 PerfScore 0.00 G_M1013_IG02: ;; offset=0000H 410FB7C1 movzx rax, r9w 85C0 test eax, eax 7505 jne SHORT G_M1013_IG04 ;; bbWeight=1 PerfScore 1.50 G_M1013_IG03: ;; offset=0008H E9CBFAFFFF jmp System.Buffers.Text.Utf8Parser:TryParseUInt16D(System.ReadOnlySpan`1[Byte],byref,byref):bool ;; bbWeight=0.50 PerfScore 1.00 G_M1013_IG04: ;; offset=000DH 410FB7C1 movzx rax, r9w 83C820 or eax, 32 83F867 cmp eax, 103 7F0C jg SHORT G_M1013_IG05 83F864 cmp eax, 100 74EA je SHORT G_M1013_IG03 83F867 cmp eax, 103 74E5 je SHORT G_M1013_IG03 EB16 jmp SHORT G_M1013_IG08 ;; bbWeight=0.50 PerfScore 3.12 G_M1013_IG05: ;; offset=0025H 83F86E cmp eax, 110 7407 je SHORT G_M1013_IG06 83F878 cmp eax, 120 7407 je SHORT G_M1013_IG07 EB0A jmp SHORT G_M1013_IG08 ;; bbWeight=0.50 PerfScore 2.25 G_M1013_IG06: ;; offset=0031H E9C2FAFFFF jmp System.Buffers.Text.Utf8Parser:TryParseUInt16N(System.ReadOnlySpan`1[Byte],byref,byref):bool ;; bbWeight=0.50 PerfScore 1.00 G_M1013_IG07: ;; offset=0036H E9DDFAFFFF jmp System.Buffers.Text.Utf8Parser:TryParseUInt16X(System.ReadOnlySpan`1[Byte],byref,byref):bool ;; bbWeight=0.50 PerfScore 1.00 G_M1013_IG08: ;; offset=003BH E9F0EFFFFF jmp System.Buffers.Text.ParserHelpers:TryParseThrowFormatException(System.ReadOnlySpan`1[Byte],byref,byref):bool ;; bbWeight=0.50 PerfScore 1.00 ; Total bytes of code 64, prolog size 0, PerfScore 17.28, instruction count 21, allocated bytes for code 64 (MethodHash=8045fc0a) for method System.Buffers.Text.Utf8Parser:TryParse(System.ReadOnlySpan`1[Byte],byref,byref,ushort):bool ; ============================================================ ; Assembly listing for method System.Buffers.Text.Utf8Parser:TryParseUInt16D(System.ReadOnlySpan`1[Byte],byref,byref):bool ; Emitting BLENDED_CODE for X64 CPU with AVX - Windows ; optimized code ; rsp based frame ; fully interruptible ; Final local variable assignments ; ; V00 arg0 [V00,T02] ( 4, 8 ) byref -> rcx ld-addr-op ; V01 arg1 [V01,T06] ( 4, 3 ) byref -> rdx ; V02 arg2 [V02,T07] ( 4, 3 ) byref -> r8 ; V03 loc0 [V03,T00] ( 26, 27 ) int -> r9 ; V04 loc1 [V04,T01] ( 19, 16.50) int -> r10 ; V05 loc2 [V05,T05] ( 12, 6 ) int -> r11 ;# V06 OutArgs [V06 ] ( 1, 1 ) lclBlk ( 0) [rsp+0x00] "OutgoingArgSpace" ; V07 tmp1 [V07,T08] ( 2, 2 ) int -> rax "Inlining Arg" ; V08 tmp2 [V08,T04] ( 8, 8 ) byref -> rax V10._pointer(offs=0x00) P-INDEP "field V00._pointer (fldOffset=0x0)" ; V09 tmp3 [V09,T03] ( 8, 8.50) int -> rcx V10._length(offs=0x08) P-INDEP "field V00._length (fldOffset=0x8)" ;* V10 tmp4 [V10 ] ( 0, 0 ) struct (16) zero-ref "Promoted implicit byref" ; ; Lcl frame size = 0 G_M49819_IG01: ;; offset=0000H 56 push rsi ;; bbWeight=1 PerfScore 1.00 G_M49819_IG02: ;; offset=0001H 488B01 mov rax, bword ptr [rcx] 8B4908 mov ecx, dword ptr [rcx+8] ;; bbWeight=1 PerfScore 4.00 G_M49819_IG03: ;; offset=0007H 85C9 test ecx, ecx 0F8E00010000 jle G_M49819_IG08 ;; bbWeight=1 PerfScore 1.25 G_M49819_IG04: ;; offset=000FH 4533C9 xor r9d, r9d 440FB610 movzx r10, byte ptr [rax] 4533DB xor r11d, r11d 418D72D0 lea esi, [r10-48] 83FE09 cmp esi, 9 0F87E9000000 ja G_M49819_IG08 4183FA30 cmp r10d, 48 752B jne SHORT G_M49819_IG07 0F1F4000 align ;; bbWeight=0.50 PerfScore 2.88 G_M49819_IG05: ;; offset=0030H 41FFC1 inc r9d 443BC9 cmp r9d, ecx 0F83DF000000 jae G_M49819_IG10 4D63D1 movsxd r10, r9d 460FB61410 movzx r10, byte ptr [rax+r10] 4183FA30 cmp r10d, 48 74E6 je SHORT G_M49819_IG05 ;; bbWeight=4 PerfScore 20.00 G_M49819_IG06: ;; offset=004AH 418D72D0 lea esi, [r10-48] 83FE09 cmp esi, 9 0F87C4000000 ja G_M49819_IG10 ;; bbWeight=0.50 PerfScore 0.88 G_M49819_IG07: ;; offset=0057H 458D5AD0 lea r11d, [r10-48] 41FFC1 inc r9d 443BC9 cmp r9d, ecx 0F83B4000000 jae G_M49819_IG10 4D63D1 movsxd r10, r9d 460FB61410 movzx r10, byte ptr [rax+r10] 418D72D0 lea esi, [r10-48] 83FE09 cmp esi, 9 0F879F000000 ja G_M49819_IG10 41FFC1 inc r9d 478D1C9B lea r11d, [r11+4*r11] 478D5C5AD0 lea r11d, [r10+2*r11-48] 443BC9 cmp r9d, ecx 0F838A000000 jae G_M49819_IG10 4D63D1 movsxd r10, r9d 460FB61410 movzx r10, byte ptr [rax+r10] 418D72D0 lea esi, [r10-48] 83FE09 cmp esi, 9 7779 ja SHORT G_M49819_IG10 41FFC1 inc r9d 478D1C9B lea r11d, [r11+4*r11] 478D5C5AD0 lea r11d, [r10+2*r11-48] 443BC9 cmp r9d, ecx 7368 jae SHORT G_M49819_IG10 4D63D1 movsxd r10, r9d 460FB61410 movzx r10, byte ptr [rax+r10] 418D72D0 lea esi, [r10-48] 83FE09 cmp esi, 9 7757 ja SHORT G_M49819_IG10 41FFC1 inc r9d 478D1C9B lea r11d, [r11+4*r11] 478D5C5AD0 lea r11d, [r10+2*r11-48] 443BC9 cmp r9d, ecx 7346 jae SHORT G_M49819_IG10 4D63D1 movsxd r10, r9d 460FB61410 movzx r10, byte ptr [rax+r10] 418D72D0 lea esi, [r10-48] 83FE09 cmp esi, 9 7735 ja SHORT G_M49819_IG10 41FFC1 inc r9d 478D1C9B lea r11d, [r11+4*r11] 478D5C5AD0 lea r11d, [r10+2*r11-48] 4181FBFFFF0000 cmp r11d, 0xFFFF 7714 ja SHORT G_M49819_IG08 443BC9 cmp r9d, ecx 731B jae SHORT G_M49819_IG10 4963C9 movsxd rcx, r9d 0FB60408 movzx rax, byte ptr [rax+rcx] 83C0D0 add eax, -48 83F809 cmp eax, 9 770C ja SHORT G_M49819_IG10 ;; bbWeight=0.50 PerfScore 17.50 G_M49819_IG08: ;; offset=010FH 33C0 xor eax, eax 418900 mov dword ptr [r8], eax 66C7020000 mov word ptr [rdx], 0 ;; bbWeight=0.50 PerfScore 1.12 G_M49819_IG09: ;; offset=0119H 5E pop rsi C3 ret ;; bbWeight=0.50 PerfScore 0.75 G_M49819_IG10: ;; offset=011BH 458908 mov dword ptr [r8], r9d 6644891A mov word ptr [rdx], r11w B801000000 mov eax, 1 ;; bbWeight=0.50 PerfScore 1.12 G_M49819_IG11: ;; offset=0127H 5E pop rsi C3 ret ;; bbWeight=0.50 PerfScore 0.75 ; Total bytes of code 297, prolog size 1, PerfScore 80.95, instruction count 85, allocated bytes for code 297 (MethodHash=1aab3d64) for method System.Buffers.Text.Utf8Parser:TryParseUInt16D(System.ReadOnlySpan`1[Byte],byref,byref):bool ; ============================================================
Encontrar la diferencia