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
Untitled Diff
Creado
hace 5 años
El diff nunca expira
Borrar
Exportar
Compartir
Explicar
85 eliminaciones
Líneas
Total
Eliminado
Caracteres
Total
Eliminado
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
529 líneas
Copiar todo
53 adiciones
Líneas
Total
Añadido
Caracteres
Total
Añadido
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
523 líneas
Copiar todo
; Assembly listing for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this
; Assembly listing for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this
; Emitting BLENDED_CODE for X64 CPU with AVX - Unix
; Emitting BLENDED_CODE for X64 CPU with AVX - Unix
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; partially interruptible
; partially interruptible
; No matching PGO data
; No matching PGO data
; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data
; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def
;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def
; V01 loc0 [V01,T22] ( 4, 4 ) ref -> rbx class-hnd single-def
; V01 loc0 [V01,T22] ( 4, 4 ) ref -> rbx class-hnd single-def
;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def
;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def
; V03 loc2 [V03 ] ( 5, 5 ) simd16 -> [rbp-40H] do-not-enreg[XSB] addr-exposed ld-addr-op single-def
; V03 loc2 [V03 ] ( 5, 5 ) simd16 -> [rbp-40H] do-not-enreg[XSB] addr-exposed ld-addr-op single-def
; V04 loc3 [V04,T35] ( 2, 2 ) ref -> r15 class-hnd single-def
; V04 loc3 [V04,T35] ( 2, 2 ) ref -> r15 class-hnd single-def
; V05 loc4 [V05,T36] ( 2, 2 ) ref -> rdi class-hnd single-def
; V05 loc4 [V05,T36] ( 2, 2 ) ref -> rdi class-hnd single-def
; V06 loc5 [V06,T37] ( 2, 2 ) ref -> r12 class-hnd single-def
; V06 loc5 [V06,T37] ( 2, 2 ) ref -> r12 class-hnd single-def
; V07 loc6 [V07,T38] ( 2, 2 ) ref -> rdi class-hnd single-def
; V07 loc6 [V07,T38] ( 2, 2 ) ref -> rdi class-hnd single-def
; V08 loc7 [V08,T39] ( 2, 2 ) ref -> r12 class-hnd single-def
; V08 loc7 [V08,T39] ( 2, 2 ) ref -> r12 class-hnd single-def
; V09 loc8 [V09,T40] ( 2, 2 ) ref -> rdi class-hnd single-def
; V09 loc8 [V09,T40] ( 2, 2 ) ref -> rdi class-hnd single-def
; V10 loc9 [V10,T41] ( 2, 2 ) ref -> r14 class-hnd single-def
; V10 loc9 [V10,T41] ( 2, 2 ) ref -> r14 class-hnd single-def
; V11 loc10 [V11,T42] ( 2, 2 ) ref -> rdi class-hnd single-def
; V11 loc10 [V11,T42] ( 2, 2 ) ref -> rdi class-hnd single-def
;# V12 OutArgs [V12 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
;# V12 OutArgs [V12 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace"
; V13 tmp1 [V13,T04] ( 5, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp"
; V13 tmp1 [V13,T04] ( 5, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp"
; V14 tmp2 [V14,T00] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill"
; V14 tmp2 [V14,T00] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill"
; V15 tmp3 [V15,T25] ( 2, 4 ) ref -> r12 class-hnd single-def "impAppendStmt"
; V15 tmp3 [V15,T25] ( 2, 4 ) ref -> r12 class-hnd single-def "impAppendStmt"
; V16 tmp4 [V16,T05] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V16 tmp4 [V16,T05] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V17 tmp5 [V17,T06] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V17 tmp5 [V17,T06] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V18 tmp6 [V18,T07] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V18 tmp6 [V18,T07] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V19 tmp7 [V19,T08] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V19 tmp7 [V19,T08] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
Copiar
Copiado
Copiar
Copiado
; V20 tmp8 [V20,T01] ( 7, 14 ) ref -> [rbp-
5
8H] class-hnd exact spill-single-def "dup spill"
; V20 tmp8 [V20,T01] ( 7, 14 ) ref -> [rbp-
4
8H] class-hnd exact spill-single-def "dup spill"
; V21 tmp9 [V21,T26] ( 2, 4 ) ref -> r13 class-hnd single-def "impAppendStmt"
; V21 tmp9 [V21,T26] ( 2, 4 ) ref -> r13 class-hnd single-def "impAppendStmt"
; V22 tmp10 [V22,T09] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V22 tmp10 [V22,T09] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V23 tmp11 [V23,T10] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V23 tmp11 [V23,T10] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V24 tmp12 [V24,T11] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V24 tmp12 [V24,T11] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V25 tmp13 [V25,T12] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V25 tmp13 [V25,T12] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V26 tmp14 [V26,T02] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill"
; V26 tmp14 [V26,T02] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill"
; V27 tmp15 [V27,T27] ( 2, 4 ) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store"
; V27 tmp15 [V27,T27] ( 2, 4 ) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store"
; V28 tmp16 [V28,T13] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V28 tmp16 [V28,T13] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V29 tmp17 [V29,T14] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V29 tmp17 [V29,T14] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V30 tmp18 [V30,T15] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V30 tmp18 [V30,T15] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V31 tmp19 [V31,T16] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V31 tmp19 [V31,T16] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V32 tmp20 [V32,T03] ( 7, 14 ) ref -> r12 class-hnd exact single-def "dup spill"
; V32 tmp20 [V32,T03] ( 7, 14 ) ref -> r12 class-hnd exact single-def "dup spill"
; V33 tmp21 [V33,T28] ( 2, 4 ) ref -> r15 class-hnd single-def "impAppendStmt"
; V33 tmp21 [V33,T28] ( 2, 4 ) ref -> r15 class-hnd single-def "impAppendStmt"
; V34 tmp22 [V34,T17] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V34 tmp22 [V34,T17] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V35 tmp23 [V35,T18] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V35 tmp23 [V35,T18] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V36 tmp24 [V36,T19] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V36 tmp24 [V36,T19] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V37 tmp25 [V37,T20] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V37 tmp25 [V37,T20] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper"
; V38 tmp26 [V38,T29] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg"
; V38 tmp26 [V38,T29] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg"
; V39 tmp27 [V39,T30] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg"
; V39 tmp27 [V39,T30] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg"
; V40 tmp28 [V40,T21] ( 3, 6 ) ref -> rax single-def "argument with side effect"
; V40 tmp28 [V40,T21] ( 3, 6 ) ref -> rax single-def "argument with side effect"
; V41 tmp29 [V41,T31] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V41 tmp29 [V41,T31] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V42 tmp30 [V42,T32] ( 2, 4 ) ref -> r12 single-def "argument with side effect"
; V42 tmp30 [V42,T32] ( 2, 4 ) ref -> r12 single-def "argument with side effect"
; V43 tmp31 [V43,T33] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V43 tmp31 [V43,T33] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
; V44 tmp32 [V44,T34] ( 2, 4 ) ref -> r15 single-def "argument with side effect"
; V44 tmp32 [V44,T34] ( 2, 4 ) ref -> r15 single-def "argument with side effect"
; V45 cse0 [V45,T23] ( 4, 4 ) ref -> r15 "CSE - moderate"
; V45 cse0 [V45,T23] ( 4, 4 ) ref -> r15 "CSE - moderate"
Copiar
Copiado
Copiar
Copiado
; V46 cse1 [V46,T24] ( 4, 4 ) ref ->
[rbp-60H] spill-single-def "CSE - moderate"
; V46 cse1 [V46,T24] ( 4, 4 ) ref ->
[rbp-50H] spill-single-def "CSE - moderate"
; V47 cse2 [V47,T43] ( 5, 5 ) double -> [rbp-48H] spill-single-def "CSE - moderate"
; V48 cse3 [V48,T44] ( 5, 5 ) double ->
[rbp-50H] spill-single-def "CSE - moderate"
;
;
Copiar
Copiado
Copiar
Copiado
; Lcl frame size =
56
; Lcl frame size =
40
G_M22870_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
G_M22870_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
push rbp
push rbp
push r15
push r15
push r14
push r14
push r13
push r13
push r12
push r12
push rbx
push rbx
Copiar
Copiado
Copiar
Copiado
sub rsp,
56
sub rsp,
40
vzeroupper
vzeroupper
Copiar
Copiado
Copiar
Copiado
lea rbp, [rsp+
6
0H]
lea rbp, [rsp+
5
0H]
;; bbWeight=1 PerfScore 7.75
;; bbWeight=1 PerfScore 7.75
G_M22870_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
G_M22870_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
; gcrRegs +[rax]
; gcrRegs +[rax]
mov rdi, rax
mov rdi, rax
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rax, qword ptr [rax]
mov rax, qword ptr [rax]
; gcrRegs -[rax]
; gcrRegs -[rax]
mov rax, qword ptr [rax+88]
mov rax, qword ptr [rax+88]
call gword ptr [rax+16]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this
call gword ptr [rax+16]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this
; gcrRegs -[rdi] +[rax]
; gcrRegs -[rdi] +[rax]
mov rbx, gword ptr [rax+56]
mov rbx, gword ptr [rax+56]
; gcrRegs +[rbx]
; gcrRegs +[rbx]
mov rdi, 0xD1FFAB1E
mov rdi, 0xD1FFAB1E
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov r14, rax
; gcrRegs +[r14]
; gcrRegs +[r14]
mov rsi, 0xD1FFAB1E ; string handle
mov rsi, 0xD1FFAB1E ; string handle
mov rsi, gword ptr [rsi]
mov rsi, gword ptr [rsi]
; gcrRegs +[rsi]
; gcrRegs +[rsi]
mov rdi, r14
mov rdi, r14
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov edx, 1
mov edx, 1
call System.Globalization.CultureInfo:.ctor(System.String,bool):this
call System.Globalization.CultureInfo:.ctor(System.String,bool):this
; gcrRegs -[rax rsi rdi]
; gcrRegs -[rax rsi rdi]
vmovupd xmm0, xmmword ptr [reloc @RWD00]
vmovupd xmm0, xmmword ptr [reloc @RWD00]
vmovapd xmmword ptr [rbp-40H], xmm0
vmovapd xmmword ptr [rbp-40H], xmm0
lea rdi, bword ptr [rbp-40H]
lea rdi, bword ptr [rbp-40H]
; byrRegs +[rdi]
; byrRegs +[rdi]
call System.Numerics.Vector4:ToString():System.String:this
call System.Numerics.Vector4:ToString():System.String:this
; gcrRegs +[rax]
; gcrRegs +[rax]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov r15, rax
mov r15, rax
; gcrRegs +[r15]
; gcrRegs +[r15]
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
mov r12, rax
mov r12, rax
; gcrRegs +[r12]
; gcrRegs +[r12]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 5
mov esi, 5
call CORINFO_HELP_NEWARR_1_OBJ
call CORINFO_HELP_NEWARR_1_OBJ
mov r13, rax
mov r13, rax
; gcrRegs +[r13]
; gcrRegs +[r13]
lea rdi, bword ptr [r13+16]
lea rdi, bword ptr [r13+16]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rbx
mov rsi, rbx
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
v
mov
sd
xmm0, qword ptr [reloc @RWD16]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr
[rbp-48H], xmm0
mov
qword ptr
[rax+8],
rdi
vmovsd qword ptr
[rax+8],
xmm0
lea rdi, bword ptr [r13+24]
lea rdi, bword ptr [r13+24]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 2
mov dword ptr [rax+8], 2
lea rdi, bword ptr [r13+32]
lea rdi, bword ptr [r13+32]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 3
mov dword ptr [rax+8], 3
lea rdi, bword ptr [r13+40]
lea rdi, bword ptr [r13+40]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
v
mov
sd xmm0, qword ptr [reloc @RWD24]
mov
rdi, 0xD1FFAB1E
vmovsd qword ptr [rbp-50H], xmm0
mov
qword ptr [rax+8],
rdi
v
mov
sd
qword ptr [rax+8],
xmm0
lea rdi, bword ptr [r13+48]
lea rdi, bword ptr [r13+48]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rsi, 0xD1FFAB1E ; string handle
mov rsi, 0xD1FFAB1E ; string handle
mov rsi, gword ptr [rsi]
mov rsi, gword ptr [rsi]
; gcrRegs +[rsi]
; gcrRegs +[rsi]
mov rdi, r12
mov rdi, r12
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rdx, r13
mov rdx, r13
; gcrRegs +[rdx]
; gcrRegs +[rdx]
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
; gcrRegs -[rdx rsi rdi r12-r13] +[rax]
; gcrRegs -[rdx rsi rdi r12-r13] +[rax]
Copiar
Copiado
Copiar
Copiado
;; bbWeight=1 PerfScore 50.75
G_M22870_IG03: ; , extend
mov rdi, rax
mov rdi, rax
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rsi, r15
mov rsi, r15
; gcrRegs +[rsi]
; gcrRegs +[rsi]
Copiar
Copiado
Copiar
Copiado
;; bbWeight=1 PerfScore 47.75
G_M22870_IG03: ; , extend
xor edx, edx
xor edx, edx
xor ecx, ecx
xor ecx, ecx
xor r8d, r8d
xor r8d, r8d
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rax rsi rdi r15]
; gcrRegs -[rax rsi rdi r15]
mov rax, 0xD1FFAB1E ; string handle
mov rax, 0xD1FFAB1E ; string handle
mov r15, gword ptr [rax]
mov r15, gword ptr [rax]
; gcrRegs +[r15]
; gcrRegs +[r15]
mov r12, r15
mov r12, r15
; gcrRegs +[r12]
; gcrRegs +[r12]
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
; gcrRegs +[rax]
; gcrRegs +[rax]
mov rdx, rax
mov rdx, rax
; gcrRegs +[rdx]
; gcrRegs +[rdx]
mov rsi, r12
mov rsi, r12
; gcrRegs +[rsi]
; gcrRegs +[rsi]
lea rdi, bword ptr [rbp-40H]
lea rdi, bword ptr [rbp-40H]
; byrRegs +[rdi]
; byrRegs +[rdi]
call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this
call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this
; gcrRegs -[rdx rsi r12]
; gcrRegs -[rdx rsi r12]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov r12, rax
mov r12, rax
; gcrRegs +[r12]
; gcrRegs +[r12]
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
mov r13, rax
mov r13, rax
; gcrRegs +[r13]
; gcrRegs +[r13]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 5
mov esi, 5
call CORINFO_HELP_NEWARR_1_OBJ
call CORINFO_HELP_NEWARR_1_OBJ
Copiar
Copiado
Copiar
Copiado
mov gword ptr [rbp-
5
8H], rax
mov gword ptr [rbp-
4
8H], rax
; GC ptr vars +{V20}
; GC ptr vars +{V20}
lea rdi, bword ptr [rax+16]
lea rdi, bword ptr [rax+16]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rbx
mov rsi, rbx
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
v
mov
sd
xmm0, qword ptr [rbp-48H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+8],
xmm0
mov
qword ptr [rax+8],
rdi
mov rdx, gword ptr [rbp-
5
8H]
mov rdx, gword ptr [rbp-
4
8H]
; gcrRegs +[rdx]
; gcrRegs +[rdx]
lea rdi, bword ptr [rdx+24]
lea rdi, bword ptr [rdx+24]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rdx rsi]
; gcrRegs -[rax rdx rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 2
mov dword ptr [rax+8], 2
Copiar
Copiado
Copiar
Copiado
mov rdx, gword ptr [rbp-
5
8H]
mov rdx, gword ptr [rbp-
4
8H]
; gcrRegs +[rdx]
; gcrRegs +[rdx]
lea rdi, bword ptr [rdx+32]
lea rdi, bword ptr [rdx+32]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rdx rsi]
; gcrRegs -[rax rdx rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 3
mov dword ptr [rax+8], 3
Copiar
Copiado
Copiar
Copiado
mov rdx, gword ptr [rbp-
5
8H]
mov rdx, gword ptr [rbp-
4
8H]
; gcrRegs +[rdx]
; gcrRegs +[rdx]
lea rdi, bword ptr [rdx+40]
lea rdi, bword ptr [rdx+40]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rdx rsi]
; gcrRegs -[rax rdx rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
v
mov
sd
xmm0, qword ptr [rbp-50H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+8],
xmm0
mov
qword ptr [rax+8],
rdi
mov rdx, gword ptr [rbp-
5
8H]
mov rdx, gword ptr [rbp-
4
8H]
; gcrRegs +[rdx]
; gcrRegs +[rdx]
Copiar
Copiado
Copiar
Copiado
;; bbWeight=1 PerfScore 34.75
G_M22870_IG04: ; , extend
lea rdi, bword ptr [rdx+48]
lea rdi, bword ptr [rdx+48]
; byrRegs +[rdi]
; byrRegs +[rdi]
Copiar
Copiado
Copiar
Copiado
;; bbWeight=1 PerfScore 32.25
G_M22870_IG04: ; , extend
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rdx rsi]
; gcrRegs -[rax rdx rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rsi, 0xD1FFAB1E ; string handle
mov rsi, 0xD1FFAB1E ; string handle
mov rax, gword ptr [rsi]
mov rax, gword ptr [rsi]
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
mov gword ptr [rbp-
6
0H], rax
mov gword ptr [rbp-
5
0H], rax
; GC ptr vars +{V46}
; GC ptr vars +{V46}
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
mov rdi, r13
mov rdi, r13
; gcrRegs +[rdi]
; gcrRegs +[rdi]
Copiar
Copiado
Copiar
Copiado
mov rdx, gword ptr [rbp-
5
8H]
mov rdx, gword ptr [rbp-
4
8H]
; gcrRegs +[rdx]
; gcrRegs +[rdx]
; GC ptr vars -{V20}
; GC ptr vars -{V20}
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
; gcrRegs -[rdx rsi rdi r13]
; gcrRegs -[rdx rsi rdi r13]
mov rdi, rax
mov rdi, rax
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rsi, r12
mov rsi, r12
; gcrRegs +[rsi]
; gcrRegs +[rsi]
xor edx, edx
xor edx, edx
xor ecx, ecx
xor ecx, ecx
xor r8d, r8d
xor r8d, r8d
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rax rsi rdi r12]
; gcrRegs -[rax rsi rdi r12]
mov rsi, r15
mov rsi, r15
; gcrRegs +[rsi]
; gcrRegs +[rsi]
lea rdi, bword ptr [rbp-40H]
lea rdi, bword ptr [rbp-40H]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rdx, r14
mov rdx, r14
; gcrRegs +[rdx]
; gcrRegs +[rdx]
call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this
call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this
; gcrRegs -[rdx rsi] +[rax]
; gcrRegs -[rdx rsi] +[rax]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov r12, rax
mov r12, rax
; gcrRegs +[r12]
; gcrRegs +[r12]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 5
mov esi, 5
call CORINFO_HELP_NEWARR_1_OBJ
call CORINFO_HELP_NEWARR_1_OBJ
mov r13, rax
mov r13, rax
; gcrRegs +[r13]
; gcrRegs +[r13]
mov rdi, r14
mov rdi, r14
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rax, 0xD1FFAB1E
mov rax, 0xD1FFAB1E
; gcrRegs -[rax]
; gcrRegs -[rax]
call gword ptr [rax]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this
call gword ptr [rax]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this
; gcrRegs -[rdi] +[rax]
; gcrRegs -[rdi] +[rax]
mov rsi, gword ptr [rax+56]
mov rsi, gword ptr [rax+56]
; gcrRegs +[rsi]
; gcrRegs +[rsi]
lea rdi, bword ptr [r13+16]
lea rdi, bword ptr [r13+16]
; byrRegs +[rdi]
; byrRegs +[rdi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
v
mov
sd
xmm0, qword ptr [rbp-48H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+8],
xmm0
mov
qword ptr [rax+8],
rdi
lea rdi, bword ptr [r13+24]
lea rdi, bword ptr [r13+24]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 2
mov dword ptr [rax+8], 2
lea rdi, bword ptr [r13+32]
lea rdi, bword ptr [r13+32]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
;; bbWeight=1 PerfScore 31.50
G_M22870_IG05: ; , extend
mov dword ptr [rax+8], 3
mov dword ptr [rax+8], 3
Copiar
Copiado
Copiar
Copiado
;; bbWeight=1 PerfScore 30.75
G_M22870_IG05: ; , extend
lea rdi, bword ptr [r13+40]
lea rdi, bword ptr [r13+40]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
v
mov
sd
xmm0, qword ptr [rbp-50H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+8],
xmm0
mov
qword ptr [rax+8],
rdi
lea rdi, bword ptr [r13+48]
lea rdi, bword ptr [r13+48]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
Copiar
Copiado
Copiar
Copiado
mov rsi, gword ptr [rbp-
6
0H]
mov rsi, gword ptr [rbp-
5
0H]
; gcrRegs +[rsi]
; gcrRegs +[rsi]
mov rdi, r14
mov rdi, r14
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rdx, r13
mov rdx, r13
; gcrRegs +[rdx]
; gcrRegs +[rdx]
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
; gcrRegs -[rdx rsi rdi r13-r14] +[rax]
; gcrRegs -[rdx rsi rdi r13-r14] +[rax]
mov rdi, rax
mov rdi, rax
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rsi, r12
mov rsi, r12
; gcrRegs +[rsi]
; gcrRegs +[rsi]
xor edx, edx
xor edx, edx
xor ecx, ecx
xor ecx, ecx
xor r8d, r8d
xor r8d, r8d
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rax rsi rdi r12]
; gcrRegs -[rax rsi rdi r12]
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
; gcrRegs +[rax]
; gcrRegs +[rax]
mov rdx, rax
mov rdx, rax
; gcrRegs +[rdx]
; gcrRegs +[rdx]
mov rsi, r15
mov rsi, r15
; gcrRegs +[rsi]
; gcrRegs +[rsi]
lea rdi, bword ptr [rbp-40H]
lea rdi, bword ptr [rbp-40H]
; byrRegs +[rdi]
; byrRegs +[rdi]
call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this
call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this
; gcrRegs -[rdx rsi r15]
; gcrRegs -[rdx rsi r15]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov r14, rax
mov r14, rax
; gcrRegs +[r14]
; gcrRegs +[r14]
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo
mov r15, rax
mov r15, rax
; gcrRegs +[r15]
; gcrRegs +[r15]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov rdi, 0xD1FFAB1E ; System.Object[]
mov esi, 5
mov esi, 5
call CORINFO_HELP_NEWARR_1_OBJ
call CORINFO_HELP_NEWARR_1_OBJ
mov r12, rax
mov r12, rax
; gcrRegs +[r12]
; gcrRegs +[r12]
lea rdi, bword ptr [r12+16]
lea rdi, bword ptr [r12+16]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rbx
mov rsi, rbx
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rbx rsi]
; gcrRegs -[rax rbx rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
v
mov
sd
xmm0, qword ptr [rbp-48H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+8],
xmm0
mov
qword ptr [rax+8],
rdi
lea rdi, bword ptr [r12+24]
lea rdi, bword ptr [r12+24]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 2
mov dword ptr [rax+8], 2
Copiar
Copiado
Copiar
Copiado
;; bbWeight=1 PerfScore
28.75
;; bbWeight=1 PerfScore
25.25
G_M22870_IG06: ; , extend
G_M22870_IG06: ; , extend
lea rdi, bword ptr [r12+32]
lea rdi, bword ptr [r12+32]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
mov dword ptr [rax+8], 3
mov dword ptr [rax+8], 3
lea rdi, bword ptr [r12+40]
lea rdi, bword ptr [r12+40]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
mov rdi, 0xD1FFAB1E ; hackishClassName
mov rdi, 0xD1FFAB1E ; hackishClassName
call CORINFO_HELP_NEWSFAST
call CORINFO_HELP_NEWSFAST
; gcrRegs +[rax]
; gcrRegs +[rax]
Copiar
Copiado
Copiar
Copiado
v
mov
sd
xmm0, qword ptr [rbp-50H]
mov
rdi, 0xD1FFAB1E
v
mov
sd
qword ptr [rax+8],
xmm0
mov
qword ptr [rax+8],
rdi
lea rdi, bword ptr [r12+48]
lea rdi, bword ptr [r12+48]
; byrRegs +[rdi]
; byrRegs +[rdi]
mov rsi, rax
mov rsi, rax
; gcrRegs +[rsi]
; gcrRegs +[rsi]
call CORINFO_HELP_ASSIGN_REF
call CORINFO_HELP_ASSIGN_REF
; gcrRegs -[rax rsi]
; gcrRegs -[rax rsi]
; byrRegs -[rdi]
; byrRegs -[rdi]
Copiar
Copiado
Copiar
Copiado
mov rsi, gword ptr [rbp-
6
0H]
mov rsi, gword ptr [rbp-
5
0H]
; gcrRegs +[rsi]
; gcrRegs +[rsi]
mov rdi, r15
mov rdi, r15
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rdx, r12
mov rdx, r12
; gcrRegs +[rdx]
; gcrRegs +[rdx]
; GC ptr vars -{V46}
; GC ptr vars -{V46}
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String
; gcrRegs -[rdx rsi rdi r12 r15] +[rax]
; gcrRegs -[rdx rsi rdi r12 r15] +[rax]
mov rdi, rax
mov rdi, rax
; gcrRegs +[rdi]
; gcrRegs +[rdi]
mov rsi, r14
mov rsi, r14
; gcrRegs +[rsi]
; gcrRegs +[rsi]
xor edx, edx
xor edx, edx
xor ecx, ecx
xor ecx, ecx
xor r8d, r8d
xor r8d, r8d
call hackishModuleName:hackishMethodName()
call hackishModuleName:hackishMethodName()
; gcrRegs -[rax rsi rdi r14]
; gcrRegs -[rax rsi rdi r14]
nop
nop
Copiar
Copiado
Copiar
Copiado
;; bbWeight=1 PerfScore
16.25
;; bbWeight=1 PerfScore
15.00
G_M22870_IG07: ; , epilog, nogc, extend
G_M22870_IG07: ; , epilog, nogc, extend
Copiar
Copiado
Copiar
Copiado
add rsp,
56
add rsp,
40
pop rbx
pop rbx
pop r12
pop r12
pop r13
pop r13
pop r14
pop r14
pop r15
pop r15
pop rbp
pop rbp
ret
ret
;; bbWeight=1 PerfScore 4.25
;; bbWeight=1 PerfScore 4.25
RWD00 dd 40200000h ; 2.5
RWD00 dd 40200000h ; 2.5
dd 40000000h ; 2
dd 40000000h ; 2
dd 40400000h ; 3
dd 40400000h ; 3
dd 40533333h ; 3.3
dd 40533333h ; 3.3
Copiar
Copiado
Copiar
Copiado
RWD16 dq 4004000000000000h ; 2.5
RWD24 dq 400A666666666666h ; 3.3
Copiar
Copiado
Copiar
Copiado
; Total bytes of code
1153
, prolog size 22, PerfScore
291.30
, instruction count 24
8
, allocated bytes for code 117
3
(MethodHash=df59a6a9) for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this
; Total bytes of code
1169
, prolog size 22, PerfScore
280.10
, instruction count 24
6
, allocated bytes for code 117
1
(MethodHash=df59a6a9) for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this
; ============================================================
; ============================================================
Unwind Info:
Unwind Info:
>> Start offset : 0x000000 (not in unwind data)
>> Start offset : 0x000000 (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
>> End offset : 0xd1ffab1e (not in unwind data)
Version : 1
Version : 1
Flags : 0x00
Flags : 0x00
SizeOfProlog : 0x0E
SizeOfProlog : 0x0E
CountOfUnwindCodes: 7
CountOfUnwindCodes: 7
FrameRegister : none (0)
FrameRegister : none (0)
FrameOffset : N/A (no FrameRegister) (Value=0)
FrameOffset : N/A (no FrameRegister) (Value=0)
UnwindCodes :
UnwindCodes :
Copiar
Copiado
Copiar
Copiado
CodeOffset: 0x0E UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo:
6
* 8 + 8 =
56
= 0x
3
8
CodeOffset: 0x0E UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo:
4
* 8 + 8 =
40
= 0x
2
8
CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3)
CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r12 (12)
CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r12 (12)
CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r13 (13)
CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r13 (13)
CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r14 (14)
CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r14 (14)
CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r15 (15)
CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r15 (15)
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
Diferencias guardadas
Texto original
Abrir archivo
; Assembly listing for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this ; Emitting BLENDED_CODE for X64 CPU with AVX - Unix ; optimized code ; rbp based frame ; partially interruptible ; No matching PGO data ; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def ; V01 loc0 [V01,T22] ( 4, 4 ) ref -> rbx class-hnd single-def ;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def ; V03 loc2 [V03 ] ( 5, 5 ) simd16 -> [rbp-40H] do-not-enreg[XSB] addr-exposed ld-addr-op single-def ; V04 loc3 [V04,T35] ( 2, 2 ) ref -> r15 class-hnd single-def ; V05 loc4 [V05,T36] ( 2, 2 ) ref -> rdi class-hnd single-def ; V06 loc5 [V06,T37] ( 2, 2 ) ref -> r12 class-hnd single-def ; V07 loc6 [V07,T38] ( 2, 2 ) ref -> rdi class-hnd single-def ; V08 loc7 [V08,T39] ( 2, 2 ) ref -> r12 class-hnd single-def ; V09 loc8 [V09,T40] ( 2, 2 ) ref -> rdi class-hnd single-def ; V10 loc9 [V10,T41] ( 2, 2 ) ref -> r14 class-hnd single-def ; V11 loc10 [V11,T42] ( 2, 2 ) ref -> rdi class-hnd single-def ;# V12 OutArgs [V12 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace" ; V13 tmp1 [V13,T04] ( 5, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" ; V14 tmp2 [V14,T00] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill" ; V15 tmp3 [V15,T25] ( 2, 4 ) ref -> r12 class-hnd single-def "impAppendStmt" ; V16 tmp4 [V16,T05] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V17 tmp5 [V17,T06] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V18 tmp6 [V18,T07] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V19 tmp7 [V19,T08] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V20 tmp8 [V20,T01] ( 7, 14 ) ref -> [rbp-58H] class-hnd exact spill-single-def "dup spill" ; V21 tmp9 [V21,T26] ( 2, 4 ) ref -> r13 class-hnd single-def "impAppendStmt" ; V22 tmp10 [V22,T09] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V23 tmp11 [V23,T10] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V24 tmp12 [V24,T11] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V25 tmp13 [V25,T12] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V26 tmp14 [V26,T02] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill" ; V27 tmp15 [V27,T27] ( 2, 4 ) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store" ; V28 tmp16 [V28,T13] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V29 tmp17 [V29,T14] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V30 tmp18 [V30,T15] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V31 tmp19 [V31,T16] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V32 tmp20 [V32,T03] ( 7, 14 ) ref -> r12 class-hnd exact single-def "dup spill" ; V33 tmp21 [V33,T28] ( 2, 4 ) ref -> r15 class-hnd single-def "impAppendStmt" ; V34 tmp22 [V34,T17] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V35 tmp23 [V35,T18] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V36 tmp24 [V36,T19] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V37 tmp25 [V37,T20] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V38 tmp26 [V38,T29] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg" ; V39 tmp27 [V39,T30] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg" ; V40 tmp28 [V40,T21] ( 3, 6 ) ref -> rax single-def "argument with side effect" ; V41 tmp29 [V41,T31] ( 2, 4 ) ref -> rdx single-def "argument with side effect" ; V42 tmp30 [V42,T32] ( 2, 4 ) ref -> r12 single-def "argument with side effect" ; V43 tmp31 [V43,T33] ( 2, 4 ) ref -> rdx single-def "argument with side effect" ; V44 tmp32 [V44,T34] ( 2, 4 ) ref -> r15 single-def "argument with side effect" ; V45 cse0 [V45,T23] ( 4, 4 ) ref -> r15 "CSE - moderate" ; V46 cse1 [V46,T24] ( 4, 4 ) ref -> [rbp-60H] spill-single-def "CSE - moderate" ; V47 cse2 [V47,T43] ( 5, 5 ) double -> [rbp-48H] spill-single-def "CSE - moderate" ; V48 cse3 [V48,T44] ( 5, 5 ) double -> [rbp-50H] spill-single-def "CSE - moderate" ; ; Lcl frame size = 56 G_M22870_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 56 vzeroupper lea rbp, [rsp+60H] ;; bbWeight=1 PerfScore 7.75 G_M22870_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; gcrRegs +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rax, qword ptr [rax] ; gcrRegs -[rax] mov rax, qword ptr [rax+88] call gword ptr [rax+16]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this ; gcrRegs -[rdi] +[rax] mov rbx, gword ptr [rax+56] ; gcrRegs +[rbx] mov rdi, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov r14, rax ; gcrRegs +[r14] mov rsi, 0xD1FFAB1E ; string handle mov rsi, gword ptr [rsi] ; gcrRegs +[rsi] mov rdi, r14 ; gcrRegs +[rdi] mov edx, 1 call System.Globalization.CultureInfo:.ctor(System.String,bool):this ; gcrRegs -[rax rsi rdi] vmovupd xmm0, xmmword ptr [reloc @RWD00] vmovapd xmmword ptr [rbp-40H], xmm0 lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] call System.Numerics.Vector4:ToString():System.String:this ; gcrRegs +[rax] ; byrRegs -[rdi] mov r15, rax ; gcrRegs +[r15] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo mov r12, rax ; gcrRegs +[r12] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov r13, rax ; gcrRegs +[r13] lea rdi, bword ptr [r13+16] ; byrRegs +[rdi] mov rsi, rbx ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [reloc @RWD16] vmovsd qword ptr [rbp-48H], xmm0 vmovsd qword ptr [rax+8], xmm0 lea rdi, bword ptr [r13+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 lea rdi, bword ptr [r13+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 lea rdi, bword ptr [r13+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [reloc @RWD24] vmovsd qword ptr [rbp-50H], xmm0 vmovsd qword ptr [rax+8], xmm0 lea rdi, bword ptr [r13+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rsi, 0xD1FFAB1E ; string handle mov rsi, gword ptr [rsi] ; gcrRegs +[rsi] mov rdi, r12 ; gcrRegs +[rdi] mov rdx, r13 ; gcrRegs +[rdx] call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r12-r13] +[rax] ;; bbWeight=1 PerfScore 50.75 G_M22870_IG03: ; , extend mov rdi, rax ; gcrRegs +[rdi] mov rsi, r15 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r15] mov rax, 0xD1FFAB1E ; string handle mov r15, gword ptr [rax] ; gcrRegs +[r15] mov r12, r15 ; gcrRegs +[r12] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; gcrRegs +[rax] mov rdx, rax ; gcrRegs +[rdx] mov rsi, r12 ; gcrRegs +[rsi] lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this ; gcrRegs -[rdx rsi r12] ; byrRegs -[rdi] mov r12, rax ; gcrRegs +[r12] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo mov r13, rax ; gcrRegs +[r13] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [rbp-58H], rax ; GC ptr vars +{V20} lea rdi, bword ptr [rax+16] ; byrRegs +[rdi] mov rsi, rbx ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-48H] vmovsd qword ptr [rax+8], xmm0 mov rdx, gword ptr [rbp-58H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 mov rdx, gword ptr [rbp-58H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 mov rdx, gword ptr [rbp-58H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-50H] vmovsd qword ptr [rax+8], xmm0 mov rdx, gword ptr [rbp-58H] ; gcrRegs +[rdx] ;; bbWeight=1 PerfScore 34.75 G_M22870_IG04: ; , extend lea rdi, bword ptr [rdx+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rsi, 0xD1FFAB1E ; string handle mov rax, gword ptr [rsi] ; gcrRegs +[rax] mov gword ptr [rbp-60H], rax ; GC ptr vars +{V46} mov rsi, rax ; gcrRegs +[rsi] mov rdi, r13 ; gcrRegs +[rdi] mov rdx, gword ptr [rbp-58H] ; gcrRegs +[rdx] ; GC ptr vars -{V20} call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r13] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r12 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r12] mov rsi, r15 ; gcrRegs +[rsi] lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] mov rdx, r14 ; gcrRegs +[rdx] call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this ; gcrRegs -[rdx rsi] +[rax] ; byrRegs -[rdi] mov r12, rax ; gcrRegs +[r12] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov r13, rax ; gcrRegs +[r13] mov rdi, r14 ; gcrRegs +[rdi] mov rax, 0xD1FFAB1E ; gcrRegs -[rax] call gword ptr [rax]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this ; gcrRegs -[rdi] +[rax] mov rsi, gword ptr [rax+56] ; gcrRegs +[rsi] lea rdi, bword ptr [r13+16] ; byrRegs +[rdi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-48H] vmovsd qword ptr [rax+8], xmm0 lea rdi, bword ptr [r13+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 lea rdi, bword ptr [r13+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] ;; bbWeight=1 PerfScore 31.50 G_M22870_IG05: ; , extend mov dword ptr [rax+8], 3 lea rdi, bword ptr [r13+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-50H] vmovsd qword ptr [rax+8], xmm0 lea rdi, bword ptr [r13+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rsi, gword ptr [rbp-60H] ; gcrRegs +[rsi] mov rdi, r14 ; gcrRegs +[rdi] mov rdx, r13 ; gcrRegs +[rdx] call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r13-r14] +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r12 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r12] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; gcrRegs +[rax] mov rdx, rax ; gcrRegs +[rdx] mov rsi, r15 ; gcrRegs +[rsi] lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this ; gcrRegs -[rdx rsi r15] ; byrRegs -[rdi] mov r14, rax ; gcrRegs +[r14] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo mov r15, rax ; gcrRegs +[r15] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov r12, rax ; gcrRegs +[r12] lea rdi, bword ptr [r12+16] ; byrRegs +[rdi] mov rsi, rbx ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rbx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-48H] vmovsd qword ptr [rax+8], xmm0 lea rdi, bword ptr [r12+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 ;; bbWeight=1 PerfScore 28.75 G_M22870_IG06: ; , extend lea rdi, bword ptr [r12+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 lea rdi, bword ptr [r12+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] vmovsd xmm0, qword ptr [rbp-50H] vmovsd qword ptr [rax+8], xmm0 lea rdi, bword ptr [r12+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rsi, gword ptr [rbp-60H] ; gcrRegs +[rsi] mov rdi, r15 ; gcrRegs +[rdi] mov rdx, r12 ; gcrRegs +[rdx] ; GC ptr vars -{V46} call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r12 r15] +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r14 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r14] nop ;; bbWeight=1 PerfScore 16.25 G_M22870_IG07: ; , epilog, nogc, extend add rsp, 56 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; bbWeight=1 PerfScore 4.25 RWD00 dd 40200000h ; 2.5 dd 40000000h ; 2 dd 40400000h ; 3 dd 40533333h ; 3.3 RWD16 dq 4004000000000000h ; 2.5 RWD24 dq 400A666666666666h ; 3.3 ; Total bytes of code 1153, prolog size 22, PerfScore 291.30, instruction count 248, allocated bytes for code 1173 (MethodHash=df59a6a9) for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Version : 1 Flags : 0x00 SizeOfProlog : 0x0E CountOfUnwindCodes: 7 FrameRegister : none (0) FrameOffset : N/A (no FrameRegister) (Value=0) UnwindCodes : CodeOffset: 0x0E UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 6 * 8 + 8 = 56 = 0x38 CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3) CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r12 (12) CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r13 (13) CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r14 (14) CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r15 (15) CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
Texto modificado
Abrir archivo
; Assembly listing for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this ; Emitting BLENDED_CODE for X64 CPU with AVX - Unix ; optimized code ; rbp based frame ; partially interruptible ; No matching PGO data ; 0 inlinees with PGO data; 8 single block inlinees; 0 inlinees without PGO data ; Final local variable assignments ; ;* V00 this [V00 ] ( 0, 0 ) ref -> zero-ref this class-hnd single-def ; V01 loc0 [V01,T22] ( 4, 4 ) ref -> rbx class-hnd single-def ;* V02 loc1 [V02 ] ( 0, 0 ) ref -> zero-ref class-hnd exact single-def ; V03 loc2 [V03 ] ( 5, 5 ) simd16 -> [rbp-40H] do-not-enreg[XSB] addr-exposed ld-addr-op single-def ; V04 loc3 [V04,T35] ( 2, 2 ) ref -> r15 class-hnd single-def ; V05 loc4 [V05,T36] ( 2, 2 ) ref -> rdi class-hnd single-def ; V06 loc5 [V06,T37] ( 2, 2 ) ref -> r12 class-hnd single-def ; V07 loc6 [V07,T38] ( 2, 2 ) ref -> rdi class-hnd single-def ; V08 loc7 [V08,T39] ( 2, 2 ) ref -> r12 class-hnd single-def ; V09 loc8 [V09,T40] ( 2, 2 ) ref -> rdi class-hnd single-def ; V10 loc9 [V10,T41] ( 2, 2 ) ref -> r14 class-hnd single-def ; V11 loc10 [V11,T42] ( 2, 2 ) ref -> rdi class-hnd single-def ;# V12 OutArgs [V12 ] ( 1, 1 ) lclBlk ( 0) [rsp+00H] "OutgoingArgSpace" ; V13 tmp1 [V13,T04] ( 5, 10 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" ; V14 tmp2 [V14,T00] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill" ; V15 tmp3 [V15,T25] ( 2, 4 ) ref -> r12 class-hnd single-def "impAppendStmt" ; V16 tmp4 [V16,T05] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V17 tmp5 [V17,T06] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V18 tmp6 [V18,T07] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V19 tmp7 [V19,T08] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V20 tmp8 [V20,T01] ( 7, 14 ) ref -> [rbp-48H] class-hnd exact spill-single-def "dup spill" ; V21 tmp9 [V21,T26] ( 2, 4 ) ref -> r13 class-hnd single-def "impAppendStmt" ; V22 tmp10 [V22,T09] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V23 tmp11 [V23,T10] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V24 tmp12 [V24,T11] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V25 tmp13 [V25,T12] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V26 tmp14 [V26,T02] ( 7, 14 ) ref -> r13 class-hnd exact single-def "dup spill" ; V27 tmp15 [V27,T27] ( 2, 4 ) ref -> rsi class-hnd single-def "Strict ordering of exceptions for Array store" ; V28 tmp16 [V28,T13] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V29 tmp17 [V29,T14] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V30 tmp18 [V30,T15] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V31 tmp19 [V31,T16] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V32 tmp20 [V32,T03] ( 7, 14 ) ref -> r12 class-hnd exact single-def "dup spill" ; V33 tmp21 [V33,T28] ( 2, 4 ) ref -> r15 class-hnd single-def "impAppendStmt" ; V34 tmp22 [V34,T17] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V35 tmp23 [V35,T18] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V36 tmp24 [V36,T19] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V37 tmp25 [V37,T20] ( 3, 6 ) ref -> rax class-hnd exact single-def "Single-def Box Helper" ; V38 tmp26 [V38,T29] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg" ; V39 tmp27 [V39,T30] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg" ; V40 tmp28 [V40,T21] ( 3, 6 ) ref -> rax single-def "argument with side effect" ; V41 tmp29 [V41,T31] ( 2, 4 ) ref -> rdx single-def "argument with side effect" ; V42 tmp30 [V42,T32] ( 2, 4 ) ref -> r12 single-def "argument with side effect" ; V43 tmp31 [V43,T33] ( 2, 4 ) ref -> rdx single-def "argument with side effect" ; V44 tmp32 [V44,T34] ( 2, 4 ) ref -> r15 single-def "argument with side effect" ; V45 cse0 [V45,T23] ( 4, 4 ) ref -> r15 "CSE - moderate" ; V46 cse1 [V46,T24] ( 4, 4 ) ref -> [rbp-50H] spill-single-def "CSE - moderate" ; ; Lcl frame size = 40 G_M22870_IG01: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 40 vzeroupper lea rbp, [rsp+50H] ;; bbWeight=1 PerfScore 7.75 G_M22870_IG02: ; gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; gcrRegs +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rax, qword ptr [rax] ; gcrRegs -[rax] mov rax, qword ptr [rax+88] call gword ptr [rax+16]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this ; gcrRegs -[rdi] +[rax] mov rbx, gword ptr [rax+56] ; gcrRegs +[rbx] mov rdi, 0xD1FFAB1E call CORINFO_HELP_NEWSFAST mov r14, rax ; gcrRegs +[r14] mov rsi, 0xD1FFAB1E ; string handle mov rsi, gword ptr [rsi] ; gcrRegs +[rsi] mov rdi, r14 ; gcrRegs +[rdi] mov edx, 1 call System.Globalization.CultureInfo:.ctor(System.String,bool):this ; gcrRegs -[rax rsi rdi] vmovupd xmm0, xmmword ptr [reloc @RWD00] vmovapd xmmword ptr [rbp-40H], xmm0 lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] call System.Numerics.Vector4:ToString():System.String:this ; gcrRegs +[rax] ; byrRegs -[rdi] mov r15, rax ; gcrRegs +[r15] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo mov r12, rax ; gcrRegs +[r12] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov r13, rax ; gcrRegs +[r13] lea rdi, bword ptr [r13+16] ; byrRegs +[rdi] mov rsi, rbx ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi lea rdi, bword ptr [r13+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 lea rdi, bword ptr [r13+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 lea rdi, bword ptr [r13+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi lea rdi, bword ptr [r13+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rsi, 0xD1FFAB1E ; string handle mov rsi, gword ptr [rsi] ; gcrRegs +[rsi] mov rdi, r12 ; gcrRegs +[rdi] mov rdx, r13 ; gcrRegs +[rdx] call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r12-r13] +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r15 ; gcrRegs +[rsi] ;; bbWeight=1 PerfScore 47.75 G_M22870_IG03: ; , extend xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r15] mov rax, 0xD1FFAB1E ; string handle mov r15, gword ptr [rax] ; gcrRegs +[r15] mov r12, r15 ; gcrRegs +[r12] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; gcrRegs +[rax] mov rdx, rax ; gcrRegs +[rdx] mov rsi, r12 ; gcrRegs +[rsi] lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this ; gcrRegs -[rdx rsi r12] ; byrRegs -[rdi] mov r12, rax ; gcrRegs +[r12] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo mov r13, rax ; gcrRegs +[r13] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov gword ptr [rbp-48H], rax ; GC ptr vars +{V20} lea rdi, bword ptr [rax+16] ; byrRegs +[rdi] mov rsi, rbx ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi mov rdx, gword ptr [rbp-48H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 mov rdx, gword ptr [rbp-48H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 mov rdx, gword ptr [rbp-48H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi mov rdx, gword ptr [rbp-48H] ; gcrRegs +[rdx] lea rdi, bword ptr [rdx+48] ; byrRegs +[rdi] ;; bbWeight=1 PerfScore 32.25 G_M22870_IG04: ; , extend mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rdx rsi] ; byrRegs -[rdi] mov rsi, 0xD1FFAB1E ; string handle mov rax, gword ptr [rsi] ; gcrRegs +[rax] mov gword ptr [rbp-50H], rax ; GC ptr vars +{V46} mov rsi, rax ; gcrRegs +[rsi] mov rdi, r13 ; gcrRegs +[rdi] mov rdx, gword ptr [rbp-48H] ; gcrRegs +[rdx] ; GC ptr vars -{V20} call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r13] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r12 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r12] mov rsi, r15 ; gcrRegs +[rsi] lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] mov rdx, r14 ; gcrRegs +[rdx] call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this ; gcrRegs -[rdx rsi] +[rax] ; byrRegs -[rdi] mov r12, rax ; gcrRegs +[r12] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov r13, rax ; gcrRegs +[r13] mov rdi, r14 ; gcrRegs +[rdi] mov rax, 0xD1FFAB1E ; gcrRegs -[rax] call gword ptr [rax]System.Globalization.CultureInfo:get_NumberFormat():System.Globalization.NumberFormatInfo:this ; gcrRegs -[rdi] +[rax] mov rsi, gword ptr [rax+56] ; gcrRegs +[rsi] lea rdi, bword ptr [r13+16] ; byrRegs +[rdi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi lea rdi, bword ptr [r13+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 lea rdi, bword ptr [r13+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 ;; bbWeight=1 PerfScore 30.75 G_M22870_IG05: ; , extend lea rdi, bword ptr [r13+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi lea rdi, bword ptr [r13+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rsi, gword ptr [rbp-50H] ; gcrRegs +[rsi] mov rdi, r14 ; gcrRegs +[rdi] mov rdx, r13 ; gcrRegs +[rdx] call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r13-r14] +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r12 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r12] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo ; gcrRegs +[rax] mov rdx, rax ; gcrRegs +[rdx] mov rsi, r15 ; gcrRegs +[rsi] lea rdi, bword ptr [rbp-40H] ; byrRegs +[rdi] call System.Numerics.Vector4:ToString(System.String,System.IFormatProvider):System.String:this ; gcrRegs -[rdx rsi r15] ; byrRegs -[rdi] mov r14, rax ; gcrRegs +[r14] call System.Globalization.CultureInfo:get_CurrentCulture():System.Globalization.CultureInfo mov r15, rax ; gcrRegs +[r15] mov rdi, 0xD1FFAB1E ; System.Object[] mov esi, 5 call CORINFO_HELP_NEWARR_1_OBJ mov r12, rax ; gcrRegs +[r12] lea rdi, bword ptr [r12+16] ; byrRegs +[rdi] mov rsi, rbx ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rbx rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi lea rdi, bword ptr [r12+24] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 2 ;; bbWeight=1 PerfScore 25.25 G_M22870_IG06: ; , extend lea rdi, bword ptr [r12+32] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov dword ptr [rax+8], 3 lea rdi, bword ptr [r12+40] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rdi, 0xD1FFAB1E ; hackishClassName call CORINFO_HELP_NEWSFAST ; gcrRegs +[rax] mov rdi, 0xD1FFAB1E mov qword ptr [rax+8], rdi lea rdi, bword ptr [r12+48] ; byrRegs +[rdi] mov rsi, rax ; gcrRegs +[rsi] call CORINFO_HELP_ASSIGN_REF ; gcrRegs -[rax rsi] ; byrRegs -[rdi] mov rsi, gword ptr [rbp-50H] ; gcrRegs +[rsi] mov rdi, r15 ; gcrRegs +[rdi] mov rdx, r12 ; gcrRegs +[rdx] ; GC ptr vars -{V46} call System.String:Format(System.IFormatProvider,System.String,System.Object[]):System.String ; gcrRegs -[rdx rsi rdi r12 r15] +[rax] mov rdi, rax ; gcrRegs +[rdi] mov rsi, r14 ; gcrRegs +[rsi] xor edx, edx xor ecx, ecx xor r8d, r8d call hackishModuleName:hackishMethodName() ; gcrRegs -[rax rsi rdi r14] nop ;; bbWeight=1 PerfScore 15.00 G_M22870_IG07: ; , epilog, nogc, extend add rsp, 40 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; bbWeight=1 PerfScore 4.25 RWD00 dd 40200000h ; 2.5 dd 40000000h ; 2 dd 40400000h ; 3 dd 40533333h ; 3.3 ; Total bytes of code 1169, prolog size 22, PerfScore 280.10, instruction count 246, allocated bytes for code 1171 (MethodHash=df59a6a9) for method System.Numerics.Tests.Vector4Tests:Vector4ToStringTest():this ; ============================================================ Unwind Info: >> Start offset : 0x000000 (not in unwind data) >> End offset : 0xd1ffab1e (not in unwind data) Version : 1 Flags : 0x00 SizeOfProlog : 0x0E CountOfUnwindCodes: 7 FrameRegister : none (0) FrameOffset : N/A (no FrameRegister) (Value=0) UnwindCodes : CodeOffset: 0x0E UnwindOp: UWOP_ALLOC_SMALL (2) OpInfo: 4 * 8 + 8 = 40 = 0x28 CodeOffset: 0x0A UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbx (3) CodeOffset: 0x09 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r12 (12) CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r13 (13) CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r14 (14) CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: r15 (15) CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0) OpInfo: rbp (5)
Encontrar la diferencia