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 sin cambios
Sin ajuste de línea
Vista
Dividido
Unificado
Nivel de detalle
Inteligente
Palabra
Letra
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
el año pasado
El diff nunca expira
Borrar
Exportar
Compartir
Explicar
51 eliminaciones
Líneas
Total
Eliminado
Caracteres
Total
Eliminado
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
238 líneas
Copiar todo
51 adiciones
Líneas
Total
Añadido
Caracteres
Total
Añadido
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
239 líneas
Copiar todo
; Assembly listing for method System.Text.Json.Serialization.Converters.Int128Converter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Int128) (FullOpts)
; Assembly listing for method System.Text.Json.Serialization.Converters.Int128Converter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Int128) (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; FullOpts code
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
Copiar
Copiado
Copiar
Copiado
; 0 inlinees with PGO data;
77
single block inlinees; 32 inlinees without PGO data
; 0 inlinees with PGO data;
80
single block inlinees; 32 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T47] ( 3, 3 ) ref -> r15 class-hnd single-def <System.Text.Json.Utf8JsonWriter>
; V00 arg0 [V00,T47] ( 3, 3 ) ref -> r15 class-hnd single-def <System.Text.Json.Utf8JsonWriter>
;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Int128>
;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Int128>
;* V02 loc0 [V02 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]>
;* V02 loc0 [V02 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]>
; V03 loc1 [V03 ] ( 4, 2.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op
; V03 loc1 [V03 ] ( 4, 2.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op
; V04 OutArgs [V04 ] ( 1, 1 ) struct (16) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
; V04 OutArgs [V04 ] ( 1, 1 ) struct (16) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
;* V05 tmp1 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V05 tmp1 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V06 tmp2 [V06 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V06 tmp2 [V06 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V07 tmp3 [V07 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
;* V07 tmp3 [V07 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
; V08 tmp4 [V08,T49] ( 2, 4 ) long -> r13 "Inlining Arg"
; V08 tmp4 [V08,T49] ( 2, 4 ) long -> r13 "Inlining Arg"
;* V09 tmp5 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Int128>
;* V09 tmp5 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Int128>
;* V10 tmp6 [V10 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Span`1[ubyte]>
;* V10 tmp6 [V10 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Span`1[ubyte]>
; V11 tmp7 [V11,T69] ( 2, 1.50) ref -> rdi class-hnd exact single-def "Inline stloc first use temp" <System.Globalization.CultureInfo>
; V11 tmp7 [V11,T69] ( 2, 1.50) ref -> rdi class-hnd exact single-def "Inline stloc first use temp" <System.Globalization.CultureInfo>
;* V12 tmp8 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
;* V12 tmp8 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
;* V13 tmp9 [V13 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V13 tmp9 [V13 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V14 tmp10 [V14 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V14 tmp10 [V14 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V15 tmp11 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V15 tmp11 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V16 tmp12 [V16 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Int128>
;* V16 tmp12 [V16 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Int128>
;* V17 tmp13 [V17 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V17 tmp13 [V17 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V18 tmp14 [V18 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
;* V18 tmp14 [V18 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
; V19 tmp15 [V19,T57] ( 4, 2 ) ref -> r12 class-hnd exact "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
; V19 tmp15 [V19,T57] ( 4, 2 ) ref -> r12 class-hnd exact "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
;* V20 tmp16 [V20 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]>
;* V20 tmp16 [V20 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]>
; V21 tmp17 [V21,T60] ( 2, 2 ) ref -> rax class-hnd single-def "dup spill" <ubyte[]>
; V21 tmp17 [V21,T60] ( 2, 2 ) ref -> rax class-hnd single-def "dup spill" <ubyte[]>
; V22 tmp18 [V22,T53] ( 6, 3 ) ref -> rax
; V22 tmp18 [V22,T53] ( 6, 3 ) ref -> rax
;* V23 tmp19 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "dup spill" <ubyte[]>
;* V23 tmp19 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "dup spill" <ubyte[]>
;* V24 tmp20 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ubyte[]>
;* V24 tmp20 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ubyte[]>
; V25 tmp21 [V25,T54] ( 3, 3 ) ref -> rdi single-def "Spilling to split statement for tree"
; V25 tmp21 [V25,T54] ( 3, 3 ) ref -> rdi single-def "Spilling to split statement for tree"
; V26 tmp22 [V26,T45] ( 5, 5 ) ref -> rsi single-def "Spilling to split statement for tree"
; V26 tmp22 [V26,T45] ( 5, 5 ) ref -> rsi single-def "Spilling to split statement for tree"
Copiar
Copiado
Copiar
Copiado
; V27 tmp23 [V27,T58] ( 4, 2 ) ref -> [rbp-0x
6
0] class-hnd "Inline return value spill temp" <ubyte[]>
; V27 tmp23 [V27,T58] ( 4, 2 ) ref -> [rbp-0x
5
0] class-hnd "Inline return value spill temp" <ubyte[]>
;* V28 tmp24 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.String>
;* V28 tmp24 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.String>
;* V29 tmp25 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V29 tmp25 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
;* V30 tmp26 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ubyte[]>
;* V30 tmp26 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ubyte[]>
;* V31 tmp27 [V31 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V31 tmp27 [V31 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V32 tmp28 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <ubyte[]>
;* V32 tmp28 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <ubyte[]>
;* V33 tmp29 [V33 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V33 tmp29 [V33 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V34 tmp30 [V34 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V34 tmp30 [V34 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V35 tmp31 [V35 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V35 tmp31 [V35 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V36 tmp32 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V36 tmp32 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V37 tmp33 [V37 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V37 tmp33 [V37 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V38 tmp34 [V38 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V38 tmp34 [V38 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp"
;* V39 tmp35 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V39 tmp35 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
; V40 tmp36 [V40 ] ( 3, 1.50) byref -> [rbp-0x38] must-init pinned "Inline stloc first use temp"
; V40 tmp36 [V40 ] ( 3, 1.50) byref -> [rbp-0x38] must-init pinned "Inline stloc first use temp"
; V41 tmp37 [V41,T64] ( 3, 1.50) long -> r12 "Inline stloc first use temp"
; V41 tmp37 [V41,T64] ( 3, 1.50) long -> r12 "Inline stloc first use temp"
;* V42 tmp38 [V42 ] ( 0, 0 ) long -> zero-ref
;* V42 tmp38 [V42 ] ( 0, 0 ) long -> zero-ref
; V43 tmp39 [V43,T55] ( 5, 2.50) int -> rdi "Inline return value spill temp"
; V43 tmp39 [V43,T55] ( 5, 2.50) int -> rdi "Inline return value spill temp"
;* V44 tmp40 [V44 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest ld-addr-op "Inlining Arg" <System.UInt128>
;* V44 tmp40 [V44 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest ld-addr-op "Inlining Arg" <System.UInt128>
;* V45 tmp41 [V45 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V45 tmp41 [V45 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
; V46 tmp42 [V46,T56] ( 5, 2.50) int -> rdi "Inline stloc first use temp"
; V46 tmp42 [V46,T56] ( 5, 2.50) int -> rdi "Inline stloc first use temp"
;* V47 tmp43 [V47 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V47 tmp43 [V47 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V48 tmp44 [V48 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.UInt128>
;* V48 tmp44 [V48 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.UInt128>
;* V49 tmp45 [V49 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128>
;* V49 tmp45 [V49 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128>
;* V50 tmp46 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V50 tmp46 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V51 tmp47 [V51 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V51 tmp47 [V51 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V52 tmp48 [V52 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V52 tmp48 [V52 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
; V53 tmp49 [V53,T65] ( 3, 1.50) long -> rdi "Inline stloc first use temp"
; V53 tmp49 [V53,T65] ( 3, 1.50) long -> rdi "Inline stloc first use temp"
;* V54 tmp50 [V54 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
;* V54 tmp50 [V54 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
;* V55 tmp51 [V55 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V55 tmp51 [V55 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V56 tmp52 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V56 tmp52 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V57 tmp53 [V57 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V57 tmp53 [V57 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V58 tmp54 [V58 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V58 tmp54 [V58 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V59 tmp55 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
;* V59 tmp55 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
;* V60 tmp56 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V60 tmp56 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V61 tmp57 [V61 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V61 tmp57 [V61 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V62 tmp58 [V62 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V62 tmp58 [V62 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
; V63 tmp59 [V63,T66] ( 3, 1.50) long -> rdi "Inline stloc first use temp"
; V63 tmp59 [V63,T66] ( 3, 1.50) long -> rdi "Inline stloc first use temp"
;* V64 tmp60 [V64 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
;* V64 tmp60 [V64 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]>
;* V65 tmp61 [V65 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V65 tmp61 [V65 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V66 tmp62 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V66 tmp62 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V67 tmp63 [V67 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V67 tmp63 [V67 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V68 tmp64 [V68 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V68 tmp64 [V68 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V69 tmp65 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
;* V69 tmp65 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]>
; V70 tmp66 [V70,T59] ( 4, 2 ) int -> rsi "Inline return value spill temp"
; V70 tmp66 [V70,T59] ( 4, 2 ) int -> rsi "Inline return value spill temp"
;* V71 tmp67 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V71 tmp67 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V72 tmp68 [V72 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128>
;* V72 tmp68 [V72 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128>
; V73 tmp69 [V73,T25] ( 4, 18 ) long -> r12 "Inlining Arg"
; V73 tmp69 [V73,T25] ( 4, 18 ) long -> r12 "Inlining Arg"
;* V74 tmp70 [V74 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128>
;* V74 tmp70 [V74 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128>
;* V75 tmp71 [V75 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V75 tmp71 [V75 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V76 tmp72 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128>
;* V76 tmp72 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128>
;* V77 tmp73 [V77 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V77 tmp73 [V77 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V78 tmp74 [V78 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V78 tmp74 [V78 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V79 tmp75 [V79 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128>
;* V79 tmp75 [V79 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128>
;* V80 tmp76 [V80 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128>
;* V80 tmp76 [V80 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128>
;* V81 tmp77 [V81 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V81 tmp77 [V81 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V82 tmp78 [V82 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V82 tmp78 [V82 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V83 tmp79 [V83 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V83 tmp79 [V83 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
; V84 tmp80 [V84,T36] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp"
; V84 tmp80 [V84,T36] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp"
;* V85 tmp81 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V85 tmp81 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V86 tmp82 [V86 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V86 tmp82 [V86 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V87 tmp83 [V87 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V87 tmp83 [V87 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V88 tmp84 [V88 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V88 tmp84 [V88 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V89 tmp85 [V89 ] ( 2, 8 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V89 tmp85 [V89 ] ( 2, 8 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
;* V90 tmp86 [V90 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V90 tmp86 [V90 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V91 tmp87 [V91 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V91 tmp87 [V91 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V92 tmp88 [V92 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V92 tmp88 [V92 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V93 tmp89 [V93,T37] ( 2, 8 ) long -> r14 "Inline stloc first use temp"
; V93 tmp89 [V93,T37] ( 2, 8 ) long -> r14 "Inline stloc first use temp"
;* V94 tmp90 [V94 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V94 tmp90 [V94 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V95 tmp91 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V95 tmp91 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V96 tmp92 [V96 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V96 tmp92 [V96 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V97 tmp93 [V97,T00] ( 10,592 ) long -> registers "Inlining Arg"
; V97 tmp93 [V97,T00] ( 10,592 ) long -> registers "Inlining Arg"
; V98 tmp94 [V98,T02] ( 8,496 ) long -> r12 "Inlining Arg"
; V98 tmp94 [V98,T02] ( 8,496 ) long -> r12 "Inlining Arg"
; V99 tmp95 [V99,T04] ( 6,392 ) int -> rdi "Inlining Arg"
; V99 tmp95 [V99,T04] ( 6,392 ) int -> rdi "Inlining Arg"
;* V100 tmp96 [V100 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V100 tmp96 [V100 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V101 tmp97 [V101 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V101 tmp97 [V101 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V102 tmp98 [V102 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V102 tmp98 [V102 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
; V103 tmp99 [V103,T06] ( 2,256 ) long -> r12 "dup spill"
; V103 tmp99 [V103,T06] ( 2,256 ) long -> r12 "dup spill"
; V104 tmp100 [V104,T16] ( 3, 48 ) long -> rdx "Inline stloc first use temp"
; V104 tmp100 [V104,T16] ( 3, 48 ) long -> rdx "Inline stloc first use temp"
;* V105 tmp101 [V105 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V105 tmp101 [V105 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V106 tmp102 [V106 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V106 tmp102 [V106 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V107 tmp103 [V107 ] ( 0, 0 ) long -> zero-ref
;* V107 tmp103 [V107 ] ( 0, 0 ) long -> zero-ref
;* V108 tmp104 [V108 ] ( 0, 0 ) long -> zero-ref
;* V108 tmp104 [V108 ] ( 0, 0 ) long -> zero-ref
;* V109 tmp105 [V109 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V109 tmp105 [V109 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V110 tmp106 [V110 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V110 tmp106 [V110 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V111 tmp107 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V111 tmp107 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V112 tmp108 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V112 tmp108 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V113 tmp109 [V113 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V113 tmp109 [V113 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V114 tmp110 [V114,T08] ( 3,192 ) long -> rdx "Inline stloc first use temp"
; V114 tmp110 [V114,T08] ( 3,192 ) long -> rdx "Inline stloc first use temp"
;* V115 tmp111 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V115 tmp111 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V116 tmp112 [V116 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V116 tmp112 [V116 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V117 tmp113 [V117 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V117 tmp113 [V117 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V118 tmp114 [V118 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V118 tmp114 [V118 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
; V119 tmp115 [V119,T20] ( 9, 37 ) long -> registers "Inlining Arg"
; V119 tmp115 [V119,T20] ( 9, 37 ) long -> registers "Inlining Arg"
; V120 tmp116 [V120,T24] ( 6, 27 ) long -> rdi "Inlining Arg"
; V120 tmp116 [V120,T24] ( 6, 27 ) long -> rdi "Inlining Arg"
;* V121 tmp117 [V121 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V121 tmp117 [V121 ] ( 0, 0 ) long -> zero-ref "dup spill"
;* V122 tmp118 [V122 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V122 tmp118 [V122 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
; V123 tmp119 [V123,T32] ( 3, 12 ) long -> rdx "Inline stloc first use temp"
; V123 tmp119 [V123,T32] ( 3, 12 ) long -> rdx "Inline stloc first use temp"
;* V124 tmp120 [V124 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V124 tmp120 [V124 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V125 tmp121 [V125 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V125 tmp121 [V125 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V126 tmp122 [V126 ] ( 0, 0 ) long -> zero-ref
;* V126 tmp122 [V126 ] ( 0, 0 ) long -> zero-ref
;* V127 tmp123 [V127 ] ( 0, 0 ) long -> zero-ref
;* V127 tmp123 [V127 ] ( 0, 0 ) long -> zero-ref
;* V128 tmp124 [V128 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V128 tmp124 [V128 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V129 tmp125 [V129 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V129 tmp125 [V129 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V130 tmp126 [V130 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V130 tmp126 [V130 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V131 tmp127 [V131 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V131 tmp127 [V131 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V132 tmp128 [V132 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V132 tmp128 [V132 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V133 tmp129 [V133,T70] ( 2, 1 ) long -> rdi
; V133 tmp129 [V133,T70] ( 2, 1 ) long -> rdi
;* V134 tmp130 [V134 ] ( 0, 0 ) long -> zero-ref
;* V134 tmp130 [V134 ] ( 0, 0 ) long -> zero-ref
;* V135 tmp131 [V135 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V135 tmp131 [V135 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V136 tmp132 [V136 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V136 tmp132 [V136 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V137 tmp133 [V137 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V137 tmp133 [V137 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V138 tmp134 [V138 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V138 tmp134 [V138 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V139 tmp135 [V139 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V139 tmp135 [V139 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V140 tmp136 [V140 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V140 tmp136 [V140 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V141 tmp137 [V141 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128>
;* V141 tmp137 [V141 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128>
; V142 tmp138 [V142,T26] ( 4, 18 ) long -> r12 "Inlining Arg"
; V142 tmp138 [V142,T26] ( 4, 18 ) long -> r12 "Inlining Arg"
; V143 tmp139 [V143,T27] ( 4, 18 ) int -> rbx "Inlining Arg"
; V143 tmp139 [V143,T27] ( 4, 18 ) int -> rbx "Inlining Arg"
;* V144 tmp140 [V144 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128>
;* V144 tmp140 [V144 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128>
;* V145 tmp141 [V145 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V145 tmp141 [V145 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V146 tmp142 [V146 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128>
;* V146 tmp142 [V146 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128>
;* V147 tmp143 [V147 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V147 tmp143 [V147 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V148 tmp144 [V148 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V148 tmp144 [V148 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128>
;* V149 tmp145 [V149 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128>
;* V149 tmp145 [V149 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128>
;* V150 tmp146 [V150 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128>
;* V150 tmp146 [V150 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128>
;* V151 tmp147 [V151 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V151 tmp147 [V151 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V152 tmp148 [V152 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V152 tmp148 [V152 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]>
;* V153 tmp149 [V153 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
;* V153 tmp149 [V153 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128>
; V154 tmp150 [V154,T38] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp"
; V154 tmp150 [V154,T38] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp"
;* V155 tmp151 [V155 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V155 tmp151 [V155 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V156 tmp152 [V156 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V156 tmp152 [V156 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp"
;* V157 tmp153 [V157 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V157 tmp153 [V157 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V158 tmp154 [V158 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V158 tmp154 [V158 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V159 tmp155 [V159 ] ( 2, 8 ) long -> [rbp-0x48] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V159 tmp155 [V159 ] ( 2, 8 ) long -> [rbp-0x48] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
;* V160 tmp156 [V160 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V160 tmp156 [V160 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V161 tmp157 [V161 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V161 tmp157 [V161 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V162 tmp158 [V162 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V162 tmp158 [V162 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V163 tmp159 [V163,T39] ( 2, 8 ) long -> r14 "Inline stloc first use temp"
; V163 tmp159 [V163,T39] ( 2, 8 ) long -> r14 "Inline stloc first use temp"
;* V164 tmp160 [V164 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V164 tmp160 [V164 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V165 tmp161 [V165 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V165 tmp161 [V165 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128>
;* V166 tmp162 [V166 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V166 tmp162 [V166 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V167 tmp163 [V167,T01] ( 10,592 ) long -> registers "Inlining Arg"
; V167 tmp163 [V167,T01] ( 10,592 ) long -> registers "Inlining Arg"
; V168 tmp164 [V168,T03] ( 8,496 ) long -> r12 "Inlining Arg"
; V168 tmp164 [V168,T03] ( 8,496 ) long -> r12 "Inlining Arg"
; V169 tmp165 [V169,T05] ( 6,392 ) int -> rcx "Inlining Arg"
; V169 tmp165 [V169,T05] ( 6,392 ) int -> rcx "Inlining Arg"
;* V170 tmp166 [V170 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V170 tmp166 [V170 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V171 tmp167 [V171 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V171 tmp167 [V171 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V172 tmp168 [V172 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V172 tmp168 [V172 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
; V173 tmp169 [V173,T07] ( 2,256 ) long -> r12 "dup spill"
; V173 tmp169 [V173,T07] ( 2,256 ) long -> r12 "dup spill"
; V174 tmp170 [V174,T17] ( 3, 48 ) long -> rdx "Inline stloc first use temp"
; V174 tmp170 [V174,T17] ( 3, 48 ) long -> rdx "Inline stloc first use temp"
;* V175 tmp171 [V175 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V175 tmp171 [V175 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V176 tmp172 [V176 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V176 tmp172 [V176 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V177 tmp173 [V177 ] ( 0, 0 ) long -> zero-ref
;* V177 tmp173 [V177 ] ( 0, 0 ) long -> zero-ref
;* V178 tmp174 [V178 ] ( 0, 0 ) long -> zero-ref
;* V178 tmp174 [V178 ] ( 0, 0 ) long -> zero-ref
;* V179 tmp175 [V179 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V179 tmp175 [V179 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V180 tmp176 [V180 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V180 tmp176 [V180 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V181 tmp177 [V181 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V181 tmp177 [V181 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V182 tmp178 [V182 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V182 tmp178 [V182 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V183 tmp179 [V183 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V183 tmp179 [V183 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V184 tmp180 [V184,T09] ( 3,192 ) long -> rdx "Inline stloc first use temp"
; V184 tmp180 [V184,T09] ( 3,192 ) long -> rdx "Inline stloc first use temp"
;* V185 tmp181 [V185 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V185 tmp181 [V185 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V186 tmp182 [V186 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V186 tmp182 [V186 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V187 tmp183 [V187 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V187 tmp183 [V187 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V188 tmp184 [V188,T10] ( 10,138 ) long -> registers "Inlining Arg"
; V188 tmp184 [V188,T10] ( 10,138 ) long -> registers "Inlining Arg"
; V189 tmp185 [V189,T13] ( 7,121 ) long -> rsi "Inlining Arg"
; V189 tmp185 [V189,T13] ( 7,121 ) long -> rsi "Inlining Arg"
; V190 tmp186 [V190,T14] ( 6, 89 ) int -> rcx "Inlining Arg"
; V190 tmp186 [V190,T14] ( 6, 89 ) int -> rcx "Inlining Arg"
;* V191 tmp187 [V191 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V191 tmp187 [V191 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V192 tmp188 [V192 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V192 tmp188 [V192 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp"
;* V193 tmp189 [V193 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
;* V193 tmp189 [V193 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]>
; V194 tmp190 [V194,T15] ( 2, 64 ) long -> rsi "dup spill"
; V194 tmp190 [V194,T15] ( 2, 64 ) long -> rsi "dup spill"
; V195 tmp191 [V195,T33] ( 3, 12 ) long -> rdx "Inline stloc first use temp"
; V195 tmp191 [V195,T33] ( 3, 12 ) long -> rdx "Inline stloc first use temp"
;* V196 tmp192 [V196 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V196 tmp192 [V196 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V197 tmp193 [V197 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V197 tmp193 [V197 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V198 tmp194 [V198 ] ( 0, 0 ) long -> zero-ref
;* V198 tmp194 [V198 ] ( 0, 0 ) long -> zero-ref
;* V199 tmp195 [V199 ] ( 0, 0 ) long -> zero-ref
;* V199 tmp195 [V199 ] ( 0, 0 ) long -> zero-ref
;* V200 tmp196 [V200 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V200 tmp196 [V200 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]>
;* V201 tmp197 [V201 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V201 tmp197 [V201 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V202 tmp198 [V202 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V202 tmp198 [V202 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V203 tmp199 [V203 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V203 tmp199 [V203 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
;* V204 tmp200 [V204 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V204 tmp200 [V204 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V205 tmp201 [V205,T18] ( 3, 48 ) long -> rdx "Inline stloc first use temp"
; V205 tmp201 [V205,T18] ( 3, 48 ) long -> rdx "Inline stloc first use temp"
;* V206 tmp202 [V206 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V206 tmp202 [V206 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]>
;* V207 tmp203 [V207 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V207 tmp203 [V207 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V208 tmp204 [V208 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V208 tmp204 [V208 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V209 tmp205 [V209,T44] ( 3, 6 ) int -> rdx "Inlining Arg"
; V209 tmp205 [V209,T44] ( 3, 6 ) int -> rdx "Inlining Arg"
;* V210 tmp206 [V210 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V210 tmp206 [V210 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
Copiar
Copiado
Copiar
Copiado
;* V211 tmp207 [V211 ] ( 0, 0 )
byref -> zero-ref "Inlining Arg"
;* V211 tmp207 [V211 ] ( 0, 0 )
int -> zero-ref "Inlining Arg"
;* V21
2
tmp20
8
[V21
2
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;* V212 tmp208 [V212 ] ( 0, 0 )
byref -> zero-ref "Inlining Arg"
;
V21
3
tmp2
09
[V21
3
] (
4
,
8
) struct (16)
[rbp-0x58] do-not-enreg[XSA]
multireg-arg
must-init addr-exposed
ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
;* V21
3
tmp20
9
[V21
3
] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
;
V214 tmp210
[V21
4
,T48] ( 3, 2 ) long -> r14 single-def "field V01._lower (fldOffset=0x0)" P-INDEP
;
*
V21
4
tmp2
10
[V21
4
] (
0
,
0
) struct (16)
zero-ref
multireg-arg
ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
; V21
5
tmp21
1
[V21
5
,T46] ( 4, 3 ) long -> rbx single-def "field V01._upper (fldOffset=0x8)" P-INDEP
;
* V215 tmp211 [V215 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
; V21
6
tmp21
2
[V21
6
,T52] ( 5, 3.50) byref -> r13 single-def "field V02._reference (fldOffset=0x0)" P-INDEP
;* V216 tmp212 [V216 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;*
V217
tmp21
3
[
V217
,T71] ( 0, 0 ) int -> zero-ref "field V02._length (fldOffset=0x8)" P-INDEP
; V217 tmp213
[V21
7
,T48] ( 3, 2 ) long -> r14 single-def "field V01._lower (fldOffset=0x0)" P-INDEP
; V
218
tmp21
4
[V
218
,T61] ( 2, 2 ) byref -> r13 single-def "field V05._reference (fldOffset=0x0)" P-INDEP
; V21
8
tmp21
4
[V21
8
,T46] ( 4, 3 ) long -> rbx single-def "field V01._upper (fldOffset=0x8)" P-INDEP
;*
V219
tmp21
5
[
V219
,T72] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
; V21
9
tmp21
5
[V21
9
,T52] ( 5, 3.50) byref -> r13 single-def "field V02._reference (fldOffset=0x0)" P-INDEP
;* V22
0
tmp21
6
[V22
0
] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP
;*
V220
tmp21
6
[
V220
,T71] ( 0, 0 ) int -> zero-ref "field V02._length (fldOffset=0x8)" P-INDEP
;* V22
1
tmp2
17
[V22
1
] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP
; V
221
tmp21
7
[V
221
,T61] ( 2, 2 ) byref -> r13 single-def "field V05._reference (fldOffset=0x0)" P-INDEP
;* V22
2
tmp
218
[V22
2
] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
;*
V222
tmp21
8
[
V222
,T72] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP
;* V22
3
tmp2
19
[V22
3
] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
;* V22
3
tmp21
9
[V22
3
] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP
;* V22
4
tmp22
0
[V22
4
] ( 0, 0 ) long -> zero-ref "field V09._lower (fldOffset=0x0)" P-INDEP
;* V22
4
tmp2
20
[V22
4
] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP
;* V22
5
tmp22
1
[V22
5
] ( 0, 0 ) long -> zero-ref "field V0
9._upper (fldOffset=0x8)" P-INDEP
;* V22
5
tmp
221
[V22
5
] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP
;* V226 tmp222 [V226 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP
;* V22
6
tmp2
22
[V22
6
] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP
;* V227 tmp223 [V227 ] ( 0, 0 ) int -> zero
;* V22
7
tmp22
3
[V22
7
] ( 0, 0 ) long -> zero-ref "field V09._lower (fldOffset=0x0)" P-INDEP
;* V22
8
tmp22
4
[V22
8
] ( 0, 0 ) long -> zero-ref "field V0
Diferencias guardadas
Texto original
Abrir archivo
; Assembly listing for method System.Text.Json.Serialization.Converters.Int128Converter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Int128) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 77 single block inlinees; 32 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T47] ( 3, 3 ) ref -> r15 class-hnd single-def <System.Text.Json.Utf8JsonWriter> ;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Int128> ;* V02 loc0 [V02 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]> ; V03 loc1 [V03 ] ( 4, 2.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op ; V04 OutArgs [V04 ] ( 1, 1 ) struct (16) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED> ;* V05 tmp1 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]> ;* V06 tmp2 [V06 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]> ;* V07 tmp3 [V07 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]> ; V08 tmp4 [V08,T49] ( 2, 4 ) long -> r13 "Inlining Arg" ;* V09 tmp5 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Int128> ;* V10 tmp6 [V10 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Span`1[ubyte]> ; V11 tmp7 [V11,T69] ( 2, 1.50) ref -> rdi class-hnd exact single-def "Inline stloc first use temp" <System.Globalization.CultureInfo> ;* V12 tmp8 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]> ;* V13 tmp9 [V13 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]> ;* V14 tmp10 [V14 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V15 tmp11 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]> ;* V16 tmp12 [V16 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Int128> ;* V17 tmp13 [V17 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ;* V18 tmp14 [V18 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]> ; V19 tmp15 [V19,T57] ( 4, 2 ) ref -> r12 class-hnd exact "Inline return value spill temp" <System.Globalization.NumberFormatInfo> ;* V20 tmp16 [V20 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]> ; V21 tmp17 [V21,T60] ( 2, 2 ) ref -> rax class-hnd single-def "dup spill" <ubyte[]> ; V22 tmp18 [V22,T53] ( 6, 3 ) ref -> rax ;* V23 tmp19 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "dup spill" <ubyte[]> ;* V24 tmp20 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ubyte[]> ; V25 tmp21 [V25,T54] ( 3, 3 ) ref -> rdi single-def "Spilling to split statement for tree" ; V26 tmp22 [V26,T45] ( 5, 5 ) ref -> rsi single-def "Spilling to split statement for tree" ; V27 tmp23 [V27,T58] ( 4, 2 ) ref -> [rbp-0x60] class-hnd "Inline return value spill temp" <ubyte[]> ;* V28 tmp24 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.String> ;* V29 tmp25 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed> ;* V30 tmp26 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ubyte[]> ;* V31 tmp27 [V31 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V32 tmp28 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <ubyte[]> ;* V33 tmp29 [V33 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V34 tmp30 [V34 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V35 tmp31 [V35 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V36 tmp32 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V37 tmp33 [V37 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V38 tmp34 [V38 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V39 tmp35 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ; V40 tmp36 [V40 ] ( 3, 1.50) byref -> [rbp-0x38] must-init pinned "Inline stloc first use temp" ; V41 tmp37 [V41,T64] ( 3, 1.50) long -> r12 "Inline stloc first use temp" ;* V42 tmp38 [V42 ] ( 0, 0 ) long -> zero-ref ; V43 tmp39 [V43,T55] ( 5, 2.50) int -> rdi "Inline return value spill temp" ;* V44 tmp40 [V44 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest ld-addr-op "Inlining Arg" <System.UInt128> ;* V45 tmp41 [V45 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ; V46 tmp42 [V46,T56] ( 5, 2.50) int -> rdi "Inline stloc first use temp" ;* V47 tmp43 [V47 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V48 tmp44 [V48 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.UInt128> ;* V49 tmp45 [V49 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128> ;* V50 tmp46 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V51 tmp47 [V51 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V52 tmp48 [V52 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ; V53 tmp49 [V53,T65] ( 3, 1.50) long -> rdi "Inline stloc first use temp" ;* V54 tmp50 [V54 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]> ;* V55 tmp51 [V55 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V56 tmp52 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V57 tmp53 [V57 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V58 tmp54 [V58 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V59 tmp55 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]> ;* V60 tmp56 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V61 tmp57 [V61 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V62 tmp58 [V62 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ; V63 tmp59 [V63,T66] ( 3, 1.50) long -> rdi "Inline stloc first use temp" ;* V64 tmp60 [V64 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]> ;* V65 tmp61 [V65 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V66 tmp62 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V67 tmp63 [V67 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V68 tmp64 [V68 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V69 tmp65 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]> ; V70 tmp66 [V70,T59] ( 4, 2 ) int -> rsi "Inline return value spill temp" ;* V71 tmp67 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ;* V72 tmp68 [V72 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128> ; V73 tmp69 [V73,T25] ( 4, 18 ) long -> r12 "Inlining Arg" ;* V74 tmp70 [V74 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128> ;* V75 tmp71 [V75 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V76 tmp72 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128> ;* V77 tmp73 [V77 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V78 tmp74 [V78 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V79 tmp75 [V79 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128> ;* V80 tmp76 [V80 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128> ;* V81 tmp77 [V81 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ;* V82 tmp78 [V82 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V83 tmp79 [V83 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ; V84 tmp80 [V84,T36] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp" ;* V85 tmp81 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V86 tmp82 [V86 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ;* V87 tmp83 [V87 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V88 tmp84 [V88 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V89 tmp85 [V89 ] ( 2, 8 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ;* V90 tmp86 [V90 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V91 tmp87 [V91 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V92 tmp88 [V92 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V93 tmp89 [V93,T37] ( 2, 8 ) long -> r14 "Inline stloc first use temp" ;* V94 tmp90 [V94 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V95 tmp91 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V96 tmp92 [V96 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V97 tmp93 [V97,T00] ( 10,592 ) long -> registers "Inlining Arg" ; V98 tmp94 [V98,T02] ( 8,496 ) long -> r12 "Inlining Arg" ; V99 tmp95 [V99,T04] ( 6,392 ) int -> rdi "Inlining Arg" ;* V100 tmp96 [V100 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ;* V101 tmp97 [V101 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V102 tmp98 [V102 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V103 tmp99 [V103,T06] ( 2,256 ) long -> r12 "dup spill" ; V104 tmp100 [V104,T16] ( 3, 48 ) long -> rdx "Inline stloc first use temp" ;* V105 tmp101 [V105 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V106 tmp102 [V106 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V107 tmp103 [V107 ] ( 0, 0 ) long -> zero-ref ;* V108 tmp104 [V108 ] ( 0, 0 ) long -> zero-ref ;* V109 tmp105 [V109 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V110 tmp106 [V110 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V111 tmp107 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V112 tmp108 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V113 tmp109 [V113 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V114 tmp110 [V114,T08] ( 3,192 ) long -> rdx "Inline stloc first use temp" ;* V115 tmp111 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V116 tmp112 [V116 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V117 tmp113 [V117 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V118 tmp114 [V118 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ; V119 tmp115 [V119,T20] ( 9, 37 ) long -> registers "Inlining Arg" ; V120 tmp116 [V120,T24] ( 6, 27 ) long -> rdi "Inlining Arg" ;* V121 tmp117 [V121 ] ( 0, 0 ) long -> zero-ref "dup spill" ;* V122 tmp118 [V122 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V123 tmp119 [V123,T32] ( 3, 12 ) long -> rdx "Inline stloc first use temp" ;* V124 tmp120 [V124 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V125 tmp121 [V125 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V126 tmp122 [V126 ] ( 0, 0 ) long -> zero-ref ;* V127 tmp123 [V127 ] ( 0, 0 ) long -> zero-ref ;* V128 tmp124 [V128 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V129 tmp125 [V129 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V130 tmp126 [V130 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V131 tmp127 [V131 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V132 tmp128 [V132 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V133 tmp129 [V133,T70] ( 2, 1 ) long -> rdi ;* V134 tmp130 [V134 ] ( 0, 0 ) long -> zero-ref ;* V135 tmp131 [V135 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V136 tmp132 [V136 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V137 tmp133 [V137 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V138 tmp134 [V138 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V139 tmp135 [V139 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V140 tmp136 [V140 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V141 tmp137 [V141 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128> ; V142 tmp138 [V142,T26] ( 4, 18 ) long -> r12 "Inlining Arg" ; V143 tmp139 [V143,T27] ( 4, 18 ) int -> rbx "Inlining Arg" ;* V144 tmp140 [V144 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128> ;* V145 tmp141 [V145 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V146 tmp142 [V146 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128> ;* V147 tmp143 [V147 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V148 tmp144 [V148 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V149 tmp145 [V149 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128> ;* V150 tmp146 [V150 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128> ;* V151 tmp147 [V151 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ;* V152 tmp148 [V152 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V153 tmp149 [V153 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ; V154 tmp150 [V154,T38] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp" ;* V155 tmp151 [V155 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V156 tmp152 [V156 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ;* V157 tmp153 [V157 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V158 tmp154 [V158 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V159 tmp155 [V159 ] ( 2, 8 ) long -> [rbp-0x48] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ;* V160 tmp156 [V160 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V161 tmp157 [V161 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V162 tmp158 [V162 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V163 tmp159 [V163,T39] ( 2, 8 ) long -> r14 "Inline stloc first use temp" ;* V164 tmp160 [V164 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V165 tmp161 [V165 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V166 tmp162 [V166 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V167 tmp163 [V167,T01] ( 10,592 ) long -> registers "Inlining Arg" ; V168 tmp164 [V168,T03] ( 8,496 ) long -> r12 "Inlining Arg" ; V169 tmp165 [V169,T05] ( 6,392 ) int -> rcx "Inlining Arg" ;* V170 tmp166 [V170 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ;* V171 tmp167 [V171 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V172 tmp168 [V172 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V173 tmp169 [V173,T07] ( 2,256 ) long -> r12 "dup spill" ; V174 tmp170 [V174,T17] ( 3, 48 ) long -> rdx "Inline stloc first use temp" ;* V175 tmp171 [V175 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V176 tmp172 [V176 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V177 tmp173 [V177 ] ( 0, 0 ) long -> zero-ref ;* V178 tmp174 [V178 ] ( 0, 0 ) long -> zero-ref ;* V179 tmp175 [V179 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V180 tmp176 [V180 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V181 tmp177 [V181 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V182 tmp178 [V182 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V183 tmp179 [V183 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V184 tmp180 [V184,T09] ( 3,192 ) long -> rdx "Inline stloc first use temp" ;* V185 tmp181 [V185 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V186 tmp182 [V186 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V187 tmp183 [V187 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V188 tmp184 [V188,T10] ( 10,138 ) long -> registers "Inlining Arg" ; V189 tmp185 [V189,T13] ( 7,121 ) long -> rsi "Inlining Arg" ; V190 tmp186 [V190,T14] ( 6, 89 ) int -> rcx "Inlining Arg" ;* V191 tmp187 [V191 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ;* V192 tmp188 [V192 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V193 tmp189 [V193 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V194 tmp190 [V194,T15] ( 2, 64 ) long -> rsi "dup spill" ; V195 tmp191 [V195,T33] ( 3, 12 ) long -> rdx "Inline stloc first use temp" ;* V196 tmp192 [V196 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V197 tmp193 [V197 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V198 tmp194 [V198 ] ( 0, 0 ) long -> zero-ref ;* V199 tmp195 [V199 ] ( 0, 0 ) long -> zero-ref ;* V200 tmp196 [V200 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V201 tmp197 [V201 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V202 tmp198 [V202 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V203 tmp199 [V203 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V204 tmp200 [V204 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V205 tmp201 [V205,T18] ( 3, 48 ) long -> rdx "Inline stloc first use temp" ;* V206 tmp202 [V206 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V207 tmp203 [V207 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V208 tmp204 [V208 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V209 tmp205 [V209,T44] ( 3, 6 ) int -> rdx "Inlining Arg" ;* V210 tmp206 [V210 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]> ;* V211 tmp207 [V211 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V212 tmp208 [V212 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ; V213 tmp209 [V213 ] ( 4, 8 ) struct (16) [rbp-0x58] do-not-enreg[XSA] multireg-arg must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ; V214 tmp210 [V214,T48] ( 3, 2 ) long -> r14 single-def "field V01._lower (fldOffset=0x0)" P-INDEP ; V215 tmp211 [V215,T46] ( 4, 3 ) long -> rbx single-def "field V01._upper (fldOffset=0x8)" P-INDEP ; V216 tmp212 [V216,T52] ( 5, 3.50) byref -> r13 single-def "field V02._reference (fldOffset=0x0)" P-INDEP ;* V217 tmp213 [V217,T71] ( 0, 0 ) int -> zero-ref "field V02._length (fldOffset=0x8)" P-INDEP ; V218 tmp214 [V218,T61] ( 2, 2 ) byref -> r13 single-def "field V05._reference (fldOffset=0x0)" P-INDEP ;* V219 tmp215 [V219,T72] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP ;* V220 tmp216 [V220 ] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP ;* V221 tmp217 [V221 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP ;* V222 tmp218 [V222 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP ;* V223 tmp219 [V223 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP ;* V224 tmp220 [V224 ] ( 0, 0 ) long -> zero-ref "field V09._lower (fldOffset=0x0)" P-INDEP ;* V225 tmp221 [V225 ] ( 0, 0 ) long -> zero-ref "field V09._upper (fldOffset=0x8)" P-INDEP ;* V226 tmp222 [V226 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP ;* V227 tmp223 [V227 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP ;* V228 tmp224 [V228 ] ( 0, 0 ) byref -> zero-ref single-def "field V12._reference (fldOffset=0x0)" P-INDEP ;* V229 tmp225 [V229 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP ;* V230 tmp226 [V230 ] ( 0, 0 ) byref -> zero-ref single-def "field V13._reference (fldOffset=0x0)" P-INDEP ;* V231 tmp227 [V231 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP ;* V232 tmp228 [V232 ] ( 0, 0 ) byref -> zero-ref single-def "field V15._reference (fldOffset=0x0)" P-INDEP ;* V233 tmp229 [V233 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP ;* V234 tmp230 [V234 ] ( 0, 0 ) long -> zero-ref "field V16._lower (fldOffset=0x0)" P-INDEP ;* V235 tmp231 [V235 ] ( 0, 0 ) long -> zero-ref "field V16._upper (fldOffset=0x8)" P-INDEP ;* V236 tmp232 [V236 ] ( 0, 0 ) long -> zero-ref "field V17._lower (fldOffset=0x0)" P-INDEP ;* V237 tmp233 [V237 ] ( 0, 0 ) long -> zero-ref "field V17._upper (fldOffset=0x8)" P-INDEP ;* V238 tmp234 [V238 ] ( 0, 0 ) byref -> zero-ref "field V18._reference (fldOffset=0x0)" P-INDEP ;* V239 tmp235 [V239 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP ;* V240 tmp236 [V240 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP ;* V241 tmp237 [V241 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP ; V242 tmp238 [V242,T63] ( 3, 1.50) byref -> rcx "field V31._reference (fldOffset=0x0)" P-INDEP ; V243 tmp239 [V243,T67] ( 3, 1.50) int -> r8 "field V31._length (fldOffset=0x8)" P-INDEP ; V244 tmp240 [V244,T50] ( 7, 3.50) long -> r14 "field V33._lower (fldOffset=0x0)" P-INDEP ; V245 tmp241 [V245,T51] ( 7, 3.50) long -> rbx "field V33._upper (fldOffset=0x8)" P-INDEP ;* V246 tmp242 [V246 ] ( 0, 0 ) byref -> zero-ref single-def "field V39._reference (fldOffset=0x0)" P-INDEP ;* V247 tmp243 [V247 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP ; V248 tmp244 [V248,T68] ( 3, 1.50) long -> rax "field V44._lower (fldOffset=0x0)" P-INDEP ; V249 tmp245 [V249,T73] ( 1, 0.50) long -> rdx "field V44._upper (fldOffset=0x8)" P-INDEP ;* V250 tmp246 [V250 ] ( 0, 0 ) long -> zero-ref "field V47._lower (fldOffset=0x0)" P-INDEP ;* V251 tmp247 [V251 ] ( 0, 0 ) long -> zero-ref "field V47._upper (fldOffset=0x8)" P-INDEP ;* V252 tmp248 [V252 ] ( 0, 0 ) long -> zero-ref "field V48._lower (fldOffset=0x0)" P-INDEP ;* V253 tmp249 [V253 ] ( 0, 0 ) long -> zero-ref "field V48._upper (fldOffset=0x8)" P-INDEP ;* V254 tmp250 [V254 ] ( 0, 0 ) long -> zero-ref "field V49._lower (fldOffset=0x0)" P-DEP ;* V255 tmp251 [V255 ] ( 0, 0 ) long -> zero-ref "field V49._upper (fldOffset=0x8)" P-DEP ;* V256 tmp252 [V256 ] ( 0, 0 ) byref -> zero-ref single-def "field V50._reference (fldOffset=0x0)" P-INDEP ;* V257 tmp253 [V257 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP ;* V258 tmp254 [V258 ] ( 0, 0 ) byref -> zero-ref single-def "field V54._reference (fldOffset=0x0)" P-INDEP ;* V259 tmp255 [V259 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP ;* V260 tmp256 [V260 ] ( 0, 0 ) byref -> zero-ref single-def "field V56._reference (fldOffset=0x0)" P-INDEP ;* V261 tmp257 [V261 ] ( 0, 0 ) int -> zero-ref "field V56._length (fldOffset=0x8)" P-INDEP ;* V262 tmp258 [V262 ] ( 0, 0 ) byref -> zero-ref single-def "field V59._reference (fldOffset=0x0)" P-INDEP ;* V263 tmp259 [V263 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP ;* V264 tmp260 [V264 ] ( 0, 0 ) byref -> zero-ref single-def "field V60._reference (fldOffset=0x0)" P-INDEP ;* V265 tmp261 [V265 ] ( 0, 0 ) int -> zero-ref "field V60._length (fldOffset=0x8)" P-INDEP ;* V266 tmp262 [V266 ] ( 0, 0 ) byref -> zero-ref single-def "field V64._reference (fldOffset=0x0)" P-INDEP ;* V267 tmp263 [V267 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP ;* V268 tmp264 [V268 ] ( 0, 0 ) byref -> zero-ref single-def "field V66._reference (fldOffset=0x0)" P-INDEP ;* V269 tmp265 [V269 ] ( 0, 0 ) int -> zero-ref "field V66._length (fldOffset=0x8)" P-INDEP ;* V270 tmp266 [V270 ] ( 0, 0 ) byref -> zero-ref single-def "field V69._reference (fldOffset=0x0)" P-INDEP ;* V271 tmp267 [V271 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP ;* V272 tmp268 [V272 ] ( 0, 0 ) byref -> zero-ref single-def "field V71._reference (fldOffset=0x0)" P-INDEP ;* V273 tmp269 [V273 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-INDEP ; V274 tmp270 [V274,T28] ( 5, 13 ) long -> registers "field V72._lower (fldOffset=0x0)" P-INDEP ; V275 tmp271 [V275,T29] ( 5, 13 ) long -> rsi "field V72._upper (fldOffset=0x8)" P-INDEP ;* V276 tmp272 [V276 ] ( 0, 0 ) long -> zero-ref "field V74._lower (fldOffset=0x0)" P-INDEP ;* V277 tmp273 [V277 ] ( 0, 0 ) long -> zero-ref "field V74._upper (fldOffset=0x8)" P-INDEP ;* V278 tmp274 [V278 ] ( 0, 0 ) long -> zero-ref "field V76._lower (fldOffset=0x0)" P-INDEP ;* V279 tmp275 [V279 ] ( 0, 0 ) long -> zero-ref "field V76._upper (fldOffset=0x8)" P-INDEP ;* V280 tmp276 [V280 ] ( 0, 0 ) long -> zero-ref "field V77._lower (fldOffset=0x0)" P-INDEP ;* V281 tmp277 [V281 ] ( 0, 0 ) long -> zero-ref "field V77._upper (fldOffset=0x8)" P-INDEP ;* V282 tmp278 [V282 ] ( 0, 0 ) long -> zero-ref "field V78._lower (fldOffset=0x0)" P-INDEP ;* V283 tmp279 [V283 ] ( 0, 0 ) long -> zero-ref "field V78._upper (fldOffset=0x8)" P-INDEP ;* V284 tmp280 [V284 ] ( 0, 0 ) long -> zero-ref "field V79._lower (fldOffset=0x0)" P-DEP ;* V285 tmp281 [V285 ] ( 0, 0 ) long -> zero-ref "field V79._upper (fldOffset=0x8)" P-DEP ; V286 tmp282 [V286,T34] ( 3, 12 ) long -> rax "field V80._lower (fldOffset=0x0)" P-INDEP ; V287 tmp283 [V287,T40] ( 2, 8 ) long -> rsi "field V80._upper (fldOffset=0x8)" P-INDEP ;* V288 tmp284 [V288 ] ( 0, 0 ) long -> zero-ref "field V81._lower (fldOffset=0x0)" P-INDEP ;* V289 tmp285 [V289 ] ( 0, 0 ) long -> zero-ref "field V81._upper (fldOffset=0x8)" P-INDEP ;* V290 tmp286 [V290 ] ( 0, 0 ) long -> zero-ref "field V83._lower (fldOffset=0x0)" P-INDEP ;* V291 tmp287 [V291 ] ( 0, 0 ) long -> zero-ref "field V83._upper (fldOffset=0x8)" P-INDEP ;* V292 tmp288 [V292 ] ( 0, 0 ) long -> zero-ref "field V85._lower (fldOffset=0x0)" P-INDEP ;* V293 tmp289 [V293 ] ( 0, 0 ) long -> zero-ref "field V85._upper (fldOffset=0x8)" P-INDEP ;* V294 tmp290 [V294 ] ( 0, 0 ) long -> zero-ref "field V95._lower (fldOffset=0x0)" P-INDEP ;* V295 tmp291 [V295 ] ( 0, 0 ) long -> zero-ref "field V95._upper (fldOffset=0x8)" P-INDEP ;* V296 tmp292 [V296 ] ( 0, 0 ) long -> zero-ref "field V100.Item1 (fldOffset=0x0)" P-INDEP ;* V297 tmp293 [V297 ] ( 0, 0 ) long -> zero-ref "field V100.Item2 (fldOffset=0x8)" P-INDEP ;* V298 tmp294 [V298 ] ( 0, 0 ) long -> zero-ref "field V102.Item1 (fldOffset=0x0)" P-INDEP ;* V299 tmp295 [V299 ] ( 0, 0 ) long -> zero-ref "field V102.Item2 (fldOffset=0x8)" P-INDEP ;* V300 tmp296 [V300 ] ( 0, 0 ) long -> zero-ref "field V105.Item1 (fldOffset=0x0)" P-INDEP ; V301 tmp297 [V301,T21] ( 2, 32 ) long -> r14 "field V105.Item2 (fldOffset=0x8)" P-INDEP ;* V302 tmp298 [V302 ] ( 0, 0 ) byref -> zero-ref "field V109._reference (fldOffset=0x0)" P-INDEP ;* V303 tmp299 [V303 ] ( 0, 0 ) int -> zero-ref "field V109._length (fldOffset=0x8)" P-INDEP ;* V304 tmp300 [V304 ] ( 0, 0 ) byref -> zero-ref "field V111._reference (fldOffset=0x0)" P-INDEP ;* V305 tmp301 [V305 ] ( 0, 0 ) int -> zero-ref "field V111._length (fldOffset=0x8)" P-INDEP ;* V306 tmp302 [V306 ] ( 0, 0 ) byref -> zero-ref "field V112._reference (fldOffset=0x0)" P-INDEP ;* V307 tmp303 [V307 ] ( 0, 0 ) int -> zero-ref "field V112._length (fldOffset=0x8)" P-INDEP ;* V308 tmp304 [V308 ] ( 0, 0 ) long -> zero-ref "field V115.Item1 (fldOffset=0x0)" P-INDEP ; V309 tmp305 [V309,T11] ( 2,128 ) long -> r8 "field V115.Item2 (fldOffset=0x8)" P-INDEP ;* V310 tmp306 [V310 ] ( 0, 0 ) long -> zero-ref "field V122.Item1 (fldOffset=0x0)" P-INDEP ;* V311 tmp307 [V311 ] ( 0, 0 ) long -> zero-ref "field V122.Item2 (fldOffset=0x8)" P-INDEP ;* V312 tmp308 [V312 ] ( 0, 0 ) long -> zero-ref "field V124.Item1 (fldOffset=0x0)" P-INDEP ; V313 tmp309 [V313,T41] ( 2, 8 ) long -> rcx "field V124.Item2 (fldOffset=0x8)" P-INDEP ;* V314 tmp310 [V314 ] ( 0, 0 ) byref -> zero-ref "field V128._reference (fldOffset=0x0)" P-INDEP ;* V315 tmp311 [V315 ] ( 0, 0 ) int -> zero-ref "field V128._length (fldOffset=0x8)" P-INDEP ;* V316 tmp312 [V316 ] ( 0, 0 ) byref -> zero-ref "field V130._reference (fldOffset=0x0)" P-INDEP ;* V317 tmp313 [V317 ] ( 0, 0 ) int -> zero-ref "field V130._length (fldOffset=0x8)" P-INDEP ;* V318 tmp314 [V318 ] ( 0, 0 ) byref -> zero-ref "field V131._reference (fldOffset=0x0)" P-INDEP ;* V319 tmp315 [V319 ] ( 0, 0 ) int -> zero-ref "field V131._length (fldOffset=0x8)" P-INDEP ;* V320 tmp316 [V320 ] ( 0, 0 ) byref -> zero-ref "field V135._reference (fldOffset=0x0)" P-INDEP ;* V321 tmp317 [V321 ] ( 0, 0 ) int -> zero-ref "field V135._length (fldOffset=0x8)" P-INDEP ;* V322 tmp318 [V322 ] ( 0, 0 ) byref -> zero-ref single-def "field V137._reference (fldOffset=0x0)" P-INDEP ;* V323 tmp319 [V323 ] ( 0, 0 ) int -> zero-ref "field V137._length (fldOffset=0x8)" P-INDEP ;* V324 tmp320 [V324 ] ( 0, 0 ) byref -> zero-ref single-def "field V138._reference (fldOffset=0x0)" P-INDEP ;* V325 tmp321 [V325 ] ( 0, 0 ) int -> zero-ref "field V138._length (fldOffset=0x8)" P-INDEP ; V326 tmp322 [V326,T30] ( 5, 13 ) long -> registers "field V141._lower (fldOffset=0x0)" P-INDEP ; V327 tmp323 [V327,T31] ( 5, 13 ) long -> rsi "field V141._upper (fldOffset=0x8)" P-INDEP ;* V328 tmp324 [V328 ] ( 0, 0 ) long -> zero-ref "field V144._lower (fldOffset=0x0)" P-INDEP ;* V329 tmp325 [V329 ] ( 0, 0 ) long -> zero-ref "field V144._upper (fldOffset=0x8)" P-INDEP ;* V330 tmp326 [V330 ] ( 0, 0 ) long -> zero-ref "field V146._lower (fldOffset=0x0)" P-INDEP ;* V331 tmp327 [V331 ] ( 0, 0 ) long -> zero-ref "field V146._upper (fldOffset=0x8)" P-INDEP ;* V332 tmp328 [V332 ] ( 0, 0 ) long -> zero-ref "field V147._lower (fldOffset=0x0)" P-INDEP ;* V333 tmp329 [V333 ] ( 0, 0 ) long -> zero-ref "field V147._upper (fldOffset=0x8)" P-INDEP ;* V334 tmp330 [V334 ] ( 0, 0 ) long -> zero-ref "field V148._lower (fldOffset=0x0)" P-INDEP ;* V335 tmp331 [V335 ] ( 0, 0 ) long -> zero-ref "field V148._upper (fldOffset=0x8)" P-INDEP ;* V336 tmp332 [V336 ] ( 0, 0 ) long -> zero-ref "field V149._lower (fldOffset=0x0)" P-DEP ;* V337 tmp333 [V337 ] ( 0, 0 ) long -> zero-ref "field V149._upper (fldOffset=0x8)" P-DEP ; V338 tmp334 [V338,T35] ( 3, 12 ) long -> rax "field V150._lower (fldOffset=0x0)" P-INDEP ; V339 tmp335 [V339,T42] ( 2, 8 ) long -> rsi "field V150._upper (fldOffset=0x8)" P-INDEP ;* V340 tmp336 [V340 ] ( 0, 0 ) long -> zero-ref "field V151._lower (fldOffset=0x0)" P-INDEP ;* V341 tmp337 [V341 ] ( 0, 0 ) long -> zero-ref "field V151._upper (fldOffset=0x8)" P-INDEP ;* V342 tmp338 [V342 ] ( 0, 0 ) long -> zero-ref "field V153._lower (fldOffset=0x0)" P-INDEP ;* V343 tmp339 [V343 ] ( 0, 0 ) long -> zero-ref "field V153._upper (fldOffset=0x8)" P-INDEP ;* V344 tmp340 [V344 ] ( 0, 0 ) long -> zero-ref "field V155._lower (fldOffset=0x0)" P-INDEP ;* V345 tmp341 [V345 ] ( 0, 0 ) long -> zero-ref "field V155._upper (fldOffset=0x8)" P-INDEP ;* V346 tmp342 [V346 ] ( 0, 0 ) long -> zero-ref "field V165._lower (fldOffset=0x0)" P-INDEP ;* V347 tmp343 [V347 ] ( 0, 0 ) long -> zero-ref "field V165._upper (fldOffset=0x8)" P-INDEP ;* V348 tmp344 [V348 ] ( 0, 0 ) long -> zero-ref "field V170.Item1 (fldOffset=0x0)" P-INDEP ;* V349 tmp345 [V349 ] ( 0, 0 ) long -> zero-ref "field V170.Item2 (fldOffset=0x8)" P-INDEP ;* V350 tmp346 [V350 ] ( 0, 0 ) long -> zero-ref "field V172.Item1 (fldOffset=0x0)" P-INDEP ;* V351 tmp347 [V351 ] ( 0, 0 ) long -> zero-ref "field V172.Item2 (fldOffset=0x8)" P-INDEP ;* V352 tmp348 [V352 ] ( 0, 0 ) long -> zero-ref "field V175.Item1 (fldOffset=0x0)" P-INDEP ; V353 tmp349 [V353,T22] ( 2, 32 ) long -> r14 "field V175.Item2 (fldOffset=0x8)" P-INDEP ;* V354 tmp350 [V354 ] ( 0, 0 ) byref -> zero-ref "field V179._reference (fldOffset=0x0)" P-INDEP ;* V355 tmp351 [V355 ] ( 0, 0 ) int -> zero-ref "field V179._length (fldOffset=0x8)" P-INDEP ;* V356 tmp352 [V356 ] ( 0, 0 ) byref -> zero-ref "field V181._reference (fldOffset=0x0)" P-INDEP ;* V357 tmp353 [V357 ] ( 0, 0 ) int -> zero-ref "field V181._length (fldOffset=0x8)" P-INDEP ;* V358 tmp354 [V358 ] ( 0, 0 ) byref -> zero-ref "field V182._reference (fldOffset=0x0)" P-INDEP ;* V359 tmp355 [V359 ] ( 0, 0 ) int -> zero-ref "field V182._length (fldOffset=0x8)" P-INDEP ;* V360 tmp356 [V360 ] ( 0, 0 ) long -> zero-ref "field V185.Item1 (fldOffset=0x0)" P-INDEP ; V361 tmp357 [V361,T12] ( 2,128 ) long -> rax "field V185.Item2 (fldOffset=0x8)" P-INDEP ;* V362 tmp358 [V362 ] ( 0, 0 ) long -> zero-ref "field V191.Item1 (fldOffset=0x0)" P-INDEP ;* V363 tmp359 [V363 ] ( 0, 0 ) long -> zero-ref "field V191.Item2 (fldOffset=0x8)" P-INDEP ;* V364 tmp360 [V364 ] ( 0, 0 ) long -> zero-ref "field V193.Item1 (fldOffset=0x0)" P-INDEP ;* V365 tmp361 [V365 ] ( 0, 0 ) long -> zero-ref "field V193.Item2 (fldOffset=0x8)" P-INDEP ;* V366 tmp362 [V366 ] ( 0, 0 ) long -> zero-ref "field V196.Item1 (fldOffset=0x0)" P-INDEP ; V367 tmp363 [V367,T43] ( 2, 8 ) long -> rdi "field V196.Item2 (fldOffset=0x8)" P-INDEP ;* V368 tmp364 [V368 ] ( 0, 0 ) byref -> zero-ref "field V200._reference (fldOffset=0x0)" P-INDEP ;* V369 tmp365 [V369 ] ( 0, 0 ) int -> zero-ref "field V200._length (fldOffset=0x8)" P-INDEP ;* V370 tmp366 [V370 ] ( 0, 0 ) byref -> zero-ref "field V202._reference (fldOffset=0x0)" P-INDEP ;* V371 tmp367 [V371 ] ( 0, 0 ) int -> zero-ref "field V202._length (fldOffset=0x8)" P-INDEP ;* V372 tmp368 [V372 ] ( 0, 0 ) byref -> zero-ref "field V203._reference (fldOffset=0x0)" P-INDEP ;* V373 tmp369 [V373 ] ( 0, 0 ) int -> zero-ref "field V203._length (fldOffset=0x8)" P-INDEP ;* V374 tmp370 [V374 ] ( 0, 0 ) long -> zero-ref "field V206.Item1 (fldOffset=0x0)" P-INDEP ; V375 tmp371 [V375,T23] ( 2, 32 ) long -> rax "field V206.Item2 (fldOffset=0x8)" P-INDEP ;* V376 tmp372 [V376 ] ( 0, 0 ) byref -> zero-ref single-def "field V210._reference (fldOffset=0x0)" P-INDEP ;* V377 tmp373 [V377 ] ( 0, 0 ) int -> zero-ref "field V210._length (fldOffset=0x8)" P-INDEP ;* V378 tmp374 [V378 ] ( 0, 0 ) byref -> zero-ref single-def "field V212._reference (fldOffset=0x0)" P-INDEP ;* V379 tmp375 [V379 ] ( 0, 0 ) int -> zero-ref "field V212._length (fldOffset=0x8)" P-INDEP ; V380 tmp376 [V380 ] ( 4, 8 ) byref -> [rbp-0x58] do-not-enreg[X] addr-exposed "field V213._reference (fldOffset=0x0)" P-DEP ; V381 tmp377 [V381 ] ( 4, 8 ) int -> [rbp-0x50] do-not-enreg[X] addr-exposed "field V213._length (fldOffset=0x8)" P-DEP ;* V382 tmp378 [V382 ] ( 0, 0 ) long -> zero-ref "V75.[000..008)" ;* V383 tmp379 [V383 ] ( 0, 0 ) long -> zero-ref "V75.[008..016)" ;* V384 tmp380 [V384 ] ( 0, 0 ) long -> zero-ref "V75.[016..024)" ;* V385 tmp381 [V385 ] ( 0, 0 ) long -> zero-ref "V75.[024..032)" ;* V386 tmp382 [V386 ] ( 0, 0 ) long -> zero-ref "V82.[000..008)" ;* V387 tmp383 [V387 ] ( 0, 0 ) long -> zero-ref "V82.[008..016)" ;* V388 tmp384 [V388 ] ( 0, 0 ) long -> zero-ref "V82.[016..024)" ;* V389 tmp385 [V389 ] ( 0, 0 ) long -> zero-ref "V82.[024..032)" ;* V390 tmp386 [V390 ] ( 0, 0 ) long -> zero-ref "V145.[000..008)" ;* V391 tmp387 [V391 ] ( 0, 0 ) long -> zero-ref "V145.[008..016)" ;* V392 tmp388 [V392 ] ( 0, 0 ) long -> zero-ref "V145.[016..024)" ;* V393 tmp389 [V393 ] ( 0, 0 ) long -> zero-ref "V145.[024..032)" ;* V394 tmp390 [V394 ] ( 0, 0 ) long -> zero-ref "V152.[000..008)" ;* V395 tmp391 [V395 ] ( 0, 0 ) long -> zero-ref "V152.[008..016)" ;* V396 tmp392 [V396 ] ( 0, 0 ) long -> zero-ref "V152.[016..024)" ;* V397 tmp393 [V397 ] ( 0, 0 ) long -> zero-ref "V152.[024..032)" ; V398 tmp394 [V398,T62] ( 2, 2 ) long -> r12 "Cast away GC" ; V399 GsCookie [V399 ] ( 1, 1 ) long -> [rbp-0x68] do-not-enreg[X] addr-exposed "GSSecurityCookie" ; V400 cse0 [V400,T19] ( 10, 47.25) long -> r8 hoist multi-def "CSE #03: moderate" ; ; Lcl frame size = 88 G_M34037_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 88 lea rbp, [rsp+0x80] xor eax, eax mov qword ptr [rbp-0x58], rax vxorps xmm8, xmm8, xmm8 vmovdqu ymmword ptr [rbp-0x50], ymm8 mov qword ptr [rbp-0x68], 0xD1FFAB1E mov r15, rdi mov r14, rsi mov rbx, rdx ;; size=55 bbWeight=1 PerfScore 12.08 G_M34037_IG02: test dword ptr [rsp], esp sub rsp, 48 lea r13, [rsp+0x10] mov rdi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rdi] test rbx, rbx jl G_M34037_IG34 ;; size=34 bbWeight=1 PerfScore 7.25 G_M34037_IG03: test rbx, rbx je G_M34037_IG06 mov edi, 20 cmp rbx, 5 ja SHORT G_M34037_IG04 cmp rbx, 5 jne SHORT G_M34037_IG05 mov rsi, 0xD1FFAB1E mov edx, 21 cmp r14, rsi cmovae edi, edx jmp SHORT G_M34037_IG05 align [0 bytes for IG12] ;; size=49 bbWeight=0.50 PerfScore 3.50 G_M34037_IG04: mov rdi, r14 mov rsi, rbx mov rdx, 0xD1FFAB1E mov ecx, 5 mov rax, 0xD1FFAB1E ; code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 call [rax]System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 mov rdi, rax or rdi, 1 lzcnt rdi, rdi xor edi, 63 movsxd rdi, edi mov rsi, 0xD1FFAB1E ; static handle movzx rdi, byte ptr [rdi+rsi] mov rsi, 0xD1FFAB1E ; static handle cmp rax, qword ptr [rsi+8*rdi] setb sil movzx rsi, sil sub edi, esi add edi, 20 ;; size=93 bbWeight=0.50 PerfScore 7.25 G_M34037_IG05: jmp SHORT G_M34037_IG07 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M34037_IG06: mov rdi, r14 or rdi, 1 lzcnt rdi, rdi xor edi, 63 movsxd rdi, edi mov rsi, 0xD1FFAB1E ; static handle movzx rdi, byte ptr [rdi+rsi] mov rsi, 0xD1FFAB1E ; static handle cmp r14, qword ptr [rsi+8*rdi] setb sil movzx rsi, sil sub edi, esi ;; size=57 bbWeight=0.50 PerfScore 5.00 G_M34037_IG07: mov esi, -1 test edi, edi cmovge esi, edi cmp esi, 40 jle SHORT G_M34037_IG08 xor esi, esi mov dword ptr [rbp-0x30], esi jmp G_M34037_IG18 ;; size=25 bbWeight=0.50 PerfScore 2.62 G_M34037_IG08: mov dword ptr [rbp-0x30], esi mov bword ptr [rbp-0x38], r13 mov r12, r13 movsxd rax, esi add r12, rax cmp edi, -1 jge G_M34037_IG30 mov rsi, rbx mov ebx, -1 test rsi, rsi jne G_M34037_IG25 ;; size=42 bbWeight=0.50 PerfScore 2.88 G_M34037_IG09: mov rdi, r14 ;; size=3 bbWeight=0.25 PerfScore 0.06 G_M34037_IG10: mov rsi, r12 mov ecx, ebx cmp rdi, 100 jb G_M34037_IG29 ;; size=15 bbWeight=0.50 PerfScore 0.88 G_M34037_IG11: mov r8, 0xD1FFAB1E ; static handle ;; size=10 bbWeight=0.25 PerfScore 0.06 G_M34037_IG12: add rsi, -2 add ecx, -2 mov rdx, 0xD1FFAB1E mov rax, rdi shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub rdi, rax mov r9, rdx add edi, edi mov eax, edi mov ax, word ptr [rax+r8] mov word ptr [rsi], ax cmp r9, 100 jb SHORT G_M34037_IG15 ;; size=59 bbWeight=4 PerfScore 49.00 G_M34037_IG13: mov rdi, r9 jmp SHORT G_M34037_IG12 align [0 bytes for IG14] ;; size=5 bbWeight=2 PerfScore 4.50 G_M34037_IG14: dec ecx mov rdx, 0xD1FFAB1E mov rax, r9 mul rdx:rax, rdx shr rdx, 3 lea rdi, [rdx+4*rdx] add rdi, rdi mov rax, r9 sub rax, rdi mov r9, rdx dec rsi add eax, 48 mov byte ptr [rsi], al ;; size=46 bbWeight=16 PerfScore 116.00 G_M34037_IG15: test r9, r9 jne SHORT G_M34037_IG14 ;; size=5 bbWeight=4 PerfScore 5.00 G_M34037_IG16: test ecx, ecx jg SHORT G_M34037_IG14 ;; size=4 bbWeight=4 PerfScore 5.00 G_M34037_IG17: xor edi, edi mov bword ptr [rbp-0x38], rdi ;; size=6 bbWeight=0.50 PerfScore 0.62 G_M34037_IG18: xor rdi, rdi mov bword ptr [rbp-0x38], rdi jmp G_M34037_IG41 align [0 bytes for IG20] ;; size=11 bbWeight=0.50 PerfScore 1.62 G_M34037_IG19: mov r9, r14 jmp SHORT G_M34037_IG21 ;; size=5 bbWeight=2 PerfScore 4.50 G_M34037_IG20: dec ecx mov rdx, 0xD1FFAB1E mov rax, r9 mul rdx:rax, rdx shr rdx, 3 lea r8, [rdx+4*rdx] add r8, r8 mov rax, r9 sub rax, r8 mov r9, rdx dec r12 add eax, 48 mov byte ptr [r12], al ;; size=48 bbWeight=64 PerfScore 464.00 G_M34037_IG21: test r9, r9 jne SHORT G_M34037_IG20 ;; size=5 bbWeight=32 PerfScore 40.00 G_M34037_IG22: test ecx, ecx jg SHORT G_M34037_IG20 ;; size=4 bbWeight=32 PerfScore 40.00 G_M34037_IG23: add ebx, -19 test rsi, rsi je G_M34037_IG10 ;; size=12 bbWeight=4 PerfScore 6.00 G_M34037_IG24: mov r14, rdi ;; size=3 bbWeight=2 PerfScore 0.50 G_M34037_IG25: mov rdi, r14 mov rdx, 0xD1FFAB1E xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 call [rax]System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 mov rsi, rdx mov rdi, 0xD1FFAB1E lea rcx, [rbp-0x48] mov rdx, rax mulx rdx, r8, rdi mov qword ptr [rcx], r8 mov rdx, qword ptr [rbp-0x48] sub r14, rdx mov rdi, rax mov ecx, 19 cmp r14, 100 jb G_M34037_IG19 ;; size=80 bbWeight=4 PerfScore 49.00 G_M34037_IG26: mov r8, 0xD1FFAB1E ; static handle align [0 bytes for IG27] ;; size=10 bbWeight=1 PerfScore 0.25 G_M34037_IG27: add r12, -2 add ecx, -2 mov rdx, 0xD1FFAB1E mov rax, r14 shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub r14, rax mov r9, rdx add r14d, r14d mov eax, r14d mov ax, word ptr [rax+r8] mov word ptr [r12], ax cmp r9, 100 jb G_M34037_IG21 ;; size=67 bbWeight=16 PerfScore 196.00 G_M34037_IG28: mov r14, r9 jmp SHORT G_M34037_IG27 ;; size=5 bbWeight=8 PerfScore 18.00 G_M34037_IG29: mov r9, rdi jmp G_M34037_IG15 align [0 bytes for IG45] ;; size=8 bbWeight=0.25 PerfScore 0.56 G_M34037_IG30: mov rsi, rbx test rsi, rsi jne G_M34037_IG54 ;; size=12 bbWeight=0.50 PerfScore 0.75 G_M34037_IG31: mov rbx, r14 ;; size=3 bbWeight=0.25 PerfScore 0.06 G_M34037_IG32: mov rdi, r12 mov rcx, rbx cmp rcx, 10 jae G_M34037_IG46 ;; size=16 bbWeight=0.50 PerfScore 0.88 G_M34037_IG33: add ecx, 48 mov byte ptr [rdi-0x01], cl jmp G_M34037_IG17 ;; size=11 bbWeight=0.50 PerfScore 1.62 G_M34037_IG34: mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo call [rax]System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo mov r12, rax mov rax, gword ptr [r12+0x98] test rax, rax jne SHORT G_M34037_IG38 mov rdi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rdi] mov rsi, gword ptr [r12+0x28] test rsi, rsi je SHORT G_M34037_IG35 cmp dword ptr [rsi+0x08], 32 jle SHORT G_M34037_IG36 ;; size=57 bbWeight=0.50 PerfScore 8.12 G_M34037_IG35: mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this call [rax]System.Text.Encoding:GetBytes(System.String):ubyte[]:this jmp SHORT G_M34037_IG37 ;; size=14 bbWeight=0.50 PerfScore 2.62 G_M34037_IG36: mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:GetBytesForSmallInput(System.String):ubyte[]:this call [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:GetBytesForSmallInput(System.String):ubyte[]:this ;; size=12 bbWeight=0.50 PerfScore 1.62 G_M34037_IG37: lea rdi, bword ptr [r12+0x98] mov gword ptr [rbp-0x60], rax mov rsi, rax call CORINFO_HELP_ASSIGN_REF mov r12, gword ptr [rbp-0x60] mov rax, r12 ;; size=27 bbWeight=0.50 PerfScore 2.00 G_M34037_IG38: test rax, rax je SHORT G_M34037_IG39 lea rcx, bword ptr [rax+0x10] mov r8d, dword ptr [rax+0x08] jmp SHORT G_M34037_IG40 ;; size=15 bbWeight=0.50 PerfScore 2.88 G_M34037_IG39: xor rcx, rcx xor r8d, r8d ;; size=5 bbWeight=0.50 PerfScore 0.25 G_M34037_IG40: mov edi, 40 mov bword ptr [rsp], r13 mov dword ptr [rsp+0x08], edi mov rdi, r14 mov rsi, rbx lea r9, [rbp-0x30] mov edx, -1 mov rax, 0xD1FFAB1E ; code for System.Number:TryNegativeInt128ToDecStr[ubyte](System.Int128,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte call [rax]System.Number:TryNegativeInt128ToDecStr[ubyte](System.Int128,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte ;; size=40 bbWeight=0.50 PerfScore 3.38 G_M34037_IG41: mov edx, dword ptr [rbp-0x30] cmp edx, 40 ja SHORT G_M34037_IG44 vxorps xmm0, xmm0, xmm0 vmovdqu xmmword ptr [rbp-0x58], xmm0 lea rdi, [rbp-0x58] mov rsi, r13 mov rax, 0xD1FFAB1E ; code for System.ReadOnlySpan`1[ubyte]:.ctor(byref,int):this call [rax]System.ReadOnlySpan`1[ubyte]:.ctor(byref,int):this mov rsi, bword ptr [rbp-0x58] mov rdx, qword ptr [rbp-0x50] mov rdi, r15 xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.Text.Json.Utf8JsonWriter:WriteRawValue(System.ReadOnlySpan`1[ubyte],ubyte):this cmp dword ptr [rdi], edi call [rax]System.Text.Json.Utf8JsonWriter:WriteRawValue(System.ReadOnlySpan`1[ubyte],ubyte):this cmp qword ptr [rbp-0x68], 0xD1FFAB1E je SHORT G_M34037_IG42 call CORINFO_HELP_FAIL_FAST ;; size=78 bbWeight=1 PerfScore 20.33 G_M34037_IG42: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M34037_IG43: lea rsp, [rbp-0x28] pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.50 G_M34037_IG44: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0.50 PerfScore 1.75 G_M34037_IG45: add rdi, -2 mov rdx, 0xD1FFAB1E mov rax, rcx shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub rcx, rax mov rax, rdx add ecx, ecx mov r8, 0xD1FFAB1E ; static handle mov r8w, word ptr [rcx+r8] mov word ptr [rdi], r8w mov rcx, rax ;; size=62 bbWeight=4 PerfScore 44.00 G_M34037_IG46: cmp rcx, 100 jae SHORT G_M34037_IG45 ;; size=6 bbWeight=4 PerfScore 5.00 G_M34037_IG47: cmp rcx, 10 jb G_M34037_IG33 add rdi, -2 lea eax, [rcx+rcx] mov r8, 0xD1FFAB1E ; static handle mov ax, word ptr [rax+r8] mov word ptr [rdi], ax jmp G_M34037_IG17 align [0 bytes for IG49] ;; size=40 bbWeight=0.50 PerfScore 3.62 G_M34037_IG48: mov rcx, r14 jmp SHORT G_M34037_IG50 ;; size=5 bbWeight=2 PerfScore 4.50 G_M34037_IG49: dec edi mov rdx, 0xD1FFAB1E mov rax, rcx mul rdx:rax, rdx shr rdx, 3 lea rax, [rdx+4*rdx] add rax, rax mov r8, rcx sub r8, rax mov rcx, rdx dec r12 add r8d, 48 mov byte ptr [r12], r8b ;; size=49 bbWeight=64 PerfScore 464.00 G_M34037_IG50: test rcx, rcx jne SHORT G_M34037_IG49 ;; size=5 bbWeight=32 PerfScore 40.00 G_M34037_IG51: test edi, edi jg SHORT G_M34037_IG49 ;; size=4 bbWeight=32 PerfScore 40.00 G_M34037_IG52: test rsi, rsi je G_M34037_IG32 ;; size=9 bbWeight=4 PerfScore 5.00 G_M34037_IG53: mov r14, rbx ;; size=3 bbWeight=2 PerfScore 0.50 G_M34037_IG54: mov rdi, r14 mov rdx, 0xD1FFAB1E xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 call [rax]System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 mov rsi, rdx mov rdi, 0xD1FFAB1E lea rcx, [rbp-0x40] mov rdx, rax mulx rdx, r8, rdi mov qword ptr [rcx], r8 mov rdx, qword ptr [rbp-0x40] sub r14, rdx mov rbx, rax mov edi, 19 cmp r14, 100 jb G_M34037_IG48 ;; size=80 bbWeight=4 PerfScore 49.00 G_M34037_IG55: mov r8, 0xD1FFAB1E ; static handle align [0 bytes for IG56] ;; size=10 bbWeight=1 PerfScore 0.25 G_M34037_IG56: add r12, -2 add edi, -2 mov rdx, 0xD1FFAB1E mov rax, r14 shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub r14, rax mov rcx, rdx add r14d, r14d mov eax, r14d mov ax, word ptr [rax+r8] mov word ptr [r12], ax cmp rcx, 100 jb G_M34037_IG50 ;; size=67 bbWeight=16 PerfScore 196.00 G_M34037_IG57: mov r14, rcx jmp SHORT G_M34037_IG56 ;; size=5 bbWeight=8 PerfScore 18.00 ; Total bytes of code 1432, prolog size 55, PerfScore 1964.04, instruction count 364, allocated bytes for code 1436 (MethodHash=f57e7b0a) for method System.Text.Json.Serialization.Converters.Int128Converter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Int128) (FullOpts) ; ============================================================
Texto modificado
Abrir archivo
; Assembly listing for method System.Text.Json.Serialization.Converters.Int128Converter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Int128) (FullOpts) ; Emitting BLENDED_CODE for X64 with AVX512 - Unix ; FullOpts code ; optimized code ; rbp based frame ; fully interruptible ; No PGO data ; 0 inlinees with PGO data; 80 single block inlinees; 32 inlinees without PGO data ; Final local variable assignments ; ; V00 arg0 [V00,T47] ( 3, 3 ) ref -> r15 class-hnd single-def <System.Text.Json.Utf8JsonWriter> ;* V01 arg1 [V01 ] ( 0, 0 ) struct (16) zero-ref multireg-arg single-def <System.Int128> ;* V02 loc0 [V02 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Span`1[ubyte]> ; V03 loc1 [V03 ] ( 4, 2.50) int -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op ; V04 OutArgs [V04 ] ( 1, 1 ) struct (16) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED> ;* V05 tmp1 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]> ;* V06 tmp2 [V06 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]> ;* V07 tmp3 [V07 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]> ; V08 tmp4 [V08,T49] ( 2, 4 ) long -> r13 "Inlining Arg" ;* V09 tmp5 [V09 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Int128> ;* V10 tmp6 [V10 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Span`1[ubyte]> ; V11 tmp7 [V11,T69] ( 2, 1.50) ref -> rdi class-hnd exact single-def "Inline stloc first use temp" <System.Globalization.CultureInfo> ;* V12 tmp8 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]> ;* V13 tmp9 [V13 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.ReadOnlySpan`1[ushort]> ;* V14 tmp10 [V14 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V15 tmp11 [V15 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]> ;* V16 tmp12 [V16 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Int128> ;* V17 tmp13 [V17 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ;* V18 tmp14 [V18 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]> ; V19 tmp15 [V19,T57] ( 4, 2 ) ref -> r12 class-hnd exact "Inline return value spill temp" <System.Globalization.NumberFormatInfo> ;* V20 tmp16 [V20 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ubyte]> ; V21 tmp17 [V21,T60] ( 2, 2 ) ref -> rax class-hnd single-def "dup spill" <ubyte[]> ; V22 tmp18 [V22,T53] ( 6, 3 ) ref -> rax ;* V23 tmp19 [V23 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "dup spill" <ubyte[]> ;* V24 tmp20 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ubyte[]> ; V25 tmp21 [V25,T54] ( 3, 3 ) ref -> rdi single-def "Spilling to split statement for tree" ; V26 tmp22 [V26,T45] ( 5, 5 ) ref -> rsi single-def "Spilling to split statement for tree" ; V27 tmp23 [V27,T58] ( 4, 2 ) ref -> [rbp-0x50] class-hnd "Inline return value spill temp" <ubyte[]> ;* V28 tmp24 [V28 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.String> ;* V29 tmp25 [V29 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed> ;* V30 tmp26 [V30 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <ubyte[]> ;* V31 tmp27 [V31 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V32 tmp28 [V32 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg" <ubyte[]> ;* V33 tmp29 [V33 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V34 tmp30 [V34 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V35 tmp31 [V35 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V36 tmp32 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp" ;* V37 tmp33 [V37 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V38 tmp34 [V38 ] ( 0, 0 ) int -> zero-ref "Inline stloc first use temp" ;* V39 tmp35 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ; V40 tmp36 [V40 ] ( 3, 1.50) byref -> [rbp-0x38] must-init pinned "Inline stloc first use temp" ; V41 tmp37 [V41,T64] ( 3, 1.50) long -> r12 "Inline stloc first use temp" ;* V42 tmp38 [V42 ] ( 0, 0 ) long -> zero-ref ; V43 tmp39 [V43,T55] ( 5, 2.50) int -> rdi "Inline return value spill temp" ;* V44 tmp40 [V44 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest ld-addr-op "Inlining Arg" <System.UInt128> ;* V45 tmp41 [V45 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ; V46 tmp42 [V46,T56] ( 5, 2.50) int -> rdi "Inline stloc first use temp" ;* V47 tmp43 [V47 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V48 tmp44 [V48 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.UInt128> ;* V49 tmp45 [V49 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128> ;* V50 tmp46 [V50 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V51 tmp47 [V51 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V52 tmp48 [V52 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ; V53 tmp49 [V53,T65] ( 3, 1.50) long -> rdi "Inline stloc first use temp" ;* V54 tmp50 [V54 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]> ;* V55 tmp51 [V55 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V56 tmp52 [V56 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V57 tmp53 [V57 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V58 tmp54 [V58 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V59 tmp55 [V59 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]> ;* V60 tmp56 [V60 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V61 tmp57 [V61 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V62 tmp58 [V62 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt" ; V63 tmp59 [V63,T66] ( 3, 1.50) long -> rdi "Inline stloc first use temp" ;* V64 tmp60 [V64 ] ( 0, 0 ) struct (16) zero-ref "ReadOnlySpan<T> for CreateSpan<T>" <System.ReadOnlySpan`1[ulong]> ;* V65 tmp61 [V65 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V66 tmp62 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V67 tmp63 [V67 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp" ;* V68 tmp64 [V68 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V69 tmp65 [V69 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ulong]> ; V70 tmp66 [V70,T59] ( 4, 2 ) int -> rsi "Inline return value spill temp" ;* V71 tmp67 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ;* V72 tmp68 [V72 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128> ; V73 tmp69 [V73,T25] ( 4, 18 ) long -> r12 "Inlining Arg" ;* V74 tmp70 [V74 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128> ;* V75 tmp71 [V75 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V76 tmp72 [V76 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128> ;* V77 tmp73 [V77 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V78 tmp74 [V78 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V79 tmp75 [V79 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128> ;* V80 tmp76 [V80 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128> ;* V81 tmp77 [V81 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ;* V82 tmp78 [V82 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V83 tmp79 [V83 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ; V84 tmp80 [V84,T36] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp" ;* V85 tmp81 [V85 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V86 tmp82 [V86 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ;* V87 tmp83 [V87 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V88 tmp84 [V88 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V89 tmp85 [V89 ] ( 2, 8 ) long -> [rbp-0x40] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ;* V90 tmp86 [V90 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V91 tmp87 [V91 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V92 tmp88 [V92 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V93 tmp89 [V93,T37] ( 2, 8 ) long -> r14 "Inline stloc first use temp" ;* V94 tmp90 [V94 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V95 tmp91 [V95 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V96 tmp92 [V96 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V97 tmp93 [V97,T00] ( 10,592 ) long -> registers "Inlining Arg" ; V98 tmp94 [V98,T02] ( 8,496 ) long -> r12 "Inlining Arg" ; V99 tmp95 [V99,T04] ( 6,392 ) int -> rdi "Inlining Arg" ;* V100 tmp96 [V100 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ;* V101 tmp97 [V101 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V102 tmp98 [V102 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V103 tmp99 [V103,T06] ( 2,256 ) long -> r12 "dup spill" ; V104 tmp100 [V104,T16] ( 3, 48 ) long -> rdx "Inline stloc first use temp" ;* V105 tmp101 [V105 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V106 tmp102 [V106 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V107 tmp103 [V107 ] ( 0, 0 ) long -> zero-ref ;* V108 tmp104 [V108 ] ( 0, 0 ) long -> zero-ref ;* V109 tmp105 [V109 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V110 tmp106 [V110 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V111 tmp107 [V111 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V112 tmp108 [V112 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V113 tmp109 [V113 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V114 tmp110 [V114,T08] ( 3,192 ) long -> rdx "Inline stloc first use temp" ;* V115 tmp111 [V115 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V116 tmp112 [V116 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V117 tmp113 [V117 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V118 tmp114 [V118 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ; V119 tmp115 [V119,T20] ( 9, 37 ) long -> registers "Inlining Arg" ; V120 tmp116 [V120,T24] ( 6, 27 ) long -> rdi "Inlining Arg" ;* V121 tmp117 [V121 ] ( 0, 0 ) long -> zero-ref "dup spill" ;* V122 tmp118 [V122 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V123 tmp119 [V123,T32] ( 3, 12 ) long -> rdx "Inline stloc first use temp" ;* V124 tmp120 [V124 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V125 tmp121 [V125 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V126 tmp122 [V126 ] ( 0, 0 ) long -> zero-ref ;* V127 tmp123 [V127 ] ( 0, 0 ) long -> zero-ref ;* V128 tmp124 [V128 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V129 tmp125 [V129 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V130 tmp126 [V130 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V131 tmp127 [V131 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V132 tmp128 [V132 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V133 tmp129 [V133,T70] ( 2, 1 ) long -> rdi ;* V134 tmp130 [V134 ] ( 0, 0 ) long -> zero-ref ;* V135 tmp131 [V135 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V136 tmp132 [V136 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V137 tmp133 [V137 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V138 tmp134 [V138 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V139 tmp135 [V139 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V140 tmp136 [V140 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V141 tmp137 [V141 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inlining Arg" <System.UInt128> ; V142 tmp138 [V142,T26] ( 4, 18 ) long -> r12 "Inlining Arg" ; V143 tmp139 [V143,T27] ( 4, 18 ) int -> rbx "Inlining Arg" ;* V144 tmp140 [V144 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "Inline ldloca(s) first use temp" <System.UInt128> ;* V145 tmp141 [V145 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] "Inline stloc first use temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V146 tmp142 [V146 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline stloc first use temp" <System.UInt128> ;* V147 tmp143 [V147 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V148 tmp144 [V148 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.UInt128> ;* V149 tmp145 [V149 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.UInt128> ;* V150 tmp146 [V150 ] ( 0, 0 ) struct (16) zero-ref multireg-ret multireg-dest "Inline stloc first use temp" <System.UInt128> ;* V151 tmp147 [V151 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ;* V152 tmp148 [V152 ] ( 0, 0 ) struct (32) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.UInt128,System.UInt128]> ;* V153 tmp149 [V153 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.UInt128> ; V154 tmp150 [V154,T38] ( 2, 8 ) long -> rdx ld-addr-op "Inline ldloca(s) first use temp" ;* V155 tmp151 [V155 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V156 tmp152 [V156 ] ( 0, 0 ) long -> zero-ref "Inline return value spill temp" ;* V157 tmp153 [V157 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V158 tmp154 [V158 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V159 tmp155 [V159 ] ( 2, 8 ) long -> [rbp-0x48] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" ;* V160 tmp156 [V160 ] ( 0, 0 ) long -> zero-ref "impAppendStmt" ;* V161 tmp157 [V161 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V162 tmp158 [V162 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V163 tmp159 [V163,T39] ( 2, 8 ) long -> r14 "Inline stloc first use temp" ;* V164 tmp160 [V164 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V165 tmp161 [V165 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.UInt128> ;* V166 tmp162 [V166 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V167 tmp163 [V167,T01] ( 10,592 ) long -> registers "Inlining Arg" ; V168 tmp164 [V168,T03] ( 8,496 ) long -> r12 "Inlining Arg" ; V169 tmp165 [V169,T05] ( 6,392 ) int -> rcx "Inlining Arg" ;* V170 tmp166 [V170 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ;* V171 tmp167 [V171 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V172 tmp168 [V172 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V173 tmp169 [V173,T07] ( 2,256 ) long -> r12 "dup spill" ; V174 tmp170 [V174,T17] ( 3, 48 ) long -> rdx "Inline stloc first use temp" ;* V175 tmp171 [V175 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V176 tmp172 [V176 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V177 tmp173 [V177 ] ( 0, 0 ) long -> zero-ref ;* V178 tmp174 [V178 ] ( 0, 0 ) long -> zero-ref ;* V179 tmp175 [V179 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V180 tmp176 [V180 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V181 tmp177 [V181 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V182 tmp178 [V182 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V183 tmp179 [V183 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V184 tmp180 [V184,T09] ( 3,192 ) long -> rdx "Inline stloc first use temp" ;* V185 tmp181 [V185 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V186 tmp182 [V186 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V187 tmp183 [V187 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V188 tmp184 [V188,T10] ( 10,138 ) long -> registers "Inlining Arg" ; V189 tmp185 [V189,T13] ( 7,121 ) long -> rsi "Inlining Arg" ; V190 tmp186 [V190,T14] ( 6, 89 ) int -> rcx "Inlining Arg" ;* V191 tmp187 [V191 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ;* V192 tmp188 [V192 ] ( 0, 0 ) long -> zero-ref "Inline stloc first use temp" ;* V193 tmp189 [V193 ] ( 0, 0 ) struct (16) zero-ref "dup spill" <System.ValueTuple`2[ulong,ulong]> ; V194 tmp190 [V194,T15] ( 2, 64 ) long -> rsi "dup spill" ; V195 tmp191 [V195,T33] ( 3, 12 ) long -> rdx "Inline stloc first use temp" ;* V196 tmp192 [V196 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V197 tmp193 [V197 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V198 tmp194 [V198 ] ( 0, 0 ) long -> zero-ref ;* V199 tmp195 [V199 ] ( 0, 0 ) long -> zero-ref ;* V200 tmp196 [V200 ] ( 0, 0 ) struct (16) zero-ref <System.ReadOnlySpan`1[ubyte]> ;* V201 tmp197 [V201 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V202 tmp198 [V202 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V203 tmp199 [V203 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]> ;* V204 tmp200 [V204 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ; V205 tmp201 [V205,T18] ( 3, 48 ) long -> rdx "Inline stloc first use temp" ;* V206 tmp202 [V206 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[ulong,ulong]> ;* V207 tmp203 [V207 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ;* V208 tmp204 [V208 ] ( 0, 0 ) long -> zero-ref "Inlining Arg" ; V209 tmp205 [V209,T44] ( 3, 6 ) int -> rdx "Inlining Arg" ;* V210 tmp206 [V210 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]> ;* V211 tmp207 [V211 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ;* V212 tmp208 [V212 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg" ;* V213 tmp209 [V213 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ubyte]> ;* V214 tmp210 [V214 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]> ;* V215 tmp211 [V215 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg" ;* V216 tmp212 [V216 ] ( 0, 0 ) int -> zero-ref "Inlining Arg" ; V217 tmp213 [V217,T48] ( 3, 2 ) long -> r14 single-def "field V01._lower (fldOffset=0x0)" P-INDEP ; V218 tmp214 [V218,T46] ( 4, 3 ) long -> rbx single-def "field V01._upper (fldOffset=0x8)" P-INDEP ; V219 tmp215 [V219,T52] ( 5, 3.50) byref -> r13 single-def "field V02._reference (fldOffset=0x0)" P-INDEP ;* V220 tmp216 [V220,T71] ( 0, 0 ) int -> zero-ref "field V02._length (fldOffset=0x8)" P-INDEP ; V221 tmp217 [V221,T61] ( 2, 2 ) byref -> r13 single-def "field V05._reference (fldOffset=0x0)" P-INDEP ;* V222 tmp218 [V222,T72] ( 0, 0 ) int -> zero-ref "field V05._length (fldOffset=0x8)" P-INDEP ;* V223 tmp219 [V223 ] ( 0, 0 ) byref -> zero-ref "field V06._reference (fldOffset=0x0)" P-INDEP ;* V224 tmp220 [V224 ] ( 0, 0 ) int -> zero-ref "field V06._length (fldOffset=0x8)" P-INDEP ;* V225 tmp221 [V225 ] ( 0, 0 ) byref -> zero-ref "field V07._reference (fldOffset=0x0)" P-INDEP ;* V226 tmp222 [V226 ] ( 0, 0 ) int -> zero-ref "field V07._length (fldOffset=0x8)" P-INDEP ;* V227 tmp223 [V227 ] ( 0, 0 ) long -> zero-ref "field V09._lower (fldOffset=0x0)" P-INDEP ;* V228 tmp224 [V228 ] ( 0, 0 ) long -> zero-ref "field V09._upper (fldOffset=0x8)" P-INDEP ;* V229 tmp225 [V229 ] ( 0, 0 ) byref -> zero-ref single-def "field V10._reference (fldOffset=0x0)" P-INDEP ;* V230 tmp226 [V230 ] ( 0, 0 ) int -> zero-ref "field V10._length (fldOffset=0x8)" P-INDEP ;* V231 tmp227 [V231 ] ( 0, 0 ) byref -> zero-ref single-def "field V12._reference (fldOffset=0x0)" P-INDEP ;* V232 tmp228 [V232 ] ( 0, 0 ) int -> zero-ref "field V12._length (fldOffset=0x8)" P-INDEP ;* V233 tmp229 [V233 ] ( 0, 0 ) byref -> zero-ref single-def "field V13._reference (fldOffset=0x0)" P-INDEP ;* V234 tmp230 [V234 ] ( 0, 0 ) int -> zero-ref "field V13._length (fldOffset=0x8)" P-INDEP ;* V235 tmp231 [V235 ] ( 0, 0 ) byref -> zero-ref single-def "field V15._reference (fldOffset=0x0)" P-INDEP ;* V236 tmp232 [V236 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP ;* V237 tmp233 [V237 ] ( 0, 0 ) long -> zero-ref "field V16._lower (fldOffset=0x0)" P-INDEP ;* V238 tmp234 [V238 ] ( 0, 0 ) long -> zero-ref "field V16._upper (fldOffset=0x8)" P-INDEP ;* V239 tmp235 [V239 ] ( 0, 0 ) long -> zero-ref "field V17._lower (fldOffset=0x0)" P-INDEP ;* V240 tmp236 [V240 ] ( 0, 0 ) long -> zero-ref "field V17._upper (fldOffset=0x8)" P-INDEP ;* V241 tmp237 [V241 ] ( 0, 0 ) byref -> zero-ref "field V18._reference (fldOffset=0x0)" P-INDEP ;* V242 tmp238 [V242 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0x8)" P-INDEP ;* V243 tmp239 [V243 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP ;* V244 tmp240 [V244 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP ; V245 tmp241 [V245,T63] ( 3, 1.50) byref -> rcx "field V31._reference (fldOffset=0x0)" P-INDEP ; V246 tmp242 [V246,T67] ( 3, 1.50) int -> r8 "field V31._length (fldOffset=0x8)" P-INDEP ; V247 tmp243 [V247,T50] ( 7, 3.50) long -> r14 "field V33._lower (fldOffset=0x0)" P-INDEP ; V248 tmp244 [V248,T51] ( 7, 3.50) long -> rbx "field V33._upper (fldOffset=0x8)" P-INDEP ;* V249 tmp245 [V249 ] ( 0, 0 ) byref -> zero-ref single-def "field V39._reference (fldOffset=0x0)" P-INDEP ;* V250 tmp246 [V250 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP ; V251 tmp247 [V251,T68] ( 3, 1.50) long -> rax "field V44._lower (fldOffset=0x0)" P-INDEP ; V252 tmp248 [V252,T73] ( 1, 0.50) long -> rdx "field V44._upper (fldOffset=0x8)" P-INDEP ;* V253 tmp249 [V253 ] ( 0, 0 ) long -> zero-ref "field V47._lower (fldOffset=0x0)" P-INDEP ;* V254 tmp250 [V254 ] ( 0, 0 ) long -> zero-ref "field V47._upper (fldOffset=0x8)" P-INDEP ;* V255 tmp251 [V255 ] ( 0, 0 ) long -> zero-ref "field V48._lower (fldOffset=0x0)" P-INDEP ;* V256 tmp252 [V256 ] ( 0, 0 ) long -> zero-ref "field V48._upper (fldOffset=0x8)" P-INDEP ;* V257 tmp253 [V257 ] ( 0, 0 ) long -> zero-ref "field V49._lower (fldOffset=0x0)" P-DEP ;* V258 tmp254 [V258 ] ( 0, 0 ) long -> zero-ref "field V49._upper (fldOffset=0x8)" P-DEP ;* V259 tmp255 [V259 ] ( 0, 0 ) byref -> zero-ref single-def "field V50._reference (fldOffset=0x0)" P-INDEP ;* V260 tmp256 [V260 ] ( 0, 0 ) int -> zero-ref "field V50._length (fldOffset=0x8)" P-INDEP ;* V261 tmp257 [V261 ] ( 0, 0 ) byref -> zero-ref single-def "field V54._reference (fldOffset=0x0)" P-INDEP ;* V262 tmp258 [V262 ] ( 0, 0 ) int -> zero-ref "field V54._length (fldOffset=0x8)" P-INDEP ;* V263 tmp259 [V263 ] ( 0, 0 ) byref -> zero-ref single-def "field V56._reference (fldOffset=0x0)" P-INDEP ;* V264 tmp260 [V264 ] ( 0, 0 ) int -> zero-ref "field V56._length (fldOffset=0x8)" P-INDEP ;* V265 tmp261 [V265 ] ( 0, 0 ) byref -> zero-ref single-def "field V59._reference (fldOffset=0x0)" P-INDEP ;* V266 tmp262 [V266 ] ( 0, 0 ) int -> zero-ref "field V59._length (fldOffset=0x8)" P-INDEP ;* V267 tmp263 [V267 ] ( 0, 0 ) byref -> zero-ref single-def "field V60._reference (fldOffset=0x0)" P-INDEP ;* V268 tmp264 [V268 ] ( 0, 0 ) int -> zero-ref "field V60._length (fldOffset=0x8)" P-INDEP ;* V269 tmp265 [V269 ] ( 0, 0 ) byref -> zero-ref single-def "field V64._reference (fldOffset=0x0)" P-INDEP ;* V270 tmp266 [V270 ] ( 0, 0 ) int -> zero-ref "field V64._length (fldOffset=0x8)" P-INDEP ;* V271 tmp267 [V271 ] ( 0, 0 ) byref -> zero-ref single-def "field V66._reference (fldOffset=0x0)" P-INDEP ;* V272 tmp268 [V272 ] ( 0, 0 ) int -> zero-ref "field V66._length (fldOffset=0x8)" P-INDEP ;* V273 tmp269 [V273 ] ( 0, 0 ) byref -> zero-ref single-def "field V69._reference (fldOffset=0x0)" P-INDEP ;* V274 tmp270 [V274 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP ;* V275 tmp271 [V275 ] ( 0, 0 ) byref -> zero-ref single-def "field V71._reference (fldOffset=0x0)" P-INDEP ;* V276 tmp272 [V276 ] ( 0, 0 ) int -> zero-ref "field V71._length (fldOffset=0x8)" P-INDEP ; V277 tmp273 [V277,T28] ( 5, 13 ) long -> registers "field V72._lower (fldOffset=0x0)" P-INDEP ; V278 tmp274 [V278,T29] ( 5, 13 ) long -> rsi "field V72._upper (fldOffset=0x8)" P-INDEP ;* V279 tmp275 [V279 ] ( 0, 0 ) long -> zero-ref "field V74._lower (fldOffset=0x0)" P-INDEP ;* V280 tmp276 [V280 ] ( 0, 0 ) long -> zero-ref "field V74._upper (fldOffset=0x8)" P-INDEP ;* V281 tmp277 [V281 ] ( 0, 0 ) long -> zero-ref "field V76._lower (fldOffset=0x0)" P-INDEP ;* V282 tmp278 [V282 ] ( 0, 0 ) long -> zero-ref "field V76._upper (fldOffset=0x8)" P-INDEP ;* V283 tmp279 [V283 ] ( 0, 0 ) long -> zero-ref "field V77._lower (fldOffset=0x0)" P-INDEP ;* V284 tmp280 [V284 ] ( 0, 0 ) long -> zero-ref "field V77._upper (fldOffset=0x8)" P-INDEP ;* V285 tmp281 [V285 ] ( 0, 0 ) long -> zero-ref "field V78._lower (fldOffset=0x0)" P-INDEP ;* V286 tmp282 [V286 ] ( 0, 0 ) long -> zero-ref "field V78._upper (fldOffset=0x8)" P-INDEP ;* V287 tmp283 [V287 ] ( 0, 0 ) long -> zero-ref "field V79._lower (fldOffset=0x0)" P-DEP ;* V288 tmp284 [V288 ] ( 0, 0 ) long -> zero-ref "field V79._upper (fldOffset=0x8)" P-DEP ; V289 tmp285 [V289,T34] ( 3, 12 ) long -> rax "field V80._lower (fldOffset=0x0)" P-INDEP ; V290 tmp286 [V290,T40] ( 2, 8 ) long -> rsi "field V80._upper (fldOffset=0x8)" P-INDEP ;* V291 tmp287 [V291 ] ( 0, 0 ) long -> zero-ref "field V81._lower (fldOffset=0x0)" P-INDEP ;* V292 tmp288 [V292 ] ( 0, 0 ) long -> zero-ref "field V81._upper (fldOffset=0x8)" P-INDEP ;* V293 tmp289 [V293 ] ( 0, 0 ) long -> zero-ref "field V83._lower (fldOffset=0x0)" P-INDEP ;* V294 tmp290 [V294 ] ( 0, 0 ) long -> zero-ref "field V83._upper (fldOffset=0x8)" P-INDEP ;* V295 tmp291 [V295 ] ( 0, 0 ) long -> zero-ref "field V85._lower (fldOffset=0x0)" P-INDEP ;* V296 tmp292 [V296 ] ( 0, 0 ) long -> zero-ref "field V85._upper (fldOffset=0x8)" P-INDEP ;* V297 tmp293 [V297 ] ( 0, 0 ) long -> zero-ref "field V95._lower (fldOffset=0x0)" P-INDEP ;* V298 tmp294 [V298 ] ( 0, 0 ) long -> zero-ref "field V95._upper (fldOffset=0x8)" P-INDEP ;* V299 tmp295 [V299 ] ( 0, 0 ) long -> zero-ref "field V100.Item1 (fldOffset=0x0)" P-INDEP ;* V300 tmp296 [V300 ] ( 0, 0 ) long -> zero-ref "field V100.Item2 (fldOffset=0x8)" P-INDEP ;* V301 tmp297 [V301 ] ( 0, 0 ) long -> zero-ref "field V102.Item1 (fldOffset=0x0)" P-INDEP ;* V302 tmp298 [V302 ] ( 0, 0 ) long -> zero-ref "field V102.Item2 (fldOffset=0x8)" P-INDEP ;* V303 tmp299 [V303 ] ( 0, 0 ) long -> zero-ref "field V105.Item1 (fldOffset=0x0)" P-INDEP ; V304 tmp300 [V304,T21] ( 2, 32 ) long -> r14 "field V105.Item2 (fldOffset=0x8)" P-INDEP ;* V305 tmp301 [V305 ] ( 0, 0 ) byref -> zero-ref "field V109._reference (fldOffset=0x0)" P-INDEP ;* V306 tmp302 [V306 ] ( 0, 0 ) int -> zero-ref "field V109._length (fldOffset=0x8)" P-INDEP ;* V307 tmp303 [V307 ] ( 0, 0 ) byref -> zero-ref "field V111._reference (fldOffset=0x0)" P-INDEP ;* V308 tmp304 [V308 ] ( 0, 0 ) int -> zero-ref "field V111._length (fldOffset=0x8)" P-INDEP ;* V309 tmp305 [V309 ] ( 0, 0 ) byref -> zero-ref "field V112._reference (fldOffset=0x0)" P-INDEP ;* V310 tmp306 [V310 ] ( 0, 0 ) int -> zero-ref "field V112._length (fldOffset=0x8)" P-INDEP ;* V311 tmp307 [V311 ] ( 0, 0 ) long -> zero-ref "field V115.Item1 (fldOffset=0x0)" P-INDEP ; V312 tmp308 [V312,T11] ( 2,128 ) long -> r8 "field V115.Item2 (fldOffset=0x8)" P-INDEP ;* V313 tmp309 [V313 ] ( 0, 0 ) long -> zero-ref "field V122.Item1 (fldOffset=0x0)" P-INDEP ;* V314 tmp310 [V314 ] ( 0, 0 ) long -> zero-ref "field V122.Item2 (fldOffset=0x8)" P-INDEP ;* V315 tmp311 [V315 ] ( 0, 0 ) long -> zero-ref "field V124.Item1 (fldOffset=0x0)" P-INDEP ; V316 tmp312 [V316,T41] ( 2, 8 ) long -> rcx "field V124.Item2 (fldOffset=0x8)" P-INDEP ;* V317 tmp313 [V317 ] ( 0, 0 ) byref -> zero-ref "field V128._reference (fldOffset=0x0)" P-INDEP ;* V318 tmp314 [V318 ] ( 0, 0 ) int -> zero-ref "field V128._length (fldOffset=0x8)" P-INDEP ;* V319 tmp315 [V319 ] ( 0, 0 ) byref -> zero-ref "field V130._reference (fldOffset=0x0)" P-INDEP ;* V320 tmp316 [V320 ] ( 0, 0 ) int -> zero-ref "field V130._length (fldOffset=0x8)" P-INDEP ;* V321 tmp317 [V321 ] ( 0, 0 ) byref -> zero-ref "field V131._reference (fldOffset=0x0)" P-INDEP ;* V322 tmp318 [V322 ] ( 0, 0 ) int -> zero-ref "field V131._length (fldOffset=0x8)" P-INDEP ;* V323 tmp319 [V323 ] ( 0, 0 ) byref -> zero-ref "field V135._reference (fldOffset=0x0)" P-INDEP ;* V324 tmp320 [V324 ] ( 0, 0 ) int -> zero-ref "field V135._length (fldOffset=0x8)" P-INDEP ;* V325 tmp321 [V325 ] ( 0, 0 ) byref -> zero-ref single-def "field V137._reference (fldOffset=0x0)" P-INDEP ;* V326 tmp322 [V326 ] ( 0, 0 ) int -> zero-ref "field V137._length (fldOffset=0x8)" P-INDEP ;* V327 tmp323 [V327 ] ( 0, 0 ) byref -> zero-ref single-def "field V138._reference (fldOffset=0x0)" P-INDEP ;* V328 tmp324 [V328 ] ( 0, 0 ) int -> zero-ref "field V138._length (fldOffset=0x8)" P-INDEP ; V329 tmp325 [V329,T30] ( 5, 13 ) long -> registers "field V141._lower (fldOffset=0x0)" P-INDEP ; V330 tmp326 [V330,T31] ( 5, 13 ) long -> rsi "field V141._upper (fldOffset=0x8)" P-INDEP ;* V331 tmp327 [V331 ] ( 0, 0 ) long -> zero-ref "field V144._lower (fldOffset=0x0)" P-INDEP ;* V332 tmp328 [V332 ] ( 0, 0 ) long -> zero-ref "field V144._upper (fldOffset=0x8)" P-INDEP ;* V333 tmp329 [V333 ] ( 0, 0 ) long -> zero-ref "field V146._lower (fldOffset=0x0)" P-INDEP ;* V334 tmp330 [V334 ] ( 0, 0 ) long -> zero-ref "field V146._upper (fldOffset=0x8)" P-INDEP ;* V335 tmp331 [V335 ] ( 0, 0 ) long -> zero-ref "field V147._lower (fldOffset=0x0)" P-INDEP ;* V336 tmp332 [V336 ] ( 0, 0 ) long -> zero-ref "field V147._upper (fldOffset=0x8)" P-INDEP ;* V337 tmp333 [V337 ] ( 0, 0 ) long -> zero-ref "field V148._lower (fldOffset=0x0)" P-INDEP ;* V338 tmp334 [V338 ] ( 0, 0 ) long -> zero-ref "field V148._upper (fldOffset=0x8)" P-INDEP ;* V339 tmp335 [V339 ] ( 0, 0 ) long -> zero-ref "field V149._lower (fldOffset=0x0)" P-DEP ;* V340 tmp336 [V340 ] ( 0, 0 ) long -> zero-ref "field V149._upper (fldOffset=0x8)" P-DEP ; V341 tmp337 [V341,T35] ( 3, 12 ) long -> rax "field V150._lower (fldOffset=0x0)" P-INDEP ; V342 tmp338 [V342,T42] ( 2, 8 ) long -> rsi "field V150._upper (fldOffset=0x8)" P-INDEP ;* V343 tmp339 [V343 ] ( 0, 0 ) long -> zero-ref "field V151._lower (fldOffset=0x0)" P-INDEP ;* V344 tmp340 [V344 ] ( 0, 0 ) long -> zero-ref "field V151._upper (fldOffset=0x8)" P-INDEP ;* V345 tmp341 [V345 ] ( 0, 0 ) long -> zero-ref "field V153._lower (fldOffset=0x0)" P-INDEP ;* V346 tmp342 [V346 ] ( 0, 0 ) long -> zero-ref "field V153._upper (fldOffset=0x8)" P-INDEP ;* V347 tmp343 [V347 ] ( 0, 0 ) long -> zero-ref "field V155._lower (fldOffset=0x0)" P-INDEP ;* V348 tmp344 [V348 ] ( 0, 0 ) long -> zero-ref "field V155._upper (fldOffset=0x8)" P-INDEP ;* V349 tmp345 [V349 ] ( 0, 0 ) long -> zero-ref "field V165._lower (fldOffset=0x0)" P-INDEP ;* V350 tmp346 [V350 ] ( 0, 0 ) long -> zero-ref "field V165._upper (fldOffset=0x8)" P-INDEP ;* V351 tmp347 [V351 ] ( 0, 0 ) long -> zero-ref "field V170.Item1 (fldOffset=0x0)" P-INDEP ;* V352 tmp348 [V352 ] ( 0, 0 ) long -> zero-ref "field V170.Item2 (fldOffset=0x8)" P-INDEP ;* V353 tmp349 [V353 ] ( 0, 0 ) long -> zero-ref "field V172.Item1 (fldOffset=0x0)" P-INDEP ;* V354 tmp350 [V354 ] ( 0, 0 ) long -> zero-ref "field V172.Item2 (fldOffset=0x8)" P-INDEP ;* V355 tmp351 [V355 ] ( 0, 0 ) long -> zero-ref "field V175.Item1 (fldOffset=0x0)" P-INDEP ; V356 tmp352 [V356,T22] ( 2, 32 ) long -> r14 "field V175.Item2 (fldOffset=0x8)" P-INDEP ;* V357 tmp353 [V357 ] ( 0, 0 ) byref -> zero-ref "field V179._reference (fldOffset=0x0)" P-INDEP ;* V358 tmp354 [V358 ] ( 0, 0 ) int -> zero-ref "field V179._length (fldOffset=0x8)" P-INDEP ;* V359 tmp355 [V359 ] ( 0, 0 ) byref -> zero-ref "field V181._reference (fldOffset=0x0)" P-INDEP ;* V360 tmp356 [V360 ] ( 0, 0 ) int -> zero-ref "field V181._length (fldOffset=0x8)" P-INDEP ;* V361 tmp357 [V361 ] ( 0, 0 ) byref -> zero-ref "field V182._reference (fldOffset=0x0)" P-INDEP ;* V362 tmp358 [V362 ] ( 0, 0 ) int -> zero-ref "field V182._length (fldOffset=0x8)" P-INDEP ;* V363 tmp359 [V363 ] ( 0, 0 ) long -> zero-ref "field V185.Item1 (fldOffset=0x0)" P-INDEP ; V364 tmp360 [V364,T12] ( 2,128 ) long -> rax "field V185.Item2 (fldOffset=0x8)" P-INDEP ;* V365 tmp361 [V365 ] ( 0, 0 ) long -> zero-ref "field V191.Item1 (fldOffset=0x0)" P-INDEP ;* V366 tmp362 [V366 ] ( 0, 0 ) long -> zero-ref "field V191.Item2 (fldOffset=0x8)" P-INDEP ;* V367 tmp363 [V367 ] ( 0, 0 ) long -> zero-ref "field V193.Item1 (fldOffset=0x0)" P-INDEP ;* V368 tmp364 [V368 ] ( 0, 0 ) long -> zero-ref "field V193.Item2 (fldOffset=0x8)" P-INDEP ;* V369 tmp365 [V369 ] ( 0, 0 ) long -> zero-ref "field V196.Item1 (fldOffset=0x0)" P-INDEP ; V370 tmp366 [V370,T43] ( 2, 8 ) long -> rdi "field V196.Item2 (fldOffset=0x8)" P-INDEP ;* V371 tmp367 [V371 ] ( 0, 0 ) byref -> zero-ref "field V200._reference (fldOffset=0x0)" P-INDEP ;* V372 tmp368 [V372 ] ( 0, 0 ) int -> zero-ref "field V200._length (fldOffset=0x8)" P-INDEP ;* V373 tmp369 [V373 ] ( 0, 0 ) byref -> zero-ref "field V202._reference (fldOffset=0x0)" P-INDEP ;* V374 tmp370 [V374 ] ( 0, 0 ) int -> zero-ref "field V202._length (fldOffset=0x8)" P-INDEP ;* V375 tmp371 [V375 ] ( 0, 0 ) byref -> zero-ref "field V203._reference (fldOffset=0x0)" P-INDEP ;* V376 tmp372 [V376 ] ( 0, 0 ) int -> zero-ref "field V203._length (fldOffset=0x8)" P-INDEP ;* V377 tmp373 [V377 ] ( 0, 0 ) long -> zero-ref "field V206.Item1 (fldOffset=0x0)" P-INDEP ; V378 tmp374 [V378,T23] ( 2, 32 ) long -> rax "field V206.Item2 (fldOffset=0x8)" P-INDEP ;* V379 tmp375 [V379 ] ( 0, 0 ) byref -> zero-ref single-def "field V210._reference (fldOffset=0x0)" P-INDEP ;* V380 tmp376 [V380 ] ( 0, 0 ) int -> zero-ref "field V210._length (fldOffset=0x8)" P-INDEP ;* V381 tmp377 [V381 ] ( 0, 0 ) byref -> zero-ref single-def "field V213._reference (fldOffset=0x0)" P-INDEP ;* V382 tmp378 [V382 ] ( 0, 0 ) int -> zero-ref "field V213._length (fldOffset=0x8)" P-INDEP ;* V383 tmp379 [V383 ] ( 0, 0 ) byref -> zero-ref single-def "field V214._reference (fldOffset=0x0)" P-INDEP ;* V384 tmp380 [V384 ] ( 0, 0 ) int -> zero-ref "field V214._length (fldOffset=0x8)" P-INDEP ;* V385 tmp381 [V385 ] ( 0, 0 ) long -> zero-ref "V75.[000..008)" ;* V386 tmp382 [V386 ] ( 0, 0 ) long -> zero-ref "V75.[008..016)" ;* V387 tmp383 [V387 ] ( 0, 0 ) long -> zero-ref "V75.[016..024)" ;* V388 tmp384 [V388 ] ( 0, 0 ) long -> zero-ref "V75.[024..032)" ;* V389 tmp385 [V389 ] ( 0, 0 ) long -> zero-ref "V82.[000..008)" ;* V390 tmp386 [V390 ] ( 0, 0 ) long -> zero-ref "V82.[008..016)" ;* V391 tmp387 [V391 ] ( 0, 0 ) long -> zero-ref "V82.[016..024)" ;* V392 tmp388 [V392 ] ( 0, 0 ) long -> zero-ref "V82.[024..032)" ;* V393 tmp389 [V393 ] ( 0, 0 ) long -> zero-ref "V145.[000..008)" ;* V394 tmp390 [V394 ] ( 0, 0 ) long -> zero-ref "V145.[008..016)" ;* V395 tmp391 [V395 ] ( 0, 0 ) long -> zero-ref "V145.[016..024)" ;* V396 tmp392 [V396 ] ( 0, 0 ) long -> zero-ref "V145.[024..032)" ;* V397 tmp393 [V397 ] ( 0, 0 ) long -> zero-ref "V152.[000..008)" ;* V398 tmp394 [V398 ] ( 0, 0 ) long -> zero-ref "V152.[008..016)" ;* V399 tmp395 [V399 ] ( 0, 0 ) long -> zero-ref "V152.[016..024)" ;* V400 tmp396 [V400 ] ( 0, 0 ) long -> zero-ref "V152.[024..032)" ; V401 tmp397 [V401,T62] ( 2, 2 ) long -> r12 "Cast away GC" ; V402 GsCookie [V402 ] ( 1, 1 ) long -> [rbp-0x58] do-not-enreg[X] addr-exposed "GSSecurityCookie" ; V403 cse0 [V403,T19] ( 10, 47.25) long -> r8 hoist multi-def "CSE #03: moderate" ; ; Lcl frame size = 72 G_M34037_IG01: push rbp push r15 push r14 push r13 push r12 push rbx sub rsp, 72 lea rbp, [rsp+0x70] xor eax, eax mov qword ptr [rbp-0x38], rax mov qword ptr [rbp-0x58], 0xD1FFAB1E mov r15, rdi mov r14, rsi mov rbx, rdx ;; size=42 bbWeight=1 PerfScore 9.75 G_M34037_IG02: test dword ptr [rsp], esp sub rsp, 48 lea r13, [rsp+0x10] mov rdi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rdi] test rbx, rbx jl G_M34037_IG34 ;; size=34 bbWeight=1 PerfScore 7.25 G_M34037_IG03: test rbx, rbx je G_M34037_IG06 mov edi, 20 cmp rbx, 5 ja SHORT G_M34037_IG04 cmp rbx, 5 jne G_M34037_IG05 mov rsi, 0xD1FFAB1E mov edx, 21 cmp r14, rsi cmovae edi, edx jmp SHORT G_M34037_IG05 align [8 bytes for IG12] ;; size=61 bbWeight=0.50 PerfScore 3.50 G_M34037_IG04: mov rdi, r14 mov rsi, rbx mov rdx, 0xD1FFAB1E mov ecx, 5 mov rax, 0xD1FFAB1E ; code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 call [rax]System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 mov rdi, rax or rdi, 1 lzcnt rdi, rdi xor edi, 63 movsxd rdi, edi mov rsi, 0xD1FFAB1E ; static handle movzx rdi, byte ptr [rdi+rsi] mov rsi, 0xD1FFAB1E ; static handle cmp rax, qword ptr [rsi+8*rdi] setb sil movzx rsi, sil sub edi, esi add edi, 20 ;; size=93 bbWeight=0.50 PerfScore 7.25 G_M34037_IG05: jmp SHORT G_M34037_IG07 ;; size=2 bbWeight=0.50 PerfScore 1.00 G_M34037_IG06: mov rdi, r14 or rdi, 1 lzcnt rdi, rdi xor edi, 63 movsxd rdi, edi mov rsi, 0xD1FFAB1E ; static handle movzx rdi, byte ptr [rdi+rsi] mov rsi, 0xD1FFAB1E ; static handle cmp r14, qword ptr [rsi+8*rdi] setb sil movzx rsi, sil sub edi, esi ;; size=57 bbWeight=0.50 PerfScore 5.00 G_M34037_IG07: mov esi, -1 test edi, edi cmovge esi, edi cmp esi, 40 jle SHORT G_M34037_IG08 xor esi, esi mov dword ptr [rbp-0x30], esi jmp G_M34037_IG18 ;; size=25 bbWeight=0.50 PerfScore 2.62 G_M34037_IG08: mov dword ptr [rbp-0x30], esi mov bword ptr [rbp-0x38], r13 mov r12, r13 movsxd rax, esi add r12, rax cmp edi, -1 jge G_M34037_IG30 mov rsi, rbx mov ebx, -1 test rsi, rsi jne G_M34037_IG25 ;; size=42 bbWeight=0.50 PerfScore 2.88 G_M34037_IG09: mov rdi, r14 ;; size=3 bbWeight=0.25 PerfScore 0.06 G_M34037_IG10: mov rsi, r12 mov ecx, ebx cmp rdi, 100 jb G_M34037_IG29 ;; size=15 bbWeight=0.50 PerfScore 0.88 G_M34037_IG11: mov r8, 0xD1FFAB1E ; static handle ;; size=10 bbWeight=0.25 PerfScore 0.06 G_M34037_IG12: add rsi, -2 add ecx, -2 mov rdx, 0xD1FFAB1E mov rax, rdi shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub rdi, rax mov r9, rdx add edi, edi mov eax, edi mov ax, word ptr [rax+r8] mov word ptr [rsi], ax cmp r9, 100 jb SHORT G_M34037_IG15 ;; size=59 bbWeight=4 PerfScore 49.00 G_M34037_IG13: mov rdi, r9 jmp SHORT G_M34037_IG12 align [0 bytes for IG14] ;; size=5 bbWeight=2 PerfScore 4.50 G_M34037_IG14: dec ecx mov rdx, 0xD1FFAB1E mov rax, r9 mul rdx:rax, rdx shr rdx, 3 lea rdi, [rdx+4*rdx] add rdi, rdi mov rax, r9 sub rax, rdi mov r9, rdx dec rsi add eax, 48 mov byte ptr [rsi], al ;; size=46 bbWeight=16 PerfScore 116.00 G_M34037_IG15: test r9, r9 jne SHORT G_M34037_IG14 ;; size=5 bbWeight=4 PerfScore 5.00 G_M34037_IG16: test ecx, ecx jg SHORT G_M34037_IG14 ;; size=4 bbWeight=4 PerfScore 5.00 G_M34037_IG17: xor edi, edi mov bword ptr [rbp-0x38], rdi ;; size=6 bbWeight=0.50 PerfScore 0.62 G_M34037_IG18: xor rdi, rdi mov bword ptr [rbp-0x38], rdi jmp G_M34037_IG41 align [3 bytes for IG20] ;; size=14 bbWeight=0.50 PerfScore 1.62 G_M34037_IG19: mov r9, r14 jmp SHORT G_M34037_IG21 ;; size=5 bbWeight=2 PerfScore 4.50 G_M34037_IG20: dec ecx mov rdx, 0xD1FFAB1E mov rax, r9 mul rdx:rax, rdx shr rdx, 3 lea r8, [rdx+4*rdx] add r8, r8 mov rax, r9 sub rax, r8 mov r9, rdx dec r12 add eax, 48 mov byte ptr [r12], al ;; size=48 bbWeight=64 PerfScore 464.00 G_M34037_IG21: test r9, r9 jne SHORT G_M34037_IG20 ;; size=5 bbWeight=32 PerfScore 40.00 G_M34037_IG22: test ecx, ecx jg SHORT G_M34037_IG20 ;; size=4 bbWeight=32 PerfScore 40.00 G_M34037_IG23: add ebx, -19 test rsi, rsi je G_M34037_IG10 ;; size=12 bbWeight=4 PerfScore 6.00 G_M34037_IG24: mov r14, rdi ;; size=3 bbWeight=2 PerfScore 0.50 G_M34037_IG25: mov rdi, r14 mov rdx, 0xD1FFAB1E xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 call [rax]System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 mov rsi, rdx mov rdi, 0xD1FFAB1E lea rcx, [rbp-0x48] mov rdx, rax mulx rdx, r8, rdi mov qword ptr [rcx], r8 mov rdx, qword ptr [rbp-0x48] sub r14, rdx mov rdi, rax mov ecx, 19 cmp r14, 100 jb G_M34037_IG19 ;; size=80 bbWeight=4 PerfScore 49.00 G_M34037_IG26: mov r8, 0xD1FFAB1E ; static handle align [0 bytes for IG27] ;; size=10 bbWeight=1 PerfScore 0.25 G_M34037_IG27: add r12, -2 add ecx, -2 mov rdx, 0xD1FFAB1E mov rax, r14 shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub r14, rax mov r9, rdx add r14d, r14d mov eax, r14d mov ax, word ptr [rax+r8] mov word ptr [r12], ax cmp r9, 100 jb G_M34037_IG21 ;; size=67 bbWeight=16 PerfScore 196.00 G_M34037_IG28: mov r14, r9 jmp SHORT G_M34037_IG27 ;; size=5 bbWeight=8 PerfScore 18.00 G_M34037_IG29: mov r9, rdi jmp G_M34037_IG15 align [0 bytes for IG45] ;; size=8 bbWeight=0.25 PerfScore 0.56 G_M34037_IG30: mov rsi, rbx test rsi, rsi jne G_M34037_IG54 ;; size=12 bbWeight=0.50 PerfScore 0.75 G_M34037_IG31: mov rbx, r14 ;; size=3 bbWeight=0.25 PerfScore 0.06 G_M34037_IG32: mov rdi, r12 mov rcx, rbx cmp rcx, 10 jae G_M34037_IG46 ;; size=16 bbWeight=0.50 PerfScore 0.88 G_M34037_IG33: add ecx, 48 mov byte ptr [rdi-0x01], cl jmp G_M34037_IG17 ;; size=11 bbWeight=0.50 PerfScore 1.62 G_M34037_IG34: mov rax, 0xD1FFAB1E ; code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo call [rax]System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo mov r12, rax mov rax, gword ptr [r12+0x98] test rax, rax jne SHORT G_M34037_IG38 mov rdi, 0xD1FFAB1E ; const ptr mov rdi, gword ptr [rdi] mov rsi, gword ptr [r12+0x28] test rsi, rsi je SHORT G_M34037_IG35 cmp dword ptr [rsi+0x08], 32 jle SHORT G_M34037_IG36 ;; size=57 bbWeight=0.50 PerfScore 8.12 G_M34037_IG35: mov rax, 0xD1FFAB1E ; code for System.Text.Encoding:GetBytes(System.String):ubyte[]:this call [rax]System.Text.Encoding:GetBytes(System.String):ubyte[]:this jmp SHORT G_M34037_IG37 ;; size=14 bbWeight=0.50 PerfScore 2.62 G_M34037_IG36: mov rax, 0xD1FFAB1E ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:GetBytesForSmallInput(System.String):ubyte[]:this call [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:GetBytesForSmallInput(System.String):ubyte[]:this ;; size=12 bbWeight=0.50 PerfScore 1.62 G_M34037_IG37: lea rdi, bword ptr [r12+0x98] mov gword ptr [rbp-0x50], rax mov rsi, rax call CORINFO_HELP_ASSIGN_REF mov r12, gword ptr [rbp-0x50] mov rax, r12 ;; size=27 bbWeight=0.50 PerfScore 2.00 G_M34037_IG38: test rax, rax je SHORT G_M34037_IG39 lea rcx, bword ptr [rax+0x10] mov r8d, dword ptr [rax+0x08] jmp SHORT G_M34037_IG40 ;; size=15 bbWeight=0.50 PerfScore 2.88 G_M34037_IG39: xor rcx, rcx xor r8d, r8d ;; size=5 bbWeight=0.50 PerfScore 0.25 G_M34037_IG40: mov edi, 40 mov bword ptr [rsp], r13 mov dword ptr [rsp+0x08], edi mov rdi, r14 mov rsi, rbx lea r9, [rbp-0x30] mov edx, -1 mov rax, 0xD1FFAB1E ; code for System.Number:TryNegativeInt128ToDecStr[ubyte](System.Int128,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte call [rax]System.Number:TryNegativeInt128ToDecStr[ubyte](System.Int128,int,System.ReadOnlySpan`1[ubyte],System.Span`1[ubyte],byref):ubyte ;; size=40 bbWeight=0.50 PerfScore 3.38 G_M34037_IG41: mov edx, dword ptr [rbp-0x30] cmp edx, 40 ja SHORT G_M34037_IG44 mov rsi, r13 mov rdi, r15 xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.Text.Json.Utf8JsonWriter:WriteRawValue(System.ReadOnlySpan`1[ubyte],ubyte):this cmp dword ptr [rdi], edi call [rax]System.Text.Json.Utf8JsonWriter:WriteRawValue(System.ReadOnlySpan`1[ubyte],ubyte):this cmp qword ptr [rbp-0x58], 0xD1FFAB1E je SHORT G_M34037_IG42 call CORINFO_HELP_FAIL_FAST ;; size=45 bbWeight=1 PerfScore 13.25 G_M34037_IG42: nop ;; size=1 bbWeight=1 PerfScore 0.25 G_M34037_IG43: lea rsp, [rbp-0x28] pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ;; size=15 bbWeight=1 PerfScore 4.50 G_M34037_IG44: mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException() call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException() int3 ;; size=13 bbWeight=0.50 PerfScore 1.75 G_M34037_IG45: add rdi, -2 mov rdx, 0xD1FFAB1E mov rax, rcx shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub rcx, rax mov rax, rdx add ecx, ecx mov r8, 0xD1FFAB1E ; static handle mov r8w, word ptr [rcx+r8] mov word ptr [rdi], r8w mov rcx, rax ;; size=62 bbWeight=4 PerfScore 44.00 G_M34037_IG46: cmp rcx, 100 jae SHORT G_M34037_IG45 ;; size=6 bbWeight=4 PerfScore 5.00 G_M34037_IG47: cmp rcx, 10 jb G_M34037_IG33 add rdi, -2 lea eax, [rcx+rcx] mov r8, 0xD1FFAB1E ; static handle mov ax, word ptr [rax+r8] mov word ptr [rdi], ax jmp G_M34037_IG17 align [0 bytes for IG49] ;; size=40 bbWeight=0.50 PerfScore 3.62 G_M34037_IG48: mov rcx, r14 jmp SHORT G_M34037_IG50 ;; size=5 bbWeight=2 PerfScore 4.50 G_M34037_IG49: dec edi mov rdx, 0xD1FFAB1E mov rax, rcx mul rdx:rax, rdx shr rdx, 3 lea rax, [rdx+4*rdx] add rax, rax mov r8, rcx sub r8, rax mov rcx, rdx dec r12 add r8d, 48 mov byte ptr [r12], r8b ;; size=49 bbWeight=64 PerfScore 464.00 G_M34037_IG50: test rcx, rcx jne SHORT G_M34037_IG49 ;; size=5 bbWeight=32 PerfScore 40.00 G_M34037_IG51: test edi, edi jg SHORT G_M34037_IG49 ;; size=4 bbWeight=32 PerfScore 40.00 G_M34037_IG52: test rsi, rsi je G_M34037_IG32 ;; size=9 bbWeight=4 PerfScore 5.00 G_M34037_IG53: mov r14, rbx ;; size=3 bbWeight=2 PerfScore 0.50 G_M34037_IG54: mov rdi, r14 mov rdx, 0xD1FFAB1E xor ecx, ecx mov rax, 0xD1FFAB1E ; code for System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 call [rax]System.UInt128:op_Division(System.UInt128,System.UInt128):System.UInt128 mov rsi, rdx mov rdi, 0xD1FFAB1E lea rcx, [rbp-0x40] mov rdx, rax mulx rdx, r8, rdi mov qword ptr [rcx], r8 mov rdx, qword ptr [rbp-0x40] sub r14, rdx mov rbx, rax mov edi, 19 cmp r14, 100 jb G_M34037_IG48 ;; size=80 bbWeight=4 PerfScore 49.00 G_M34037_IG55: mov r8, 0xD1FFAB1E ; static handle align [0 bytes for IG56] ;; size=10 bbWeight=1 PerfScore 0.25 G_M34037_IG56: add r12, -2 add edi, -2 mov rdx, 0xD1FFAB1E mov rax, r14 shr rax, 2 mul rdx:rax, rdx shr rdx, 2 imul rax, rdx, 100 sub r14, rax mov rcx, rdx add r14d, r14d mov eax, r14d mov ax, word ptr [rax+r8] mov word ptr [r12], ax cmp rcx, 100 jb G_M34037_IG50 ;; size=67 bbWeight=16 PerfScore 196.00 G_M34037_IG57: mov r14, rcx jmp SHORT G_M34037_IG56 ;; size=5 bbWeight=8 PerfScore 18.00 ; Total bytes of code 1401, prolog size 42, PerfScore 1954.62, instruction count 355, allocated bytes for code 1401 (MethodHash=f57e7b0a) for method System.Text.Json.Serialization.Converters.Int128Converter:WriteCore(System.Text.Json.Utf8JsonWriter,System.Int128) (FullOpts) ; ============================================================
Encontrar la diferencia