3DMoments
342 líneas
; Assembly listing for method SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1[Rgba32][SixLabors.ImageSharp.PixelFormats.Rgba32]:Get3DMoments(SixLabors.ImageSharp.Memory.MemoryAllocator):this
; Assembly listing for method SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1[Rgba32][SixLabors.ImageSharp.PixelFormats.Rgba32]:Get3DMoments(SixLabors.ImageSharp.Memory.MemoryAllocator):this
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
; 2 inlinees with PGO data; 66 single block inlinees; 8 inlinees without PGO data
; 2 inlinees with PGO data; 66 single block inlinees; 9 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 this [V00,T58] ( 3, 3 ) byref -> rdi this single-def
; V00 this [V00,T60] ( 3, 3 ) byref -> rdi this single-def
; V01 arg1 [V01,T50] ( 6, 6 ) ref -> rsi class-hnd single-def
; V01 arg1 [V01,T53] ( 6, 6 ) ref -> rsi class-hnd single-def
; V02 loc0 [V02,T71] ( 5, 2 ) ref -> [rbp-270H] must-init class-hnd EH-live single-def
; V02 loc0 [V02,T74] ( 5, 2 ) ref -> [rbp-278H] must-init class-hnd EH-live single-def
; V03 loc1 [V03,T72] ( 5, 2 ) ref -> [rbp-278H] class-hnd EH-live single-def
; V03 loc1 [V03,T75] ( 5, 2 ) ref -> [rbp-280H] class-hnd EH-live single-def
;* V04 loc2 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op
;* V04 loc2 [V04 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op
;* V05 loc3 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op
;* V05 loc3 [V05 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op
;* V06 loc4 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op
;* V06 loc4 [V06 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op
;* V07 loc5 [V07,T109] ( 0, 0 ) int -> zero-ref single-def
;* V07 loc5 [V07,T114] ( 0, 0 ) int -> zero-ref single-def
; V08 loc6 [V08,T42] ( 10, 6337 ) int -> r13
; V08 loc6 [V08,T51] ( 10, 529 ) int -> [rbp-3CH]
; V09 loc7 [V09,T45] ( 8, 4880 ) int -> [rbp-3CH]
; V09 loc7 [V09,T52] ( 2, 272 ) int -> [rbp-40H]
; V10 loc8 [V10,T41] ( 7, 6400 ) int -> r8
; V10 loc8 [V10,T48] ( 8, 1808 ) int -> [rbp-44H]
; V11 loc9 [V11,T33] ( 4,13312 ) struct (48) [rbp-70H] do-not-enreg[S] ld-addr-op
; V11 loc9 [V11,T49] ( 2, 1280 ) int -> [rbp-48H] spill-single-def
; V12 loc10 [V12,T04] ( 8,29696 ) int -> r9
; V12 loc10 [V12,T50] ( 2, 1280 ) int -> [rbp-4CH] spill-single-def
; V13 loc11 [V13,T31] ( 4,16384 ) int -> rdx
; V13 loc11 [V13,T41] ( 7, 6400 ) int -> r11
; V14 loc12 [V14,T37] ( 3,12288 ) int -> r14
; V14 loc12 [V14,T42] ( 2, 5120 ) int -> rdx
; V15 loc13 [V15,T38] ( 3,12288 ) int -> rdx
; V15 loc13 [V15,T33] ( 4,13312 ) struct (48) [rbp-80H] do-not-enreg[S] ld-addr-op
; V16 OutArgs [V16 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V16 loc14 [V16,T04] ( 8,29696 ) int -> rcx
; V17 tmp1 [V17,T64] ( 2, 4 ) long -> rax "VirtualCall through function pointer"
; V17 loc15 [V17,T31] ( 4,16384 ) int -> r13
; V18 tmp2 [V18,T65] ( 2, 4 ) long -> rax "VirtualCall through function pointer"
; V18 loc16 [V18,T37] ( 3,12288 ) int -> r10
; V19 tmp3 [V19,T05] ( 3,24576 ) byref -> r15 "dup spill"
; V19 loc17 [V19,T38] ( 3,12288 ) int -> r13
; V20 tmp4 [V20,T06] ( 3,24576 ) byref -> r12 "dup spill"
; V20 OutArgs [V20 ] ( 1, 1 ) lclBlk (32) [rsp+00H] "OutgoingArgSpace"
; V21 tmp5 [V21,T32] ( 2,16384 ) byref -> r10 "impAppendStmt"
; V21 tmp1 [V21,T66] ( 2, 4 ) long -> rax "VirtualCall through function pointer"
; V22 tmp6 [V22,T63] ( 2, 4 ) ref -> rcx class-hnd single-def "Inlining Arg"
; V22 tmp2 [V22,T67] ( 2, 4 ) long -> rax "VirtualCall through function pointer"
; V23 tmp7 [V23 ] ( 4, 3 ) struct (16) [rbp-80H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
; V23 tmp3 [V23,T05] ( 3,24576 ) byref -> r10 "dup spill"
;* V24 tmp8 [V24 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp"
; V24 tmp4 [V24,T06] ( 3,24576 ) byref -> r15 "dup spill"
; V25 tmp9 [V25,T59] ( 6, 4 ) byref -> rsi "Inline stloc first use temp"
; V25 tmp5 [V25,T32] ( 2,16384 ) byref -> r8 "impAppendStmt"
; V26 tmp10 [V26,T55] ( 7, 5 ) int -> rdi "Inline stloc first use temp"
; V26 tmp6 [V26,T65] ( 2, 4 ) ref -> rcx class-hnd single-def "Inlining Arg"
; V27 tmp11 [V27,T52] ( 9, 5.50) ref -> rbx class-hnd "Inline stloc first use temp"
; V27 tmp7 [V27 ] ( 4, 3 ) struct (16) [rbp-90H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;* V28 tmp12 [V28 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp"
;* V28 tmp8 [V28 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp"
; V29 tmp13 [V29 ] ( 3, 1.50) struct (16) [rbp-90H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
; V29 tmp9 [V29,T61] ( 6, 4 ) byref -> rsi "Inline stloc first use temp"
; V30 tmp14 [V30,T96] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp"
; V30 tmp10 [V30,T57] ( 7, 5 ) int -> rdi "Inline stloc first use temp"
; V31 tmp15 [V31,T97] ( 3, 1.50) int -> rdx single-def "Inline stloc first use temp"
; V31 tmp11 [V31,T54] ( 9, 5.50) ref -> rbx class-hnd "Inline stloc first use temp"
; V32 tmp16 [V32,T73] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
;* V32 tmp12 [V32 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp"
; V33 tmp17 [V33,T85] ( 2, 2 ) bool -> rcx "Inlining Arg"
; V33 tmp13 [V33 ] ( 3, 1.50) struct (16) [rbp-A0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;* V34 tmp18 [V34,T105] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
; V34 tmp14 [V34,T100] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp"
; V35 tmp19 [V35,T69] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg"
; V35 tmp15 [V35,T101] ( 3, 1.50) int -> rdx single-def "Inline stloc first use temp"
; V36 tmp20 [V36,T86] ( 2, 2 ) bool -> rcx "Inlining Arg"
; V36 tmp16 [V36,T76] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
;* V37 tmp21 [V37,T106] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
; V37 tmp17 [V37,T88] ( 2, 2 ) bool -> rcx "Inlining Arg"
; V38 tmp22 [V38,T70] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg"
;* V38 tmp18 [V38,T109] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
;* V39 tmp23 [V39 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg"
; V39 tmp19 [V39,T71] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg"
;* V40 tmp24 [V40 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
; V40 tmp20 [V40,T89] ( 2, 2 ) bool -> rcx "Inlining Arg"
;* V41 tmp25 [V41 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
;* V41 tmp21 [V41,T110] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
; V42 tmp26 [V42,T66] ( 2, 4 ) bool -> rcx "Inlining Arg"
; V42 tmp22 [V42,T72] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg"
;* V43 tmp27 [V43,T95] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
;* V43 tmp23 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg"
; V44 tmp28 [V44,T62] ( 3, 4 ) ref -> rdx class-hnd single-def "Inlining Arg"
;* V44 tmp24 [V44 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
; V45 tmp29 [V45 ] ( 4, 3 ) struct (16) [rbp-A0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;* V45 tmp25 [V45 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
;* V46 tmp30 [V46 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp"
; V46 tmp26 [V46,T68] ( 2, 4 ) bool -> rcx "Inlining Arg"
; V47 tmp31 [V47,T60] ( 6, 4 ) byref -> rbx "Inline stloc first use temp"
;* V47 tmp27 [V47,T99] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
; V48 tmp32 [V48,T56] ( 7, 5 ) int -> r14 "Inline stloc first use temp"
; V48 tmp28 [V48,T64] ( 3, 4 ) ref -> rdx class-hnd single-def "Inlining Arg"
; V49 tmp33 [V49,T53] ( 9, 5.50) ref -> r15 class-hnd "Inline stloc first use temp"
; V49 tmp29 [V49 ] ( 4, 3 ) struct (16) [rbp-B0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;* V50 tmp34 [V50 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp"
;* V50 tmp30 [V50 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp"
; V51 tmp35 [V51 ] ( 3, 1.50) struct (16) [rbp-B0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
; V51 tmp31 [V51,T62] ( 6, 4 ) byref -> rbx "Inline stloc first use temp"
; V52 tmp36 [V52,T98] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp"
; V52 tmp32 [V52,T58] ( 7, 5 ) int -> r14 "Inline stloc first use temp"
; V53 tmp37 [V53,T99] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
; V53 tmp33 [V53,T55] ( 9, 5.50) ref -> r15 class-hnd "Inline stloc first use temp"
; V54 tmp38 [V54,T74] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
;* V54 tmp34 [V54 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp"
;* V55 tmp39 [V55 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg"
; V55 tmp35 [V55 ] ( 3, 1.50) struct (16) [rbp-C0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;* V56 tmp40 [V56 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
; V56 tmp36 [V56,T102] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp"
;* V57 tmp41 [V57 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
; V57 tmp37 [V57,T103] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
; V58 tmp42 [V58 ] ( 4, 3 ) struct (16) [rbp-C0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
; V58 tmp38 [V58,T77] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
;* V59 tmp43 [V59 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp"
; V59 tmp39 [V59,T90] ( 2, 2 ) bool -> rcx "Inlining Arg"
; V60 tmp44 [V60,T61] ( 6, 4 ) byref -> r15 "Inline stloc first use temp"
;* V60 tmp40 [V60,T111] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inlining Arg"
; V61 tmp45 [V61,T57] ( 7, 5 ) int -> r12 "Inline stloc first use temp"
; V61 tmp41 [V61,T73] ( 3, 3 ) ref -> rdx class-hnd single-def "Inlining Arg"
; V62 tmp46 [V62,T54] ( 9, 5.50) ref -> r13 class-hnd "Inline stloc first use temp"
;* V62 tmp42 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg"
;* V63 tmp47 [V63 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp"
;* V63 tmp43 [V63 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
; V64 tmp48 [V64 ] ( 3, 1.50) struct (16) [rbp-D0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
;* V64 tmp44 [V64 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
; V65 tmp49 [V65,T100] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp"
; V65 tmp45 [V65 ] ( 4, 3 ) struct (16) [rbp-D0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
; V66 tmp50 [V66,T101] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
;* V66 tmp46 [V66 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp"
; V67 tmp51 [V67,T75] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
; V67 tmp47 [V67,T63] ( 6, 4 ) byref -> r15 "Inline stloc first use temp"
;* V68 tmp52 [V68 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg"
; V68 tmp48 [V68,T59] ( 7, 5 ) int -> r12 "Inline stloc first use temp"
;* V69 tmp53 [V69 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
; V69 tmp49 [V69,T56] ( 9, 5.50) ref -> r13 class-hnd "Inline stloc first use temp"
;* V70 tmp54 [V70 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
;* V70 tmp50 [V70 ] ( 0, 0 ) struct (16) zero-ref "NewObj constructor temp"
;* V71 tmp55 [V71,T107] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
; V71 tmp51 [V71 ] ( 3, 1.50) struct (16) [rbp-E0H] do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp"
; V72 tmp56 [V72,T87] ( 2, 2 ) long -> rdx "impAppendStmt"
; V72 tmp52 [V72,T104] ( 3, 1.50) long -> rcx single-def "Inline stloc first use temp"
;* V73 tmp57 [V73 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
; V73 tmp53 [V73,T105] ( 3, 1.50) int -> rax single-def "Inline stloc first use temp"
;* V74 tmp58 [V74 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
; V74 tmp54 [V74,T78] ( 2, 2 ) byref -> rdx single-def "Inlining Arg"
;* V75 tmp59 [V75 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V75 tmp55 [V75 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg"
;* V76 tmp60 [V76 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V76 tmp56 [V76 ] ( 0, 0 ) long -> zero-ref "NewObj constructor temp"
; V77 tmp61 [V77,T67] ( 5, 3.62) long -> [rbp-D8H] spill-single-def "Inlining Arg"
;* V77 tmp57 [V77 ] ( 0, 0 ) struct ( 8) zero-ref "NewObj constructor temp"
;* V78 tmp62 [V78 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V78 tmp58 [V78,T112] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V79 tmp63 [V79,T108] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
; V79 tmp59 [V79,T91] ( 2, 2 ) long -> rdx "impAppendStmt"
; V80 tmp64 [V80,T88] ( 2, 2 ) long -> rdx "impAppendStmt"
;* V80 tmp60 [V80 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V81 tmp65 [V81 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
;* V81 tmp61 [V81 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V82 tmp66 [V82 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
;* V82 tmp62 [V82 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V83 tmp67 [V83 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V83 tmp63 [V83 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V84 tmp68 [V84 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V84 tmp64 [V84,T69] ( 5, 3.62) long -> [rbp-E8H] spill-single-def "Inlining Arg"
; V85 tmp69 [V85,T68] ( 5, 3.62) long -> [rbp-E0H] spill-single-def "Inlining Arg"
;* V85 tmp65 [V85 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V86 tmp70 [V86 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V86 tmp66 [V86,T113] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
; V87 tmp71 [V87 ] ( 8,65536 ) struct (48) [rbp-110H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
; V87 tmp67 [V87,T92] ( 2, 2 ) long -> rdx "impAppendStmt"
; V88 tmp72 [V88,T07] ( 3,24576 ) byref -> rbx "dup spill"
;* V88 tmp68 [V88 ] ( 0, 0 ) byref -> zero-ref "impAppendStmt"
; V89 tmp73 [V89,T00] ( 7,57344 ) struct (48) [rbp-140H] do-not-enreg[SF] "Inlining Arg"
;* V89 tmp69 [V89 ] ( 0, 0 ) long -> zero-ref "impAppendStmt"
; V90 tmp74 [V90,T08] ( 3,24576 ) byref -> rbx "dup spill"
;* V90 tmp70 [V90 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V91 tmp75 [V91,T09] ( 3,24576 ) byref -> rbx "dup spill"
;* V91 tmp71 [V91 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V92 tmp76 [V92,T10] ( 3,24576 ) byref -> rbx "dup spill"
; V92 tmp72 [V92,T70] ( 5, 3.62) long -> [rbp-F0H] spill-single-def "Inlining Arg"
; V93 tmp77 [V93,T11] ( 3,24576 ) byref -> rbx "dup spill"
;* V93 tmp73 [V93 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V94 tmp78 [V94,T12] ( 3,24576 ) byref -> rbx "dup spill"
; V94 tmp74 [V94 ] ( 8,65536 ) struct (48) [rbp-120H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
; V95 tmp79 [V95 ] ( 8,65536 ) struct (48) [rbp-170H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
; V95 tmp75 [V95,T07] ( 3,24576 ) byref -> r10 "dup spill"
; V96 tmp80 [V96,T13] ( 3,24576 ) byref -> r12 "dup spill"
; V96 tmp76 [V96,T00] ( 7,57344 ) struct (48) [rbp-150H] do-not-enreg[SF] "Inlining Arg"
; V97 tmp81 [V97,T01] ( 7,57344 ) struct (48) [rbp-1A0H] do-not-enreg[SF] "Inlining Arg"
; V97 tmp77 [V97,T08] ( 3,24576 ) byref -> r9 "dup spill"
; V98 tmp82 [V98,T14] ( 3,24576 ) byref -> r14 "dup spill"
; V98 tmp78 [V98,T09] ( 3,24576 ) byref -> r9 "dup spill"
; V99 tmp83 [V99,T15] ( 3,24576 ) byref -> r14 "dup spill"
; V99 tmp79 [V99,T10] ( 3,24576 ) byref -> r9 "dup spill"
; V100 tmp84 [V100,T16] ( 3,24576 ) byref -> r14 "dup spill"
; V100 tmp80 [V100,T11] ( 3,24576 ) byref -> r9 "dup spill"
; V101 tmp85 [V101,T17] ( 3,24576 ) byref -> r14 "dup spill"
; V101 tmp81 [V101,T12] ( 3,24576 ) byref -> r9 "dup spill"
; V102 tmp86 [V102,T18] ( 3,24576 ) byref -> r14 "dup spill"
; V102 tmp82 [V102 ] ( 8,65536 ) struct (48) [rbp-180H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
; V103 tmp87 [V103 ] ( 8,65536 ) struct (48) [rbp-1D0H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
; V103 tmp83 [V103,T13] ( 3,24576 ) byref -> r15 "dup spill"
; V104 tmp88 [V104,T19] ( 3,24576 ) byref -> rbx "dup spill"
; V104 tmp84 [V104,T01] ( 7,57344 ) struct (48) [rbp-1B0H] do-not-enreg[SF] "Inlining Arg"
; V105 tmp89 [V105,T02] ( 7,57344 ) struct (48) [rbp-200H] do-not-enreg[SF] "Inlining Arg"
; V105 tmp85 [V105,T14] ( 3,24576 ) byref -> rbx "dup spill"
; V106 tmp90 [V106,T20] ( 3,24576 ) byref -> rbx "dup spill"
; V106 tmp86 [V106,T15] ( 3,24576 ) byref -> rbx "dup spill"
; V107 tmp91 [V107,T21] ( 3,24576 ) byref -> rbx "dup spill"
; V107 tmp87 [V107,T16] ( 3,24576 ) byref -> rbx "dup spill"
; V108 tmp92 [V108,T22] ( 3,24576 ) byref -> rbx "dup spill"
; V108 tmp88 [V108,T17] ( 3,24576 ) byref -> rbx "dup spill"
; V109 tmp93 [V109,T23] ( 3,24576 ) byref -> rbx "dup spill"
; V109 tmp89 [V109,T18] ( 3,24576 ) byref -> rbx "dup spill"
; V110 tmp94 [V110,T24] ( 3,24576 ) byref -> rbx "dup spill"
; V110 tmp90 [V110 ] ( 8,65536 ) struct (48) [rbp-1E0H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
; V111 tmp95 [V111 ] ( 8,65536 ) struct (48) [rbp-230H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
; V111 tmp91 [V111,T19] ( 3,24576 ) byref -> r9 "dup spill"
; V112 tmp96 [V112,T25] ( 3,24576 ) byref -> rdx "dup spill"
; V112 tmp92 [V112,T02] ( 7,57344 ) struct (48) [rbp-210H] do-not-enreg[SF] "Inlining Arg"
; V113 tmp97 [V113,T03] ( 7,57344 ) struct (48) [rbp-260H] do-not-enreg[SF] "Inlining Arg"
; V113 tmp93 [V113,T20] ( 3,24576 ) byref -> r9 "dup spill"
; V114 tmp98 [V114,T26] ( 3,24576 ) byref -> rdx "dup spill"
; V114 tmp94 [V114,T21] ( 3,24576 ) byref -> r9 "dup spill"
; V115 tmp99 [V115,T27] ( 3,24576 ) byref -> rdx "dup spill"
; V115 tmp95 [V115,T22] ( 3,24576 ) byref -> r9 "dup spill"
; V116 tmp100 [V116,T28] ( 3,24576 ) byref -> rdx "dup spill"
; V116 tmp96 [V116,T23] ( 3,24576 ) byref -> r9 "dup spill"
; V117 tmp101 [V117,T29] ( 3,24576 ) byref -> rdx "dup spill"
; V117 tmp97 [V117,T24] ( 3,24576 ) byref -> r9 "dup spill"
; V118 tmp102 [V118,T30] ( 3,24576 ) byref -> rdx "dup spill"
; V118 tmp98 [V118 ] ( 8,65536 ) struct (48) [rbp-240H] do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg"
; V119 tmp103 [V119,T39] ( 3, 8193 ) byref -> rsi single-def V04._pointer(offs=0x00) P-INDEP "field V04._pointer (fldOffset=0x0)"
; V119 tmp99 [V119,T25] ( 3,24576 ) byref -> r9 "dup spill"
; V120 tmp104 [V120,T40] ( 3, 8193 ) int -> rdi single-def V04._length(offs=0x08) P-INDEP "field V04._length (fldOffset=0x8)"
; V120 tmp100 [V120,T03] ( 7,57344 ) struct (48) [rbp-270H] do-not-enreg[SF] "Inlining Arg"
; V121 tmp105 [V121,T46] ( 4, 4097.40) byref -> [rbp-280H] spill-single-def V05._pointer(offs=0x00) P-INDEP "field V05._pointer (fldOffset=0x0)"
; V121 tmp101 [V121,T26] ( 3,24576 ) byref -> r9 "dup spill"
; V122 tmp106 [V122,T48] ( 3, 4097.50) int -> [rbp-264H] spill-single-def V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)"
; V122 tmp102 [V122,T27] ( 3,24576 ) byref -> r9 "dup spill"
; V123 tmp107 [V123,T47] ( 4, 4097.40) byref -> [rbp-288H] spill-single-def V06._pointer(offs=0x00) P-INDEP "field V06._pointer (fldOffset=0x0)"
; V123 tmp103 [V123,T28] ( 3,24576 ) byref -> r9 "dup spill"
; V124 tmp108 [V124,T49] ( 3, 4097.50) int -> [rbp-268H] spill-single-def V06._length(offs=0x08) P-INDEP "field V06._length (fldOffset=0x8)"
; V124 tmp104 [V124,T29] ( 3,24576 ) byref -> r9 "dup spill"
; V125 tmp109 [V125 ] ( 2, 2 ) ref -> [rbp-80H] do-not-enreg[X] addr-exposed V23._object(offs=0x00) P-DEP "field V23._object (fldOffset=0x0)"
; V125 tmp105 [V125,T30] ( 3,24576 ) byref -> r9 "dup spill"
; V126 tmp110 [V126 ] ( 2, 1.50) int -> [rbp-78H] do-not-enreg[X] addr-exposed V23._index(offs=0x08) P-DEP "field V23._index (fldOffset=0x8)"
; V126 tmp106 [V126,T39] ( 3, 8193 ) byref -> rsi single-def V04._pointer(offs=0x00) P-INDEP "field V04._pointer (fldOffset=0x0)"
; V127 tmp111 [V127 ] ( 2, 1.50) int -> [rbp-74H] do-not-enreg[X] addr-exposed V23._length(offs=0x0c) P-DEP "field V23._length (fldOffset=0xc)"
; V127 tmp107 [V127,T40] ( 3, 8193 ) int -> rdi single-def V04._length(offs=0x08) P-INDEP "field V04._length (fldOffset=0x8)"
; V128 tmp112 [V128,T76] ( 2, 2 ) byref -> rsi single-def V24._pointer(offs=0x00) P-INDEP "field V24._pointer (fldOffset=0x0)"
; V128 tmp108 [V128,T44] ( 4, 4097.40) byref -> [rbp-288H] spill-single-def V05._pointer(offs=0x00) P-INDEP "field V05._pointer (fldOffset=0x0)"
; V129 tmp113 [V129,T89] ( 2, 2 ) int -> rdi single-def V24._length(offs=0x08) P-INDEP "field V24._length (fldOffset=0x8)"
; V129 tmp109 [V129,T46] ( 3, 4097.50) int -> r14 single-def V05._length(offs=0x08) P-INDEP "field V05._length (fldOffset=0x8)"
; V130 tmp114 [V130,T77] ( 2, 2 ) byref -> rsi V28._pointer(offs=0x00) P-INDEP "field V28._pointer (fldOffset=0x0)"
; V130 tmp110 [V130,T45] ( 4, 4097.40) byref -> [rbp-290H] spill-single-def V06._pointer(offs=0x00) P-INDEP "field V06._pointer (fldOffset=0x0)"
; V131 tmp115 [V131,T90] ( 2, 2 ) int -> rdi V28._length(offs=0x08) P-INDEP "field V28._length (fldOffset=0x8)"
; V131 tmp111 [V131,T47] ( 3, 4097.50) int -> r12 single-def V06._length(offs=0x08) P-INDEP "field V06._length (fldOffset=0x8)"
; V132 tmp116 [V132 ] ( 2, 1 ) byref -> [rbp-90H] do-not-enreg[X] addr-exposed V29._pointer(offs=0x00) P-DEP "field V29._pointer (fldOffset=0x0)"
; V132 tmp112 [V132 ] ( 2, 2 ) ref -> [rbp-90H] do-not-enreg[X] addr-exposed V27._object(offs=0x00) P-DEP "field V27._object (fldOffset=0x0)"
; V133 tmp117 [V133 ] ( 2, 1 ) int -> [rbp-88H] do-not-enreg[X] addr-exposed V29._length(offs=0x08) P-DEP "field V29._length (fldOffset=0x8)"
; V133 tmp113 [V133 ] ( 2, 1.50) int -> [rbp-88H] do-not-enreg[X] addr-exposed V27._index(offs=0x08) P-DEP "field V27._index (fldOffset=0x8)"
; V134 tmp118 [V134,T102] ( 2, 1 ) byref -> rsi single-def V39._pointer(offs=0x00) P-INDEP "field V39._pointer (fldOffset=0x0)"
; V134 tmp114 [V134 ] ( 2, 1.50) int -> [rbp-84H] do-not-enreg[X] addr-exposed V27._length(offs=0x0c) P-DEP "field V27._length (fldOffset=0xc)"
;* V135 tmp119 [V135 ] ( 0, 0 ) int -> zero-ref single-def V39._length(offs=0x08) P-INDEP "field V39._length (fldOffset=0x8)"
; V135 tmp115 [V135,T79] ( 2, 2 ) byref -> rsi single-def V28._pointer(offs=0x00) P-INDEP "field V28._pointer (fldOffset=0x0)"
; V136 tmp120 [V136,T78] ( 2, 2 ) byref -> rsi single-def V41._value(offs=0x00) P-INDEP "field V41._value (fldOffset=0x0)"
; V136 tmp116 [V136,T93] ( 2, 2 ) int -> rdi single-def V28._length(offs=0x08) P-INDEP "field V28._length (fldOffset=0x8)"
; V137 tmp121 [V137 ] ( 2, 2 ) ref -> [rbp-A0H] do-not-enreg[X] addr-exposed V45._object(offs=0x00) P-DEP "field V45._object (fldOffset=0x0)"
; V137 tmp117 [V137,T80] ( 2, 2 ) byref -> rsi V32._pointer(offs=0x00) P-INDEP "field V32._pointer (fldOffset=0x0)"
; V138 tmp122 [V138 ] ( 2, 1.50) int -> [rbp-98H] do-not-enreg[X] addr-exposed V45._index(offs=0x08) P-DEP "field V45._index (fldOffset=0x8)"
; V138 tmp118 [V138,T94] ( 2, 2 ) int -> rdi V32._length(offs=0x08) P-INDEP "field V32._length (fldOffset=0x8)"
; V139 tmp123 [V139 ] ( 2, 1.50) int -> [rbp-94H] do-not-enreg[X] addr-exposed V45._length(offs=0x0c) P-DEP "field V45._length (fldOffset=0xc)"
; V139 tmp119 [V139 ] ( 2, 1 ) byref -> [rbp-A0H] do-not-enreg[X] addr-exposed V33._pointer(offs=0x00) P-DEP "field V33._pointer (fldOffset=0x0)"
; V140 tmp124 [V140,T79] ( 2, 2 ) byref -> rbx single-def V46._pointer(offs=0x00) P-INDEP "field V46._pointer (fldOffset=0x0)"
; V140 tmp120 [V140 ] ( 2, 1 ) int -> [rbp-98H] do-not-enreg[X] addr-exposed V33._length(offs=0x08) P-DEP "field V33._length (fldOffset=0x8)"
; V141 tmp125 [V141,T91] ( 2, 2 ) int -> r14 single-def V46._length(offs=0x08) P-INDEP "field V46._length (fldOffset=0x8)"
; V141 tmp121 [V141,T106] ( 2, 1 ) byref -> rsi single-def V43._pointer(offs=0x00) P-INDEP "field V43._pointer (fldOffset=0x0)"
; V142 tmp126 [V142,T80] ( 2, 2 ) byref -> rbx V50._pointer(offs=0x00) P-INDEP "field V50._pointer (fldOffset=0x0)"
;* V142 tmp122 [V142 ] ( 0, 0 ) int -> zero-ref single-def V43._length(offs=0x08) P-INDEP "field V43._length (fldOffset=0x8)"
; V143 tmp127 [V143,T92] ( 2, 2 ) int -> r14 V50._length(offs=0x08) P-INDEP "field V50._length (fldOffset=0x8)"
; V143 tmp123 [V143,T81] ( 2, 2 ) byref -> rsi single-def V45._value(offs=0x00) P-INDEP "field V45._value (fldOffset=0x0)"
; V144 tmp128 [V144 ] ( 2, 1 ) byref -> [rbp-B0H] do-not-enreg[X] addr-exposed V51._pointer(offs=0x00) P-DEP "field V51._pointer (fldOffset=0x0)"
; V144 tmp124 [V144 ] ( 2, 2 ) ref -> [rbp-B0H] do-not-enreg[X] addr-exposed V49._object(offs=0x00) P-DEP "field V49._object (fldOffset=0x0)"
; V145 tmp129 [V145 ] ( 2, 1 ) int -> [rbp-A8H] do-not-enreg[X] addr-exposed V51._length(offs=0x08) P-DEP "field V51._length (fldOffset=0x8)"
; V145 tmp125 [V145 ] ( 2, 1.50) int -> [rbp-A8H] do-not-enreg[X] addr-exposed V49._index(offs=0x08) P-DEP "field V49._index (fldOffset=0x8)"
; V146 tmp130 [V146,T103] ( 2, 1 ) byref -> rbx single-def V55._pointer(offs=0x00) P-INDEP "field V55._pointer (fldOffset=0x0)"
; V146 tmp126 [V146 ] ( 2, 1.50) int -> [rbp-A4H] do-not-enreg[X] addr-exposed V49._length(offs=0x0c) P-DEP "field V49._length (fldOffset=0xc)"
;* V147 tmp131 [V147 ] ( 0, 0 ) int -> zero-ref single-def V55._length(offs=0x08) P-INDEP "field V55._length (fldOffset=0x8)"
; V147 tmp127 [V147,T82] ( 2, 2 ) byref -> rbx single-def V50._pointer(offs=0x00) P-INDEP "field V50._pointer (fldOffset=0x0)"
; V148 tmp132 [V148,T81] ( 2, 2 ) byref -> rbx single-def V57._value(offs=0x00) P-INDEP "field V57._value (fldOffset=0x0)"
; V148 tmp128 [V148,T95] ( 2, 2 ) int -> r14 single-def V50._length(offs=0x08) P-INDEP "field V50._length (fldOffset=0x8)"
; V149 tmp133 [V149 ] ( 2, 2 ) ref -> [rbp-C0H] do-not-enreg[X] addr-exposed V58._object(offs=0x00) P-DEP "field V58._object (fldOffset=0x0)"
; V149 tmp129 [V149,T83] ( 2, 2 ) byref -> rbx V54._pointer(offs=0x00) P-INDEP "field V54._pointer (fldOffset=0x0)"
; V150 tmp134 [V150 ] ( 2, 1.50) int -> [rbp-B8H] do-not-enreg[X] addr-exposed V58._index(offs=0x08) P-DEP "field V58._index (fldOffset=0x8)"
; V150 tmp130 [V150,T96] ( 2, 2 ) int -> r14 V54._length(offs=0x08) P-INDEP "field V54._length (fldOffset=0x8)"
; V151 tmp135 [V151 ] ( 2, 1.50) int -> [rbp-B4H] do-not-enreg[X] addr-exposed V58._length(offs=0x0c) P-DEP "field V58._length (fldOffset=0xc)"
; V151 tmp131 [V151 ] ( 2, 1 ) byref -> [rbp-C0H] do-not-enreg[X] addr-exposed V55._pointer(offs=0x00) P-DEP "field V55._pointer (fldOffset=0x0)"
; V152 tmp136 [V152,T82] ( 2, 2 ) byref -> r15 single-def V59._pointer(offs=0x00) P-INDEP "field V59._pointer (fldOffset=0x0)"
; V152 tmp132 [V152 ] ( 2, 1 ) int -> [rbp-B8H] do-not-enreg[X] addr-exposed V55._length(offs=0x08) P-DEP "field V55._length (fldOffset=0x8)"
; V153 tmp137 [V153,T93] ( 2, 2 ) int -> r12 single-def V59._length(offs=0x08) P-INDEP "field V59._length (fldOffset=0x8)"
; V153 tmp133 [V153,T107] ( 2, 1 ) byref -> rbx single-def V62._pointer(offs=0x00) P-INDEP "field V62._pointer (fldOffset=0x0)"
; V154 tmp138 [V154,T83] ( 2, 2 ) byref -> r15 V63._pointer(offs=0x00) P-INDEP "field V63._pointer (fldOffset=0x0)"
;* V154 tmp134 [V154 ] ( 0, 0 ) int -> zero-ref single-def V62._length(offs=0x08) P-INDEP "field V62._length (fldOffset=0x8)"
; V155 tmp139 [V155,T94] ( 2, 2 ) int -> r12 V63._length(offs=0x08) P-INDEP "field V63._length (fldOffset=0x8)"
; V155 tmp135 [V155,T84] ( 2, 2 ) byref -> rbx single-def V64._value(offs=0x00) P-INDEP "field V64._value (fldOffset=0x0)"
; V156 tmp140 [V156 ] ( 2, 1 ) byref -> [rbp-D0H] do-not-enreg[X] addr-exposed V64._pointer(offs=0x00) P-DEP "field V64._pointer (fldOffset=0x0)"
; V156 tmp136 [V156 ] ( 2, 2 ) ref -> [rbp-D0H] do-not-enreg[X] addr-exposed V65._object(offs=0x00) P-DEP "field V65._object (fldOffset=0x0)"
; V157 tmp141 [V157 ] ( 2, 1 ) int -> [rbp-C8H] do-not-enreg[X] addr-exposed V64._length(offs=0x08) P-DEP "field V64._length (fldOffset=0x8)"
; V157 tmp137 [V157 ] ( 2, 1.50) int -> [rbp-C8H] do-not-enreg[X] addr-exposed V65._index(offs=0x08) P-DEP "field V65._index (fldOffset=0x8)"
; V158 tmp142 [V158,T104] ( 2, 1 ) byref -> r15 single-def V68._pointer(offs=0x00) P-INDEP "field V68._pointer (fldOffset=0x0)"
; V158 tmp138 [V158 ] ( 2, 1.50) int -> [rbp-C4H] do-not-enreg[X] addr-exposed V65._length(offs=0x0c) P-DEP "field V65._length (fldOffset=0xc)"
;* V159 tmp143 [V159 ] ( 0, 0 ) int -> zero-ref single-def V68._length(offs=0x08) P-INDEP "field V68._length (fldOffset=0x8)"
; V159 tmp139 [V159,T85] ( 2, 2 ) byref -> r15 single-def V66._pointer(offs=0x00) P-INDEP "field V66._pointer (fldOffset=0x0)"
; V160 tmp144 [V160,T84] ( 2, 2 ) byref -> r15 single-def V70._value(offs=0x00) P-INDEP "field V70._value (fldOffset=0x0)"
; V160 tmp140 [V160,T97] ( 2, 2 ) int -> r12 single-def V66._length(offs=0x08) P-INDEP "field V66._length (fldOffset=0x8)"
; V161 PSPSym [V161,T110] ( 1, 1 ) long -> [rbp-290H] do-not-enreg[V] "PSPSym"
; V161 tmp141 [V161,T86] ( 2, 2 ) byref -> r15 V70._pointer(offs=0x00) P-INDEP "field V70._pointer (fldOffset=0x0)"
; V162 cse0 [V162,T43] ( 2, 5120 ) int -> rcx "CSE - conservative"
; V162 tmp142 [V162,T98] ( 2, 2 ) int -> r12 V70._length(offs=0x08) P-INDEP "field V70._length (fldOffset=0x8)"
; V163 cse1 [V163,T34] ( 3,12288 ) byref -> rbx "CSE - moderate"
; V163 tmp143 [V163 ] ( 2, 1 ) byref -> [rbp-E0H] do-not-enreg[X] addr-exposed V71._pointer(offs=0x00) P-DEP "field V71._pointer (fldOffset=0x0)"
; V164 cse2 [V164,T35] ( 3,12288 ) byref -> r10 "CSE - moderate"
; V164 tmp144 [V164 ] ( 2, 1 ) int -> [rbp-D8H] do-not-enreg[X] addr-exposed V71._length(offs=0x08) P-DEP "field V71._length (fldOffset=0x8)"
; V165 cse3 [V165,T36] ( 3,12288 ) byref -> r14 "CSE - moderate"
; V165 tmp145 [V165,T108] ( 2, 1 ) byref -> r15 single-def V75._pointer(offs=0x00) P-INDEP "field V75._pointer (fldOffset=0x0)"
; V166 cse4 [V166,T44] ( 2, 5120 ) int -> r11 "CSE - conservative"
;* V166 tmp146 [V166 ] ( 0, 0 ) int -> zero-ref single-def V75._length(offs=0x08) P-INDEP "field V75._length (fldOffset=0x8)"
; V167 cse5 [V167,T51] ( 6, 4 ) ref -> rdx "CSE - conservative"
; V167 tmp147 [V167,T87] ( 2, 2 ) byref -> r15 single-def V77._value(offs=0x00) P-INDEP "field V77._value (fldOffset=0x0)"
; V168 PSPSym [V168,T115] ( 1, 1 ) long -> [rbp-2A0H] do-not-enreg[V] "PSPSym"
; V169 cse0 [V169,T34] ( 3,12288 ) byref -> r9 "CSE - moderate"
; V170 cse1 [V170,T35] ( 3,12288 ) byref -> r8 "CSE - moderate"
; V171 cse2 [V171,T36] ( 3,12288 ) byref -> r10 "CSE - moderate"
; V172 cse3 [V172,T43] ( 2, 5120 ) int -> rax "CSE - moderate"
;
;
; Lcl frame size = 632
; Lcl frame size = 648
G_M27751_IG01:
G_M27751_IG01:
push rbp
push rbp
push r15
push r15
push r14
push r14
push r13
push r13
push r12
push r12
push rdi
push rdi
push rsi
push rsi
push rbx
push rbx
sub rsp, 632
sub rsp, 648
vzeroupper
vzeroupper
lea rbp, [rsp+2B0H]
lea rbp, [rsp+2C0H]
xor eax, eax
mov qword ptr [rbp-278H], rax
vxorps xmm4, xmm4
vxorps xmm4, xmm4
vmovdqa xmmword ptr [rbp-270H], xmm4
vmovdqa xmmword ptr [rbp-270H], xmm4
vmovdqa xmmword ptr [rbp-260H], xmm4
mov rax, -480
mov rax, -480
vmovdqa xmmword ptr [rbp+rax-80H], xmm4
vmovdqa xmmword ptr [rbp+rax-70H], xmm4
vmovdqa xmmword ptr [rbp+rax-70H], xmm4
vmovdqa xmmword ptr [rbp+rax-60H], xmm4
vmovdqa xmmword ptr [rbp+rax-60H], xmm4
vmovdqa xmmword ptr [rbp+rax-50H], xmm4
add rax, 48
add rax, 48
jne SHORT -5 instr
jne SHORT -5 instr
mov qword ptr [rbp-290H], rsp
mov qword ptr [rbp-2A0H], rsp
mov rdi, rcx
mov rdi, rcx
mov rsi, rdx
mov rsi, rdx
;; bbWeight=1 PerfScore 23.08
;; bbWeight=1 PerfScore 22.33
G_M27751_IG02:
G_M27751_IG02:
mov rcx, rsi
mov rcx, rsi
mov rdx, 0xD1FFAB1E
mov rdx, 0xD1FFAB1E
mov r8, 0xD1FFAB1E
mov r8, 0xD1FFAB1E
call CORINFO_HELP_VIRTUAL_FUNC_PTR
call CORINFO_HELP_VIRTUAL_FUNC_PTR
mov rcx, rsi
mov rcx, rsi
mov edx, 0x441
mov edx, 0x441
xor r8d, r8d
xor r8d, r8d
call rax
call rax
mov gword ptr [rbp-270H], rax
mov gword ptr [rbp-278H], rax
;; bbWeight=1 PerfScore 6.50
;; bbWeight=1 PerfScore 6.50
G_M27751_IG03:
G_M27751_IG03:
mov rcx, rsi
mov rcx, rsi
mov rdx, 0xD1FFAB1E
mov rdx, 0xD1FFAB1E
mov r8, 0xD1FFAB1E
mov r8, 0xD1FFAB1E
call CORINFO_HELP_VIRTUAL_FUNC_PTR
call CORINFO_HELP_VIRTUAL_FUNC_PTR
mov rcx, rsi
mov rcx, rsi
mov edx, 33
mov edx, 33
xor r8d, r8d
xor r8d, r8d
call rax
call rax
mov gword ptr [rbp-278H], rax
mov gword ptr [rbp-280H], rax
;; bbWeight=1 PerfScore 6.50
;; bbWeight=1 PerfScore 6.50
G_M27751_IG04:
G_M27751_IG04:
mov rcx, gword ptr [rdi+8]
mov rcx, gword ptr [rdi+8]
lea rdx, bword ptr [rbp-80H]
lea rdx, bword ptr [rbp-90H]
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this]
call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this]
xor esi, esi
xor esi, esi
xor edi, edi
xor edi, edi
mov rbx, gword ptr [rbp-80H]
mov rbx, gword ptr [rbp-90H]
test rbx, rbx
test rbx, rbx
je G_M27751_IG10
je G_M27751_IG10
;; bbWeight=1 PerfScore 8.50
;; bbWeight=1 PerfScore 8.50
G_M27751_IG05:
G_M27751_IG05:
mov rdx, qword ptr [rbx]
mov rdx, qword ptr [rbx]
test dword ptr [rdx], 0xD1FFAB1E
test dword ptr [rdx], 0xD1FFAB1E
je SHORT G_M27751_IG07
je SHORT G_M27751_IG07
mov rdx, rbx
mov rdx, rbx
mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][]
mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][]
call CORINFO_HELP_ISINSTANCEOFARRAY
call CORINFO_HELP_ISINSTANCEOFARRAY
test rax, rax
test rax, rax
setne cl
setne cl
movzx rcx, cl
movzx rcx, cl
mov rdx, 0xD1FFAB1E ; ""
mov rdx, 0xD1FFAB1E ; ""
mov rdx, gword ptr [rdx]
mov rdx, gword ptr [rdx]
test ecx, ecx
test ecx, ecx
jne SHORT G_M27751_IG06
jne SHORT G_M27751_IG06
mov rcx, rdx
mov rcx, rdx
call System.Diagnostics.Debug:Fail(System.String,System.String)
call System.Diagnostics.Debug:Fail(System.String,System.String)
;; bbWeight=0.50 PerfScore 6.88
;; bbWeight=0.50 PerfScore 6.88
G_M27751_IG06:
G_M27751_IG06:
lea rsi, bword ptr [rbx+16]
lea rsi, bword ptr [rbx+16]
mov edi, dword ptr [rbx+8]
mov edi, dword ptr [rbx+8]
jmp SHORT G_M27751_IG09
jmp SHORT G_M27751_IG09
;; bbWeight=0.50 PerfScore 2.25
;; bbWeight=0.50 PerfScore 2.25
G_M27751_IG07:
G_M27751_IG07:
mov rdx, rbx
mov rdx, rbx
mov rcx, 0xD1FFAB1E ; System.Buffers.MemoryManager`1[Moment]
mov rcx, 0xD1FFAB1E ; System.Buffers.MemoryManager`1[Moment]
call CORINFO_HELP_ISINSTANCEOFCLASS
call CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
setne cl
setne cl
movzx rcx, cl
movzx rcx, cl
mov rdx, 0xD1FFAB1E ; ""
mov rdx, 0xD1FFAB1E ; ""
mov rdx, gword ptr [rdx]
mov rdx, gword ptr [rdx]
test ecx, ecx
test ecx, ecx
jne SHORT G_M27751_IG08
jne SHORT G_M27751_IG08
mov rcx, rdx
mov rcx, rdx
call System.Diagnostics.Debug:Fail(System.String,System.String)
call System.Diagnostics.Debug:Fail(System.String,System.String)
;; bbWeight=0.50 PerfScore 3.88
;; bbWeight=0.50 PerfScore 3.88
G_M27751_IG08:
G_M27751_IG08:
lea rdx, bword ptr [rbp-90H]
lea rdx, bword ptr [rbp-A0H]
mov rcx, rbx
mov rcx, rbx
mov rax, qword ptr [rbx]
mov rax, qword ptr [rbx]
mov rax, qword ptr [rax+72]
mov rax, qword ptr [rax+72]
call qword ptr [rax+40]System.Buffers.MemoryManager`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:GetSpan():System.Span`1[Moment]:this
call qword ptr [rax+40]System.Buffers.MemoryManager`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:GetSpan():System.Span`1[Moment]:this
mov rsi, bword ptr [rbp-90H]
mov rsi, bword ptr [rbp-A0H]
mov edi, dword ptr [rbp-88H]
mov edi, dword ptr [rbp-98H]
;; bbWeight=0.50 PerfScore 4.88
;; bbWeight=0.50 PerfScore 4.88
G_M27751_IG09:
G_M27751_IG09:
mov ecx, dword ptr [rbp-78H]
mov ecx, dword ptr [rbp-88H]
and ecx, 0xD1FFAB1E
and ecx, 0xD1FFAB1E
mov edx, dword ptr [rbp-74H]
mov edx, dword ptr [rbp-84H]
mov eax, edx
mov eax, edx
add rax, rcx
add rax, rcx
mov r8d, edi
mov r8d, edi
cmp rax, r8
cmp rax, r8
ja G_M27751_IG38
ja G_M27751_IG39
imul rcx, rcx, 48
imul rcx, rcx, 48
add rsi, rcx
add rsi, rcx
mov edi, edx
mov edi, edx
;; bbWeight=0.50 PerfScore 3.38
;; bbWeight=0.50 PerfScore 3.38
G_M27751_IG10:
G_M27751_IG10:
mov ecx, edi
mov ecx, edi
not ecx
not ecx
shr ecx, 31
shr ecx, 31
mov rdx, 0xD1FFAB1E ; ""
mov rdx, 0xD1FFAB1E ; ""
mov rdx, gword ptr [rdx]
mov rdx, gword ptr [rdx]
test ecx, ecx
test ecx, ecx
jne SHORT G_M27751_IG12
jne SHORT G_M27751_IG12
;; bbWeight=1 PerfScore 4.50
;; bbWeight=1 PerfScore 4.50
G_M27751_IG11:
G_M27751_IG11:
mov rcx, rdx
mov rcx, rdx
call System.Diagnostics.Debug:Fail(System.String,System.String)
call System.Diagnostics.Debug:Fail(System.String,System.String)
;; bbWeight=0.50 PerfScore 0.62
;; bbWeight=0.50 PerfScore 0.62
G_M27751_IG12:
G_M27751_IG12:
lea rdx, bword ptr [rbp-A0H]
lea rdx, bword ptr [rbp-B0H]
mov rcx, gword ptr [rbp-270H]
mov rcx, gword ptr [rbp-278H]
mov r11, 0xD1FFAB1E
mov r11, 0xD1FFAB1E
call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this]
call [System.Buffers.IMemoryOwner`1[Moment][SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32]]:get_Memory():System.Memory`1[Moment]:this]
xor ebx, ebx
xor ebx, ebx
xor r14d, r14d
xor r14d, r14d
mov r15, gword ptr [rbp-A0H]
mov r15, gword ptr [rbp-B0H]
test r15, r15
test r15, r15
je G_M27751_IG16
je G_M27751_IG17
;; bbWeight=1 PerfScore 7.50
;; bbWeight=1 PerfScore 7.50
G_M27751_IG13:
G_M27751_IG13:
mov rdx, qword ptr [r15]
mov rdx, qword ptr [r15]
test dword ptr [rdx], 0xD1FFAB1E
test dword ptr [rdx], 0xD1FFAB1E
je SHORT G_M27751_IG14
je SHORT G_M27751_IG15
mov rdx, r15
mov rdx, r15
mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][]
mov rcx, 0xD1FFAB1E ; SixLabors.ImageSharp.Processing.Processors.Quantization.WuQuantizer`1+Moment[SixLabors.ImageSharp.PixelFormats.Rgba32][]
call CORINFO_HELP_ISINSTANCEOFARRAY
call CORINFO_HELP_ISINSTANCEOFARRAY
test rax, rax
test rax, rax
setne cl
setne cl
movzx rcx, cl
call System.Diagnostics.Debug:Assert(bool)
lea rbx, bword ptr [r15+16]
mov r14d, dword ptr [r15+8]
jmp SHORT G_M27751_IG15
;; bbWeight=0.50 PerfScore 7.25
G_M27751_IG14:
mov rdx, r15
mov rcx, 0xD1FFAB1E ; System.Buffers.MemoryManager`1[Moment]
call CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
setne cl