forked from MihaZupan/runtime-utils
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JitDiff X64] [hez2010] JIT: Allow limited recursive inlining #992
Comments
Top method regressions2413 (874.28 % of base) - System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte ; Assembly listing for method System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; optimized code
; rbp based frame
; partially interruptible
; No PGO data
-; 0 inlinees with PGO data; 2 single block inlinees; 1 inlinees without PGO data
+; 0 inlinees with PGO data; 25 single block inlinees; 24 inlinees without PGO data
; Final local variable assignments
;
; V00 arg0 [V00,T01] ( 6, 4.50) ref -> r15 class-hnd single-def <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
-; V01 arg1 [V01,T04] ( 5, 2.50) simd32 -> [rbp+0x10] single-def <System.Numerics.Vector`1[float]>
-; V02 arg2 [V02,T00] ( 7, 4.50) ref -> rbx class-hnd single-def <System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]>
+; V01 arg1 [V01,T50] ( 51, 25.50) simd32 -> [rbp+0x10] single-def <System.Numerics.Vector`1[float]>
+; V02 arg2 [V02,T00] ( 53, 27.50) ref -> rbx class-hnd single-def <System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]>
; V03 OutArgs [V03 ] ( 1, 1 ) struct (64) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
-; V04 tmp1 [V04,T03] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V04 tmp1 [V04,T37] ( 2, 1 ) ubyte -> r13 "Inline return value spill temp"
; V05 tmp2 [V05,T02] ( 5, 5 ) ref -> r14 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V06 tmp3 [V06,T38] ( 2, 1 ) ubyte -> r12 "Inline return value spill temp"
+; V07 tmp4 [V07,T03] ( 5, 5 ) ref -> r13 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V08 tmp5 [V08,T39] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V09 tmp6 [V09,T04] ( 5, 5 ) ref -> r12 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V10 tmp7 [V10,T40] ( 2, 1 ) ubyte -> rcx "Inline return value spill temp"
+; V11 tmp8 [V11,T05] ( 5, 5 ) ref -> [rbp-0x30] class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V12 tmp9 [V12,T41] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V13 tmp10 [V13,T06] ( 5, 5 ) ref -> [rbp-0x38] class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V14 tmp11 [V14,T26] ( 4, 2 ) ubyte -> rcx "Inline return value spill temp"
+; V15 tmp12 [V15,T07] ( 5, 5 ) ref -> [rbp-0x40] class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V16 tmp13 [V16,T27] ( 4, 2 ) ubyte -> rax "Inline return value spill temp"
+; V17 tmp14 [V17,T08] ( 5, 5 ) ref -> r12 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V18 tmp15 [V18,T42] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V19 tmp16 [V19,T09] ( 5, 5 ) ref -> [rbp-0x48] class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V20 tmp17 [V20,T28] ( 4, 2 ) ubyte -> rax "Inline return value spill temp"
+; V21 tmp18 [V21,T10] ( 5, 5 ) ref -> r12 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V22 tmp19 [V22,T29] ( 4, 2 ) ubyte -> r12 "Inline return value spill temp"
+; V23 tmp20 [V23,T11] ( 5, 5 ) ref -> r13 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V24 tmp21 [V24,T43] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V25 tmp22 [V25,T12] ( 5, 5 ) ref -> r12 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V26 tmp23 [V26,T44] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V27 tmp24 [V27,T13] ( 5, 5 ) ref -> [rbp-0x50] class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V28 tmp25 [V28,T30] ( 4, 2 ) ubyte -> rax "Inline return value spill temp"
+; V29 tmp26 [V29,T14] ( 5, 5 ) ref -> r12 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V30 tmp27 [V30,T31] ( 4, 2 ) ubyte -> r12 "Inline return value spill temp"
+; V31 tmp28 [V31,T15] ( 5, 5 ) ref -> r12 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V32 tmp29 [V32,T45] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V33 tmp30 [V33,T16] ( 5, 5 ) ref -> r13 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V34 tmp31 [V34,T32] ( 4, 2 ) ubyte -> r12 "Inline return value spill temp"
+; V35 tmp32 [V35,T17] ( 5, 5 ) ref -> r13 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V36 tmp33 [V36,T33] ( 4, 2 ) ubyte -> r13 "Inline return value spill temp"
+; V37 tmp34 [V37,T18] ( 5, 5 ) ref -> r14 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V38 tmp35 [V38,T46] ( 2, 1 ) ubyte -> r12 "Inline return value spill temp"
+; V39 tmp36 [V39,T19] ( 5, 5 ) ref -> r13 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V40 tmp37 [V40,T47] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V41 tmp38 [V41,T20] ( 5, 5 ) ref -> r12 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V42 tmp39 [V42,T48] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V43 tmp40 [V43,T21] ( 5, 5 ) ref -> [rbp-0x58] class-hnd exact spill-single-def "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V44 tmp41 [V44,T34] ( 4, 2 ) ubyte -> rax "Inline return value spill temp"
+; V45 tmp42 [V45,T22] ( 5, 5 ) ref -> r12 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V46 tmp43 [V46,T35] ( 4, 2 ) ubyte -> r12 "Inline return value spill temp"
+; V47 tmp44 [V47,T23] ( 5, 5 ) ref -> r13 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V48 tmp45 [V48,T49] ( 2, 1 ) ubyte -> rax "Inline return value spill temp"
+; V49 tmp46 [V49,T24] ( 5, 5 ) ref -> r12 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
+; V50 tmp47 [V50,T36] ( 4, 2 ) ubyte -> r12 "Inline return value spill temp"
+; V51 tmp48 [V51,T25] ( 5, 5 ) ref -> r12 class-hnd exact "Inlining Arg" <System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]>
;
-; Lcl frame size = 72
+; Lcl frame size = 120
G_M2075_IG01:
push rbp
push r15
push r14
+ push r13
+ push r12
push rbx
- sub rsp, 72
- lea rbp, [rsp+0x60]
+ sub rsp, 120
+ lea rbp, [rsp+0xA0]
mov r15, rdi
mov rbx, rsi
vmovups ymm0, ymmword ptr [rbp+0x10]
- ;; size=26 bbWeight=1 PerfScore 9.25
+ ;; size=33 bbWeight=1 PerfScore 11.25
G_M2075_IG02:
cmp gword ptr [r15+0x08], 0
jne SHORT G_M2075_IG05
;; size=7 bbWeight=1 PerfScore 4.00
G_M2075_IG03:
xor eax, eax
;; size=2 bbWeight=0.50 PerfScore 0.12
G_M2075_IG04:
vzeroupper
- add rsp, 72
+ add rsp, 120
pop rbx
+ pop r12
+ pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=14 bbWeight=0.50 PerfScore 2.12
+ ;; size=18 bbWeight=0.50 PerfScore 2.62
G_M2075_IG05:
vmovups ymmword ptr [rbp+0x10], ymm0
vmovups ymmword ptr [rsp], ymm0
vmovups ymm1, ymmword ptr [r15+0x20]
vmovups ymmword ptr [rsp+0x20], ymm1
mov rdi, rbx
mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
test eax, eax
- jne SHORT G_M2075_IG06
+ jne G_M2075_IG56
mov r14, gword ptr [r15+0x08]
cmp gword ptr [r14+0x08], 0
- je G_M2075_IG08
+ je G_M2075_IG58
vmovups ymm0, ymmword ptr [rbp+0x10]
vmovups ymmword ptr [rsp], ymm0
vmovups ymm1, ymmword ptr [r14+0x20]
vmovups ymmword ptr [rsp+0x20], ymm1
mov rdi, rbx
mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
test eax, eax
- jne SHORT G_M2075_IG06
+ jne G_M2075_IG56
+ mov r13, gword ptr [r14+0x08]
+ cmp gword ptr [r13+0x08], 0
+ je G_M2075_IG37
vmovups ymm0, ymmword ptr [rbp+0x10]
vmovups ymmword ptr [rsp], ymm0
- mov rdi, gword ptr [r14+0x08]
+ vmovups ymm1, ymmword ptr [r13+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne G_M2075_IG56
+ mov r12, gword ptr [r13+0x08]
+ cmp gword ptr [r12+0x08], 0
+ je G_M2075_IG20
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r12+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne G_M2075_IG56
+ mov rax, gword ptr [r12+0x08]
+ mov gword ptr [rbp-0x30], rax
+ cmp gword ptr [rax+0x08], 0
+ je G_M2075_IG12
+ ;; size=251 bbWeight=0.50 PerfScore 42.50
+G_M2075_IG06:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [rax+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne G_M2075_IG56
+ mov rax, gword ptr [rbp-0x30]
+ mov rcx, gword ptr [rax+0x08]
+ mov gword ptr [rbp-0x38], rcx
+ cmp gword ptr [rcx+0x08], 0
+ je G_M2075_IG07
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [rcx+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne G_M2075_IG56
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rax, gword ptr [rbp-0x38]
+ mov rdi, gword ptr [rax+0x08]
+ mov rsi, rbx
+ mov rcx, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rcx]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ jne G_M2075_IG56
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [rbp-0x38]
+ mov rdi, gword ptr [rdi+0x10]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
test eax, eax
- jne SHORT G_M2075_IG06
+ jne G_M2075_IG56
+ ;; size=195 bbWeight=0.50 PerfScore 32.50
+G_M2075_IG07:
+ mov rax, gword ptr [rbp-0x30]
+ mov rax, gword ptr [rax+0x10]
+ mov gword ptr [rbp-0x40], rax
+ cmp gword ptr [rax+0x08], 0
+ jne SHORT G_M2075_IG08
+ xor ecx, ecx
+ jmp SHORT G_M2075_IG11
+ ;; size=23 bbWeight=0.50 PerfScore 5.12
+G_M2075_IG08:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [rax+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne SHORT G_M2075_IG09
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rax, gword ptr [rbp-0x40]
+ mov rdi, gword ptr [rax+0x08]
+ mov rsi, rbx
+ mov rcx, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rcx]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ je SHORT G_M2075_IG10
+ ;; size=78 bbWeight=0.50 PerfScore 14.25
+G_M2075_IG09:
+ mov ecx, 1
+ jmp SHORT G_M2075_IG11
+ ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG10:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [rbp-0x40]
+ mov rdi, gword ptr [rdi+0x10]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ mov ecx, eax
+ ;; size=35 bbWeight=0.50 PerfScore 5.88
+G_M2075_IG11:
+ test ecx, ecx
+ jne G_M2075_IG56
+ ;; size=8 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG12:
+ mov r12, gword ptr [r12+0x10]
+ cmp gword ptr [r12+0x08], 0
+ jne SHORT G_M2075_IG13
+ xor eax, eax
+ jmp G_M2075_IG19
+ ;; size=20 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG13:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r12+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne G_M2075_IG14
+ mov rax, gword ptr [r12+0x08]
+ mov gword ptr [rbp-0x48], rax
+ cmp gword ptr [rax+0x08], 0
+ je G_M2075_IG15
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [rax+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne SHORT G_M2075_IG14
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rax, gword ptr [rbp-0x48]
+ mov rdi, gword ptr [rax+0x08]
+ mov rsi, rbx
+ mov rcx, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rcx]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ jne SHORT G_M2075_IG14
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [rbp-0x48]
+ mov rdi, gword ptr [rdi+0x10]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ je SHORT G_M2075_IG15
+ ;; size=182 bbWeight=0.50 PerfScore 32.00
+G_M2075_IG14:
+ mov eax, 1
+ jmp G_M2075_IG19
+ ;; size=10 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG15:
+ mov r12, gword ptr [r12+0x10]
+ cmp gword ptr [r12+0x08], 0
+ jne SHORT G_M2075_IG16
+ xor eax, eax
+ jmp SHORT G_M2075_IG19
+ ;; size=17 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG16:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r12+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne SHORT G_M2075_IG17
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r12+0x08]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ je SHORT G_M2075_IG18
+ ;; size=77 bbWeight=0.50 PerfScore 13.75
+G_M2075_IG17:
+ mov eax, 1
+ jmp SHORT G_M2075_IG19
+ ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG18:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r12+0x10]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ ;; size=30 bbWeight=0.50 PerfScore 5.25
+G_M2075_IG19:
+ test eax, eax
+ jne G_M2075_IG56
+ ;; size=8 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG20:
+ mov r13, gword ptr [r13+0x10]
+ cmp gword ptr [r13+0x08], 0
+ jne SHORT G_M2075_IG21
+ xor r12d, r12d
+ jmp G_M2075_IG36
+ ;; size=19 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG21:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r13+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne G_M2075_IG28
+ mov r12, gword ptr [r13+0x08]
+ cmp gword ptr [r12+0x08], 0
+ je G_M2075_IG29
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r12+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne G_M2075_IG28
+ mov rax, gword ptr [r12+0x08]
+ mov gword ptr [rbp-0x50], rax
+ cmp gword ptr [rax+0x08], 0
+ je G_M2075_IG23
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [rax+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne G_M2075_IG28
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rax, gword ptr [rbp-0x50]
+ mov rdi, gword ptr [rax+0x08]
+ mov rsi, rbx
+ mov rcx, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rcx]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ jne G_M2075_IG28
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [rbp-0x50]
+ mov rdi, gword ptr [rdi+0x10]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ ;; size=246 bbWeight=0.50 PerfScore 40.75
+G_M2075_IG22:
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ jne G_M2075_IG28
+ ;; size=10 bbWeight=0.50 PerfScore 2.12
+G_M2075_IG23:
+ mov r12, gword ptr [r12+0x10]
+ cmp gword ptr [r12+0x08], 0
+ jne SHORT G_M2075_IG24
+ xor eax, eax
+ jmp SHORT G_M2075_IG27
+ ;; size=17 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG24:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r12+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne SHORT G_M2075_IG25
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r12+0x08]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ je SHORT G_M2075_IG26
+ ;; size=77 bbWeight=0.50 PerfScore 13.75
+G_M2075_IG25:
+ mov eax, 1
+ jmp SHORT G_M2075_IG27
+ ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG26:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r12+0x10]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ ;; size=30 bbWeight=0.50 PerfScore 5.25
+G_M2075_IG27:
+ test eax, eax
+ je SHORT G_M2075_IG29
+ ;; size=4 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG28:
+ mov r12d, 1
+ jmp G_M2075_IG36
+ ;; size=11 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG29:
+ mov r12, gword ptr [r13+0x10]
+ cmp gword ptr [r12+0x08], 0
+ jne SHORT G_M2075_IG30
+ xor r12d, r12d
+ jmp G_M2075_IG36
+ ;; size=20 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG30:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r12+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne SHORT G_M2075_IG31
+ mov r13, gword ptr [r12+0x08]
+ cmp gword ptr [r13+0x08], 0
+ je SHORT G_M2075_IG32
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r13+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne SHORT G_M2075_IG31
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r13+0x08]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ jne SHORT G_M2075_IG31
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r13+0x10]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ je SHORT G_M2075_IG32
+ ;; size=163 bbWeight=0.50 PerfScore 30.50
+G_M2075_IG31:
+ mov r12d, 1
+ jmp G_M2075_IG36
+ ;; size=11 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG32:
+ mov r13, gword ptr [r12+0x10]
+ cmp gword ptr [r13+0x08], 0
+ jne SHORT G_M2075_IG33
+ xor r12d, r12d
+ jmp SHORT G_M2075_IG36
+ ;; size=17 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG33:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r13+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne SHORT G_M2075_IG34
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r13+0x08]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ je SHORT G_M2075_IG35
+ ;; size=75 bbWeight=0.50 PerfScore 13.75
+G_M2075_IG34:
+ mov r12d, 1
+ jmp SHORT G_M2075_IG36
+ ;; size=8 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG35:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r13+0x10]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ mov r12d, eax
+ ;; size=32 bbWeight=0.50 PerfScore 5.38
+G_M2075_IG36:
+ test r12d, r12d
+ jne G_M2075_IG56
+ ;; size=9 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG37:
+ mov r14, gword ptr [r14+0x10]
+ cmp gword ptr [r14+0x08], 0
+ jne SHORT G_M2075_IG38
+ xor r13d, r13d
+ jmp G_M2075_IG55
+ ;; size=19 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG38:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r14+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne G_M2075_IG53
+ mov r13, gword ptr [r14+0x08]
+ cmp gword ptr [r13+0x08], 0
+ je G_M2075_IG54
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r13+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne G_M2075_IG53
+ mov r12, gword ptr [r13+0x08]
+ cmp gword ptr [r12+0x08], 0
+ je G_M2075_IG45
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r12+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne G_M2075_IG53
+ mov rax, gword ptr [r12+0x08]
+ mov gword ptr [rbp-0x58], rax
+ cmp gword ptr [rax+0x08], 0
+ je G_M2075_IG40
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [rax+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne G_M2075_IG53
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rax, gword ptr [rbp-0x58]
+ ;; size=249 bbWeight=0.50 PerfScore 44.00
+G_M2075_IG39:
+ mov rdi, gword ptr [rax+0x08]
+ mov rsi, rbx
+ mov rcx, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rcx]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ jne G_M2075_IG53
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [rbp-0x58]
+ mov rdi, gword ptr [rdi+0x10]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ jne G_M2075_IG53
+ ;; size=68 bbWeight=0.50 PerfScore 9.75
+G_M2075_IG40:
+ mov r12, gword ptr [r12+0x10]
+ cmp gword ptr [r12+0x08], 0
+ jne SHORT G_M2075_IG41
+ xor eax, eax
+ jmp SHORT G_M2075_IG44
+ ;; size=17 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG41:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r12+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne SHORT G_M2075_IG42
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r12+0x08]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ je SHORT G_M2075_IG43
+ ;; size=77 bbWeight=0.50 PerfScore 13.75
+G_M2075_IG42:
+ mov eax, 1
+ jmp SHORT G_M2075_IG44
+ ;; size=7 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG43:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r12+0x10]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ ;; size=30 bbWeight=0.50 PerfScore 5.25
+G_M2075_IG44:
+ test eax, eax
+ jne G_M2075_IG53
+ ;; size=8 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG45:
+ mov r13, gword ptr [r13+0x10]
+ cmp gword ptr [r13+0x08], 0
+ jne SHORT G_M2075_IG46
+ xor r12d, r12d
+ jmp G_M2075_IG52
+ ;; size=19 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG46:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r13+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne SHORT G_M2075_IG47
+ mov r12, gword ptr [r13+0x08]
+ cmp gword ptr [r12+0x08], 0
+ je SHORT G_M2075_IG48
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r12+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne SHORT G_M2075_IG47
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r12+0x08]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ jne SHORT G_M2075_IG47
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r12+0x10]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ je SHORT G_M2075_IG48
+ ;; size=165 bbWeight=0.50 PerfScore 30.50
+G_M2075_IG47:
+ mov r12d, 1
+ jmp G_M2075_IG52
+ ;; size=11 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG48:
+ mov r12, gword ptr [r13+0x10]
+ cmp gword ptr [r12+0x08], 0
+ jne SHORT G_M2075_IG49
+ xor r12d, r12d
+ jmp SHORT G_M2075_IG52
+ ;; size=17 bbWeight=0.50 PerfScore 4.12
+G_M2075_IG49:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ vmovups ymm1, ymmword ptr [r12+0x20]
+ vmovups ymmword ptr [rsp+0x20], ymm1
+ mov rdi, rbx
+ mov r11, 0xD1FFAB1E ; code for System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ call [r11]System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]:Equals(System.Numerics.Vector`1[float],System.Numerics.Vector`1[float]):ubyte:this
+ test eax, eax
+ jne SHORT G_M2075_IG50
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r12+0x08]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ test eax, eax
+ je SHORT G_M2075_IG51
+ ;; size=77 bbWeight=0.50 PerfScore 13.75
+G_M2075_IG50:
+ mov r12d, 1
+ jmp SHORT G_M2075_IG52
+ ;; size=8 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG51:
+ vmovups ymm0, ymmword ptr [rbp+0x10]
+ vmovups ymmword ptr [rsp], ymm0
+ mov rdi, gword ptr [r12+0x10]
+ mov rsi, rbx
+ mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
+ mov r12d, eax
+ ;; size=33 bbWeight=0.50 PerfScore 5.38
+G_M2075_IG52:
+ test r12d, r12d
+ je SHORT G_M2075_IG54
+ ;; size=5 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG53:
+ mov r13d, 1
+ jmp SHORT G_M2075_IG55
+ ;; size=8 bbWeight=0.50 PerfScore 1.12
+G_M2075_IG54:
vmovups ymm0, ymmword ptr [rbp+0x10]
vmovups ymmword ptr [rsp], ymm0
mov rdi, gword ptr [r14+0x10]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
call [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
- test eax, eax
- je SHORT G_M2075_IG08
- ;; size=165 bbWeight=0.50 PerfScore 29.00
-G_M2075_IG06:
+ mov r13d, eax
+ ;; size=32 bbWeight=0.50 PerfScore 5.38
+G_M2075_IG55:
+ test r13d, r13d
+ je SHORT G_M2075_IG58
+ ;; size=5 bbWeight=0.50 PerfScore 0.62
+G_M2075_IG56:
mov eax, 1
;; size=5 bbWeight=0.50 PerfScore 0.12
-G_M2075_IG07:
+G_M2075_IG57:
vzeroupper
- add rsp, 72
+ add rsp, 120
pop rbx
+ pop r12
+ pop r13
pop r14
pop r15
pop rbp
ret
- ;; size=14 bbWeight=0.50 PerfScore 2.12
-G_M2075_IG08:
+ ;; size=18 bbWeight=0.50 PerfScore 2.62
+G_M2075_IG58:
vmovups ymm0, ymmword ptr [rbp+0x10]
vmovups ymmword ptr [rbp+0x10], ymm0
mov rdi, gword ptr [r15+0x10]
mov rsi, rbx
mov rax, 0xD1FFAB1E ; code for System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
;; size=27 bbWeight=0.50 PerfScore 3.75
-G_M2075_IG09:
+G_M2075_IG59:
vzeroupper
- add rsp, 72
+ add rsp, 120
pop rbx
+ pop r12
+ pop r13
pop r14
pop r15
pop rbp
tail.jmp [rax]System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte
- ;; size=16 bbWeight=0.50 PerfScore 2.62
+ ;; size=20 bbWeight=0.50 PerfScore 3.12
-; Total bytes of code 276, prolog size 15, PerfScore 53.12, instruction count 76, allocated bytes for code 276 (MethodHash=5fe0f7e4) for method System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
+; Total bytes of code 2689, prolog size 22, PerfScore 476.12, instruction count 610, allocated bytes for code 2689 (MethodHash=5fe0f7e4) for method System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]]:Contains(System.Collections.Immutable.ImmutableList`1+Node[System.Numerics.Vector`1[float]],System.Numerics.Vector`1[float],System.Collections.Generic.IEqualityComparer`1[System.Numerics.Vector`1[float]]):ubyte (FullOpts)
; ============================================================ Note: some changes were skipped as they were too large to fit into a comment. Larger list of diffs: https://gist.github.com/MihuBot/69955046673fa8f74768437359c64957 |
Top method improvements-53 (-2.05 % of base) - MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<g__TestRemoteServer|0>d:MoveNext():this ; Assembly listing for method MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<<MonitorRuntimeTestServiceAsync>g__TestRemoteServer|0>d:MoveNext():this (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; 49 single block inlinees; 35 inlinees without PGO data
+; 0 inlinees with PGO data; 51 single block inlinees; 36 inlinees without PGO data
; Final local variable assignments
;
-; V00 this [V00,T01] ( 38, 33 ) byref -> [rbp-0x98] this EH-live single-def
-; V01 loc0 [V01,T09] ( 10, 10 ) int -> [rbp-0x24] do-not-enreg[M] EH-live
+; V00 this [V00,T01] ( 37, 32 ) byref -> [rbp-0x98] this EH-live single-def
+; V01 loc0 [V01,T10] ( 9, 9 ) int -> [rbp-0x24] do-not-enreg[M] EH-live
; V02 loc1 [V02,T29] ( 4, 4 ) ref -> rbx class-hnd exact single-def <MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0>
-; V03 loc2 [V03,T67] ( 2, 2 ) ref -> r15 class-hnd exact single-def <System.String>
+; V03 loc2 [V03,T66] ( 2, 2 ) ref -> r15 class-hnd exact single-def <System.String>
;* V04 loc3 [V04 ] ( 0, 0 ) ref -> zero-ref class-hnd exact <System.String>
; V05 loc4 [V05 ] ( 7, 7 ) struct ( 8) [rbp-0x30] do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.TaskAwaiter`1[System.String]>
; V06 loc5 [V06 ] ( 34, 34 ) struct (40) [rbp-0x58] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
;* V07 loc6 [V07 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
; V08 OutArgs [V08 ] ( 1, 1 ) struct (16) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
;* V09 tmp1 [V09 ] ( 0, 0 ) int -> zero-ref "dup spill"
; V10 tmp2 [V10 ] ( 2, 4 ) struct (40) [rbp-0x80] do-not-enreg[XS] must-init addr-exposed ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
; V11 tmp3 [V11,T18] ( 3, 6 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <MihuBot.Logger>
; V12 tmp4 [V12,T11] ( 4, 8 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Net.Security.RemoteCertificateValidationCallback>
; V13 tmp5 [V13,T32] ( 2, 4 ) ref -> r14 class-hnd single-def "impAppendStmt" <System.Net.Security.SslClientAuthenticationOptions>
; V14 tmp6 [V14,T33] ( 2, 4 ) ref -> rsi class-hnd exact single-def "impAppendStmt" <System.Net.Http.SocketsHttpHandler>
;* V15 tmp7 [V15 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.TimeSpan>
-; V16 tmp8 [V16,T05] ( 6, 12 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Net.Http.HttpClient>
+; V16 tmp8 [V16,T04] ( 6, 12 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Net.Http.HttpClient>
;* V17 tmp9 [V17 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.TimeSpan>
; V18 tmp10 [V18,T34] ( 2, 4 ) ref -> rax class-hnd exact single-def "NewObj constructor temp" <MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_1>
; V19 tmp11 [V19,T12] ( 4, 8 ) ref -> r15 class-hnd exact single-def "NewObj constructor temp" <System.Net.Http.SocketsHttpHandler>
-; V20 tmp12 [V20,T79] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
+; V20 tmp12 [V20,T78] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V21 tmp13 [V21,T19] ( 3, 6 ) ref -> r14 class-hnd exact single-def "NewObj constructor temp" <System.Net.Http.HttpConnectionSettings>
; V22 tmp14 [V22,T20] ( 3, 6 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_1>
;* V23 tmp15 [V23 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
;* V24 tmp16 [V24 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Net.Http.SocketsHttpHandler>
; V25 tmp17 [V25,T21] ( 3, 6 ) ref -> r14 class-hnd exact single-def "Inlining Arg" <System.Version>
;* V26 tmp18 [V26 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.TimeSpan>
-; V27 tmp19 [V27,T10] ( 5, 10 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Net.Http.HttpClient>
+; V27 tmp19 [V27,T07] ( 5, 10 ) ref -> r15 class-hnd single-def "Inlining Arg" <System.Net.Http.HttpClient>
; V28 tmp20 [V28,T35] ( 2, 4 ) ref -> rax class-hnd exact single-def "Inlining Arg" <System.String>
; V29 tmp21 [V29,T36] ( 2, 4 ) ref -> r14 class-hnd single-def "Inlining Arg" <System.Uri>
;* V30 tmp22 [V30 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Threading.CancellationToken>
;* V31 tmp23 [V31 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
; V32 tmp24 [V32,T54] ( 3, 3 ) ref -> rax class-hnd single-def "Inline return value spill temp" <System.Threading.Tasks.Task`1[System.String]>
; V33 tmp25 [V33,T55] ( 3, 3 ) ref -> r14 class-hnd single-def "Inline stloc first use temp" <System.Net.Http.HttpRequestMessage>
;* V34 tmp26 [V34 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TaskAwaiter`1[System.String]>
; V35 tmp27 [V35,T37] ( 2, 4 ) ref -> rdi class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.__Canon]>
;* V36 tmp28 [V36 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V37 tmp29 [V37 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V38 tmp30 [V38 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V39 tmp31 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V40 tmp32 [V40,T22] ( 3, 6 ) ref -> rsi class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.__Canon]>
; V41 tmp33 [V41,T38] ( 2, 4 ) ref -> rax class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.__Canon]>
;* V42 tmp34 [V42 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V43 tmp35 [V43,T14] ( 4, 8 ) int -> rdi "Inlining Arg"
;* V44 tmp36 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V45 tmp37 [V45,T39] ( 2, 4 ) byref -> r13 single-def "Inlining Arg"
; V46 tmp38 [V46,T48] ( 2, 4 ) int -> rsi "Inlining Arg"
-;* V47 tmp39 [V47,T72] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V47 tmp39 [V47,T71] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V48 tmp40 [V48 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V49 tmp41 [V49 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V50 tmp42 [V50 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V51 tmp43 [V51 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V52 tmp44 [V52,T15] ( 4, 8 ) int -> rdi "Inlining Arg"
;* V53 tmp45 [V53 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V54 tmp46 [V54,T40] ( 2, 4 ) byref -> rbx single-def "Inlining Arg"
; V55 tmp47 [V55,T49] ( 2, 4 ) int -> rsi "Inlining Arg"
-;* V56 tmp48 [V56,T73] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V56 tmp48 [V56,T72] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V57 tmp49 [V57 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V58 tmp50 [V58 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V59 tmp51 [V59 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V60 tmp52 [V60 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V61 tmp53 [V61,T16] ( 4, 8 ) int -> rdi "Inlining Arg"
;* V62 tmp54 [V62 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V63 tmp55 [V63,T41] ( 2, 4 ) byref -> rbx single-def "Inlining Arg"
; V64 tmp56 [V64,T50] ( 2, 4 ) int -> rsi "Inlining Arg"
-;* V65 tmp57 [V65,T74] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V65 tmp57 [V65,T73] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V66 tmp58 [V66 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V67 tmp59 [V67 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V68 tmp60 [V68 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V69 tmp61 [V69 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V70 tmp62 [V70,T17] ( 4, 8 ) int -> rdi "Inlining Arg"
;* V71 tmp63 [V71 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V72 tmp64 [V72,T42] ( 2, 4 ) byref -> rbx single-def "Inlining Arg"
; V73 tmp65 [V73,T51] ( 2, 4 ) int -> rsi "Inlining Arg"
-;* V74 tmp66 [V74,T75] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V74 tmp66 [V74,T74] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V75 tmp67 [V75 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V76 tmp68 [V76 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V77 tmp69 [V77 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V78 tmp70 [V78,T43] ( 2, 4 ) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.String>
;* V79 tmp71 [V79 ] ( 0, 0 ) ref -> zero-ref single-def
;* V80 tmp72 [V80 ] ( 0, 0 ) int -> zero-ref single-def
;* V81 tmp73 [V81 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.DateTime>
;* V82 tmp74 [V82 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.DateTimeOffset>
;* V83 tmp75 [V83 ] ( 0, 0 ) ref -> zero-ref single-def
;* V84 tmp76 [V84 ] ( 0, 0 ) int -> zero-ref
;* V85 tmp77 [V85 ] ( 0, 0 ) long -> zero-ref
;* V86 tmp78 [V86 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.DateTimeOffset>
;* V87 tmp79 [V87 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.DateTime>
;* V88 tmp80 [V88 ] ( 0, 0 ) struct ( 8) zero-ref "Inline stloc first use temp" <System.TimeSpan>
; V89 tmp81 [V89,T24] ( 3, 6 ) int -> rdi "dup spill"
;* V90 tmp82 [V90 ] ( 0, 0 ) struct ( 8) zero-ref multireg-ret single-def "Inline return value spill temp" <System.TimeSpan>
; V91 tmp83 [V91,T30] ( 4, 4 ) ref -> r13 class-hnd exact single-def "Inline stloc first use temp" <System.TimeZoneInfo+CachedData>
;* V92 tmp84 [V92 ] ( 0, 0 ) struct ( 8) zero-ref "Inlining Arg" <System.DateTime>
; V93 tmp85 [V93,T44] ( 2, 4 ) ref -> rdi class-hnd exact single-def "dup spill" <System.TimeZoneInfo>
; V94 tmp86 [V94,T31] ( 4, 4 ) ref -> rdi
;* V95 tmp87 [V95 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inlining Arg" <System.DateTime>
;* V96 tmp88 [V96 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "NewObj constructor temp" <System.DateTime>
;* V97 tmp89 [V97 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V98 tmp90 [V98 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.DateTimeOffset>
; V99 tmp91 [V99,T45] ( 2, 4 ) ref -> rsi class-hnd exact single-def "Inlining Arg" <MihuBot.DB.LogDbEntry>
;* V100 tmp92 [V100 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inlining Arg" <System.Threading.Channels.Channel`1[MihuBot.DB.LogDbEntry]>
-; V101 tmp93 [V101,T03] ( 10, 20 ) ref -> rbx class-hnd exact "Inlining Arg" <System.Net.Http.SocketsHttpHandler>
-; V102 tmp94 [V102,T06] ( 6, 12 ) ref -> rax class-hnd "dup spill" <System.Net.Http.HttpMessageHandlerStage>
-;* V103 tmp95 [V103 ] ( 0, 0 ) ref -> zero-ref
+; V101 tmp93 [V101,T08] ( 5, 10 ) ref -> rbx class-hnd exact single-def "Inlining Arg" <System.Net.Http.SocketsHttpHandler>
+; V102 tmp94 [V102,T09] ( 5, 10 ) ref -> r15 class-hnd single-def "dup spill" <System.Net.Http.HttpMessageHandlerStage>
+;* V103 tmp95 [V103 ] ( 0, 0 ) ref -> zero-ref single-def
; V104 tmp96 [V104,T13] ( 4, 8 ) byref -> rdi single-def "Inlining Arg"
;* V105 tmp97 [V105 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op single-def "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
-; V106 tmp98 [V106,T04] ( 10, 20 ) ref -> rbx class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
+; V106 tmp98 [V106,T03] ( 10, 20 ) ref -> rbx class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
; V107 tmp99 [V107,T52] ( 2, 4 ) struct ( 8) r15 "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
-; V108 tmp100 [V108,T07] ( 6, 12 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
+; V108 tmp100 [V108,T05] ( 6, 12 ) ref -> r14 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V109 tmp101 [V109 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V110 tmp102 [V110,T53] ( 2, 4 ) int -> r13 "Inlining Arg"
;* V111 tmp103 [V111 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V112 tmp104 [V112 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
-;* V113 tmp105 [V113,T76] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
+;* V113 tmp105 [V113,T75] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V114 tmp106 [V114,T56] ( 3, 3 ) ref -> r15 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
-; V115 tmp107 [V115,T69] ( 2, 2 ) ubyte -> rdi "Inline return value spill temp"
+; V115 tmp107 [V115,T68] ( 2, 2 ) ubyte -> rdi "Inline return value spill temp"
; V116 tmp108 [V116,T27] ( 5, 5 ) int -> [rbp-0x84] spill-single-def "Inline stloc first use temp"
-; V117 tmp109 [V117,T63] ( 3, 3 ) ubyte -> rdi "Inline return value spill temp"
+; V117 tmp109 [V117,T62] ( 3, 3 ) ubyte -> rdi "Inline return value spill temp"
; V118 tmp110 [V118,T00] ( 6, 41 ) int -> [rbp-0x88] "Inline stloc first use temp"
; V119 tmp111 [V119,T02] ( 3, 24 ) int -> rax "Inline stloc first use temp"
; V120 tmp112 [V120,T57] ( 3, 3 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
; V121 tmp113 [V121 ] ( 7, 7 ) ref -> [rbp-0x30] do-not-enreg[X] addr-exposed "field V05.m_task (fldOffset=0x0)" P-DEP
;* V122 tmp114 [V122 ] ( 0, 0 ) long -> zero-ref "field V15._ticks (fldOffset=0x0)" P-INDEP
;* V123 tmp115 [V123 ] ( 0, 0 ) long -> zero-ref "field V17._ticks (fldOffset=0x0)" P-INDEP
-;* V124 tmp116 [V124,T77] ( 0, 0 ) long -> zero-ref single-def "field V23._ticks (fldOffset=0x0)" P-INDEP
-;* V125 tmp117 [V125,T78] ( 0, 0 ) long -> zero-ref single-def "field V26._ticks (fldOffset=0x0)" P-INDEP
-;* V126 tmp118 [V126,T71] ( 0, 0 ) ref -> zero-ref single-def "field V30._source (fldOffset=0x0)" P-INDEP
+;* V124 tmp116 [V124,T76] ( 0, 0 ) long -> zero-ref single-def "field V23._ticks (fldOffset=0x0)" P-INDEP
+;* V125 tmp117 [V125,T77] ( 0, 0 ) long -> zero-ref single-def "field V26._ticks (fldOffset=0x0)" P-INDEP
+;* V126 tmp118 [V126,T70] ( 0, 0 ) ref -> zero-ref single-def "field V30._source (fldOffset=0x0)" P-INDEP
;* V127 tmp119 [V127 ] ( 0, 0 ) ref -> zero-ref single-def "field V31._source (fldOffset=0x0)" P-INDEP
-; V128 tmp120 [V128,T68] ( 2, 2 ) ref -> rax single-def "field V34.m_task (fldOffset=0x0)" P-INDEP
+; V128 tmp120 [V128,T67] ( 2, 2 ) ref -> rax single-def "field V34.m_task (fldOffset=0x0)" P-INDEP
;* V129 tmp121 [V129 ] ( 0, 0 ) byref -> zero-ref "field V42._reference (fldOffset=0x0)" P-INDEP
;* V130 tmp122 [V130 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
;* V131 tmp123 [V131 ] ( 0, 0 ) byref -> zero-ref single-def "field V44._reference (fldOffset=0x0)" P-INDEP
;* V132 tmp124 [V132 ] ( 0, 0 ) int -> zero-ref single-def "field V44._length (fldOffset=0x8)" P-INDEP
;* V133 tmp125 [V133 ] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP
;* V134 tmp126 [V134 ] ( 0, 0 ) int -> zero-ref single-def "field V48._length (fldOffset=0x8)" P-INDEP
;* V135 tmp127 [V135 ] ( 0, 0 ) byref -> zero-ref "field V51._reference (fldOffset=0x0)" P-INDEP
;* V136 tmp128 [V136 ] ( 0, 0 ) int -> zero-ref "field V51._length (fldOffset=0x8)" P-INDEP
;* V137 tmp129 [V137 ] ( 0, 0 ) byref -> zero-ref single-def "field V53._reference (fldOffset=0x0)" P-INDEP
;* V138 tmp130 [V138 ] ( 0, 0 ) int -> zero-ref single-def "field V53._length (fldOffset=0x8)" P-INDEP
;* V139 tmp131 [V139 ] ( 0, 0 ) byref -> zero-ref single-def "field V57._reference (fldOffset=0x0)" P-INDEP
;* V140 tmp132 [V140 ] ( 0, 0 ) int -> zero-ref single-def "field V57._length (fldOffset=0x8)" P-INDEP
;* V141 tmp133 [V141 ] ( 0, 0 ) byref -> zero-ref "field V60._reference (fldOffset=0x0)" P-INDEP
;* V142 tmp134 [V142 ] ( 0, 0 ) int -> zero-ref "field V60._length (fldOffset=0x8)" P-INDEP
;* V143 tmp135 [V143 ] ( 0, 0 ) byref -> zero-ref single-def "field V62._reference (fldOffset=0x0)" P-INDEP
;* V144 tmp136 [V144 ] ( 0, 0 ) int -> zero-ref single-def "field V62._length (fldOffset=0x8)" P-INDEP
;* V145 tmp137 [V145 ] ( 0, 0 ) byref -> zero-ref single-def "field V66._reference (fldOffset=0x0)" P-INDEP
;* V146 tmp138 [V146 ] ( 0, 0 ) int -> zero-ref single-def "field V66._length (fldOffset=0x8)" P-INDEP
;* V147 tmp139 [V147 ] ( 0, 0 ) byref -> zero-ref "field V69._reference (fldOffset=0x0)" P-INDEP
;* V148 tmp140 [V148 ] ( 0, 0 ) int -> zero-ref "field V69._length (fldOffset=0x8)" P-INDEP
;* V149 tmp141 [V149 ] ( 0, 0 ) byref -> zero-ref single-def "field V71._reference (fldOffset=0x0)" P-INDEP
;* V150 tmp142 [V150 ] ( 0, 0 ) int -> zero-ref single-def "field V71._length (fldOffset=0x8)" P-INDEP
;* V151 tmp143 [V151 ] ( 0, 0 ) byref -> zero-ref single-def "field V75._reference (fldOffset=0x0)" P-INDEP
;* V152 tmp144 [V152 ] ( 0, 0 ) int -> zero-ref single-def "field V75._length (fldOffset=0x8)" P-INDEP
; V153 tmp145 [V153,T28] ( 5, 5 ) long -> r15 "field V81._dateData (fldOffset=0x0)" P-INDEP
;* V154 tmp146 [V154 ] ( 0, 0 ) int -> zero-ref "field V82._offsetMinutes (fldOffset=0x0)" P-INDEP
;* V155 tmp147 [V155 ] ( 0, 0 ) long -> zero-ref "field V82._dateTime (fldOffset=0x8)" P-INDEP
;* V156 tmp148 [V156 ] ( 0, 0 ) int -> zero-ref "field V86._offsetMinutes (fldOffset=0x0)" P-INDEP
-; V157 tmp149 [V157,T64] ( 3, 3 ) long -> [rbp-0x90] do-not-enreg[F] "field V86._dateTime (fldOffset=0x8)" P-INDEP
+; V157 tmp149 [V157,T63] ( 3, 3 ) long -> [rbp-0x90] do-not-enreg[F] "field V86._dateTime (fldOffset=0x8)" P-INDEP
;* V158 tmp150 [V158 ] ( 0, 0 ) long -> zero-ref single-def "field V87._dateData (fldOffset=0x0)" P-INDEP
;* V159 tmp151 [V159 ] ( 0, 0 ) long -> zero-ref single-def "field V88._ticks (fldOffset=0x0)" P-INDEP
-; V160 tmp152 [V160,T65] ( 3, 3 ) long -> r13 "field V90._ticks (fldOffset=0x0)" P-INDEP
+; V160 tmp152 [V160,T64] ( 3, 3 ) long -> r13 "field V90._ticks (fldOffset=0x0)" P-INDEP
;* V161 tmp153 [V161 ] ( 0, 0 ) long -> zero-ref single-def "field V92._dateData (fldOffset=0x0)" P-INDEP
;* V162 tmp154 [V162 ] ( 0, 0 ) long -> zero-ref single-def "field V95._dateData (fldOffset=0x0)" P-INDEP
-; V163 tmp155 [V163,T70] ( 2, 2 ) long -> rdi single-def "field V96._dateData (fldOffset=0x0)" P-INDEP
+; V163 tmp155 [V163,T69] ( 2, 2 ) long -> rdi single-def "field V96._dateData (fldOffset=0x0)" P-INDEP
;* V164 tmp156 [V164 ] ( 0, 0 ) int -> zero-ref "field V98._offsetMinutes (fldOffset=0x0)" P-INDEP
;* V165 tmp157 [V165 ] ( 0, 0 ) long -> zero-ref single-def "field V98._dateTime (fldOffset=0x8)" P-INDEP
; V166 tmp158 [V166,T46] ( 2, 4 ) ref -> rsi single-def "argument with side effect"
; V167 tmp159 [V167,T25] ( 3, 6 ) int -> rsi "fgMakeTemp is creating a new local variable"
; V168 tmp160 [V168,T23] ( 3, 6 ) ref -> rdi single-def "argument with side effect"
; V169 tmp161 [V169,T47] ( 2, 4 ) ref -> rdx single-def "argument with side effect"
-; V170 cse0 [V170,T58] ( 3, 3 ) ref -> r14 "CSE #19: conservative"
-; V171 cse1 [V171,T66] ( 3, 3 ) int -> rsi "CSE #20: conservative"
+; V170 cse0 [V170,T58] ( 3, 3 ) ref -> r14 "CSE #18: conservative"
+; V171 cse1 [V171,T65] ( 3, 3 ) int -> rsi "CSE #19: conservative"
; V172 cse2 [V172,T59] ( 3, 3 ) ref -> r11 "CSE #09: conservative"
; V173 cse3 [V173,T60] ( 3, 3 ) ref -> r11 "CSE #10: conservative"
; V174 cse4 [V174,T61] ( 3, 3 ) ref -> rbx "CSE #11: conservative"
-; V175 cse5 [V175,T62] ( 3, 3 ) ref -> rbx "CSE #12: conservative"
-; V176 cse6 [V176,T08] ( 4, 11 ) byref -> r14 "CSE #21: moderate"
-; V177 rat0 [V177 ] ( 1, 1 ) long -> [rbp-0xA0] do-not-enreg[V] "PSPSym"
-; V178 rat1 [V178,T26] ( 3, 6 ) int -> rdx "ReplaceWithLclVar is creating a new local variable"
+; V175 cse5 [V175,T06] ( 4, 11 ) byref -> r14 "CSE #20: moderate"
+; V176 rat0 [V176 ] ( 1, 1 ) long -> [rbp-0xA0] do-not-enreg[V] "PSPSym"
+; V177 rat1 [V177,T26] ( 3, 6 ) int -> rdx "ReplaceWithLclVar is creating a new local variable"
;
; Lcl frame size = 144
G_M53441_IG01:
push rbp
push r15
push r14
push r13
push rbx
sub rsp, 144
lea rbp, [rsp+0xB0]
vxorps xmm8, xmm8, xmm8
vmovdqu32 zmmword ptr [rbp-0x80], zmm8
vmovdqa xmmword ptr [rbp-0x40], xmm8
xor eax, eax
mov qword ptr [rbp-0x30], rax
mov qword ptr [rbp-0xA0], rsp
mov bword ptr [rbp-0x98], rdi
;; size=60 bbWeight=1 PerfScore 13.33
G_M53441_IG02:
mov eax, dword ptr [rdi+0x30]
mov dword ptr [rbp-0x24], eax
mov rbx, gword ptr [rdi+0x10]
;; size=10 bbWeight=1 PerfScore 5.00
G_M53441_IG03:
cmp dword ptr [rbp-0x24], 0
je G_M53441_IG04
mov rdi, 0xD1FFAB1E ; MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_1
call CORINFO_HELP_NEWSFAST
mov rdi, bword ptr [rbp-0x98]
lea rdi, bword ptr [rdi+0x18]
mov rsi, rax
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov rdi, bword ptr [rbp-0x98]
mov rax, gword ptr [rdi+0x18]
xor rcx, rcx
mov gword ptr [rax+0x08], rcx
mov rdi, 0xD1FFAB1E ; System.Net.Http.SocketsHttpHandler
call CORINFO_HELP_NEWSFAST
mov r15, rax
mov rdi, 0xD1FFAB1E ; System.Net.Http.HttpConnectionSettings
call CORINFO_HELP_NEWSFAST
mov r14, rax
mov rdi, r14
mov rax, 0xD1FFAB1E ; code for System.Net.Http.HttpConnectionSettings:.ctor():this
call [rax]System.Net.Http.HttpConnectionSettings:.ctor():this
lea rdi, bword ptr [r15+0x08]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Net.Http.HttpMessageHandler:.ctor():this
call [rax]System.Net.Http.HttpMessageHandler:.ctor():this
mov rdi, bword ptr [rbp-0x98]
lea rdi, bword ptr [rdi+0x20]
mov rsi, r15
call CORINFO_HELP_CHECKED_ASSIGN_REF
nop
;; size=159 bbWeight=1 PerfScore 26.00
G_M53441_IG04:
cmp dword ptr [rbp-0x24], 0
je G_M53441_IG08
mov rdi, 0xD1FFAB1E ; System.Net.Security.RemoteCertificateValidationCallback
call CORINFO_HELP_NEWSFAST
mov r15, rax
mov rdi, bword ptr [rbp-0x98]
mov rdi, gword ptr [rdi+0x20]
mov rax, 0xD1FFAB1E ; code for System.Net.Http.SocketsHttpHandler:get_SslOptions():System.Net.Security.SslClientAuthenticationOptions:this
cmp dword ptr [rdi], edi
call [rax]System.Net.Http.SocketsHttpHandler:get_SslOptions():System.Net.Security.SslClientAuthenticationOptions:this
mov r14, rax
mov rdi, bword ptr [rbp-0x98]
mov rsi, gword ptr [rdi+0x18]
test rsi, rsi
je G_M53441_IG07
lea rdi, bword ptr [r15+0x08]
call CORINFO_HELP_ASSIGN_REF
mov rdi, 0xD1FFAB1E ; code for MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_1:<MonitorRuntimeTestServiceAsync>b__1(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,int):ubyte:this
mov qword ptr [r15+0x18], rdi
lea rdi, bword ptr [r14+0x10]
mov rsi, r15
call CORINFO_HELP_ASSIGN_REF
mov rdi, bword ptr [rbp-0x98]
mov rsi, gword ptr [rdi+0x20]
mov rdi, rsi
mov esi, 0xD1FFAB1E
mov rax, 0xD1FFAB1E ; code for System.Net.Http.SocketsHttpHandler:set_ConnectTimeout(System.TimeSpan):this
cmp dword ptr [rdi], edi
call [rax]System.Net.Http.SocketsHttpHandler:set_ConnectTimeout(System.TimeSpan):this
mov rdi, 0xD1FFAB1E ; System.Net.Http.HttpClient
call CORINFO_HELP_NEWSFAST
mov r15, rax
mov rdi, bword ptr [rbp-0x98]
mov rsi, gword ptr [rdi+0x20]
mov rdi, r15
mov edx, 1
mov rax, 0xD1FFAB1E ; code for System.Net.Http.HttpClient:.ctor(System.Net.Http.HttpMessageHandler,ubyte):this
call [rax]System.Net.Http.HttpClient:.ctor(System.Net.Http.HttpMessageHandler,ubyte):this
mov rdi, bword ptr [rbp-0x98]
mov r14, gword ptr [rdi]
mov rdi, r15
mov rax, 0xD1FFAB1E ; code for System.Net.Http.HttpClient:CheckDisposedOrStarted():this
call [rax]System.Net.Http.HttpClient:CheckDisposedOrStarted():this
;; size=218 bbWeight=1 PerfScore 47.25
G_M53441_IG05:
test r14, r14
je SHORT G_M53441_IG06
lea rdi, bword ptr [r15+0x28]
mov rsi, r14
call CORINFO_HELP_ASSIGN_REF
mov rdi, r15
mov esi, 0xD1FFAB1E
mov rax, 0xD1FFAB1E ; code for System.Net.Http.HttpClient:set_Timeout(System.TimeSpan):this
call [rax]System.Net.Http.HttpClient:set_Timeout(System.TimeSpan):this
mov rdi, bword ptr [rbp-0x98]
lea rdi, bword ptr [rdi+0x28]
mov rsi, r15
call CORINFO_HELP_CHECKED_ASSIGN_REF
jmp SHORT G_M53441_IG08
;; size=58 bbWeight=1 PerfScore 11.50
G_M53441_IG06:
mov edi, 0x1EB1
mov rsi, 0xD1FFAB1E
call CORINFO_HELP_STRCNS
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.ArgumentNullException:Throw(System.String)
call [rax]System.ArgumentNullException:Throw(System.String)
int3
;; size=36 bbWeight=1 PerfScore 5.25
G_M53441_IG07:
mov rax, 0xD1FFAB1E ; code for System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
call [rax]System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
int3
;; size=13 bbWeight=1 PerfScore 3.50
G_M53441_IG08:
cmp dword ptr [rbp-0x24], 0
jne G_M53441_IG14
mov rdi, bword ptr [rbp-0x98]
mov rax, gword ptr [rdi+0x40]
mov gword ptr [rbp-0x30], rax
xor eax, eax
mov qword ptr [rdi+0x40], rax
mov dword ptr [rbp-0x24], -1
mov dword ptr [rdi+0x30], -1
;; size=45 bbWeight=1 PerfScore 10.25
G_M53441_IG09:
mov rsi, gword ptr [rbp-0x30]
mov eax, dword ptr [rsi+0x34]
and eax, 0xD1FFAB1E
cmp eax, 0xD1FFAB1E
je SHORT G_M53441_IG10
mov rdi, rsi
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
mov rdi, bword ptr [rbp-0x98]
;; size=43 bbWeight=1 PerfScore 9.25
G_M53441_IG10:
mov rax, gword ptr [rbp-0x30]
mov r15, gword ptr [rax+0x38]
mov esi, dword ptr [rbx+0x10]
mov edx, 0xD1FFAB1E
mov eax, edx
imul edx:eax, esi
mov eax, edx
shr eax, 31
sar edx, 2
add edx, eax
lea edx, [rdx+4*rdx]
add edx, edx
sub esi, edx
jne G_M53441_IG30
mov rsi, gword ptr [rbx+0x08]
mov r14, gword ptr [rsi+0x18]
lea rdi, [rbp-0x80]
mov esi, 6
mov edx, 4
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:.ctor(int,int):this
;; size=77 bbWeight=1 PerfScore 20.25
G_M53441_IG11:
vmovdqu ymm0, ymmword ptr [rbp-0x80]
vmovdqu ymmword ptr [rbp-0x58], ymm0
mov rdi, qword ptr [rbp-0x60]
mov qword ptr [rbp-0x38], rdi
;; size=18 bbWeight=1 PerfScore 7.00
G_M53441_IG12:
mov edi, dword ptr [rbp-0x48]
cmp edi, dword ptr [rbp-0x38]
jbe G_M53441_IG17
;; size=12 bbWeight=1 PerfScore 4.00
G_M53441_IG13:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
;; size=13 bbWeight=1 PerfScore 3.50
G_M53441_IG14:
mov rdi, bword ptr [rbp-0x98]
mov r15, gword ptr [rdi+0x28]
mov rax, gword ptr [rdi+0x08]
cmp byte ptr [r15], r15b
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.Net.Http.HttpClient:CreateUri(System.String):System.Uri
call [rax]System.Net.Http.HttpClient:CreateUri(System.String):System.Uri
mov r14, rax
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
je G_M53441_IG29
;; size=55 bbWeight=1 PerfScore 16.00
G_M53441_IG15:
mov rsi, 0xD1FFAB1E ; data for System.Net.Http.HttpMethod:<Get>k__BackingField
mov rsi, gword ptr [rsi]
mov rdi, r15
mov rdx, r14
mov rax, 0xD1FFAB1E ; code for System.Net.Http.HttpClient:CreateRequestMessage(System.Net.Http.HttpMethod,System.Uri):System.Net.Http.HttpRequestMessage:this
call [rax]System.Net.Http.HttpClient:CreateRequestMessage(System.Net.Http.HttpMethod,System.Uri):System.Net.Http.HttpRequestMessage:this
mov r14, rax
mov rdi, r15
mov rsi, r14
mov rax, 0xD1FFAB1E ; code for System.Net.Http.HttpClient:CheckRequestBeforeSend(System.Net.Http.HttpRequestMessage):this
call [rax]System.Net.Http.HttpClient:CheckRequestBeforeSend(System.Net.Http.HttpRequestMessage):this
mov rdi, r15
mov rsi, r14
xor rdx, rdx
mov rax, 0xD1FFAB1E ; code for System.Net.Http.HttpClient:GetStringAsyncCore(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.String]:this
call [rax]System.Net.Http.HttpClient:GetStringAsyncCore(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken):System.Threading.Tasks.Task`1[System.String]:this
cmp byte ptr [rax], al
mov gword ptr [rbp-0x30], rax
mov rdi, gword ptr [rbp-0x30]
test dword ptr [rdi+0x34], 0xD1FFAB1E
mov rdi, bword ptr [rbp-0x98]
jne G_M53441_IG09
xor esi, esi
mov dword ptr [rbp-0x24], esi
;; size=107 bbWeight=1 PerfScore 25.25
G_M53441_IG16:
mov dword ptr [rdi+0x30], esi
lea rdi, bword ptr [rdi+0x40]
mov rsi, gword ptr [rbp-0x30]
call CORINFO_HELP_CHECKED_ASSIGN_REF
mov rdi, bword ptr [rbp-0x98]
lea rsi, bword ptr [rdi+0x38]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<<MonitorRuntimeTestServiceAsync>g__TestRemoteServer|0>d](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<<MonitorRuntimeTestServiceAsync>g__TestRemoteServer|0>d](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rdx, rax
lea rsi, [rbp-0x30]
mov rdi, 0xD1FFAB1E ; System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.TaskAwaiter`1[System.String]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.TaskAwaiter`1[System.__Canon]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
jmp G_M53441_IG31
;; size=73 bbWeight=1 PerfScore 14.50
G_M53441_IG17:
mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea r13, bword ptr [rsi+2*rax]
mov esi, dword ptr [rbp-0x38]
sub esi, edi
jne SHORT G_M53441_IG18
lea rdi, [rbp-0x58]
mov rsi, 0xD1FFAB1E ; '['
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
jmp SHORT G_M53441_IG19
;; size=45 bbWeight=1 PerfScore 10.00
G_M53441_IG18:
mov word ptr [r13], 91
mov esi, dword ptr [rbp-0x48]
inc esi
mov dword ptr [rbp-0x48], esi
;; size=15 bbWeight=1 PerfScore 3.25
G_M53441_IG19:
mov esi, dword ptr [rbx+0x10]
lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted[int](int):this
mov edi, dword ptr [rbp-0x48]
cmp edi, dword ptr [rbp-0x38]
ja G_M53441_IG13
mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea rbx, bword ptr [rsi+2*rax]
mov esi, dword ptr [rbp-0x38]
sub esi, edi
cmp esi, 2
jae SHORT G_M53441_IG20
lea rdi, [rbp-0x58]
mov rsi, 0xD1FFAB1E ; '] '
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
jmp SHORT G_M53441_IG21
;; size=79 bbWeight=1 PerfScore 20.00
G_M53441_IG20:
mov dword ptr [rbx], 0xD1FFAB1E
mov esi, dword ptr [rbp-0x48]
add esi, 2
mov dword ptr [rbp-0x48], esi
;; size=15 bbWeight=1 PerfScore 3.25
G_M53441_IG21:
mov rdi, bword ptr [rbp-0x98]
mov rsi, gword ptr [rdi+0x08]
lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
mov edi, dword ptr [rbp-0x48]
cmp edi, dword ptr [rbp-0x38]
ja G_M53441_IG13
mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea rbx, bword ptr [rsi+2*rax]
mov esi, dword ptr [rbp-0x38]
sub esi, edi
cmp esi, 2
jae SHORT G_M53441_IG22
lea rdi, [rbp-0x58]
mov rsi, 0xD1FFAB1E ; ': '
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
jmp SHORT G_M53441_IG23
;; size=87 bbWeight=1 PerfScore 21.00
G_M53441_IG22:
mov dword ptr [rbx], 0xD1FFAB1E
mov edi, dword ptr [rbp-0x48]
add edi, 2
mov dword ptr [rbp-0x48], edi
;; size=15 bbWeight=1 PerfScore 3.25
G_M53441_IG23:
lea rdi, [rbp-0x58]
mov rsi, r15
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
mov edi, dword ptr [rbp-0x48]
cmp edi, dword ptr [rbp-0x38]
ja G_M53441_IG13
mov rsi, bword ptr [rbp-0x40]
mov eax, edi
lea rbx, bword ptr [rsi+2*rax]
mov esi, dword ptr [rbp-0x38]
sub esi, edi
jne SHORT G_M53441_IG24
lea rdi, [rbp-0x58]
mov rsi, 0xD1FFAB1E ; ' '
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
jmp SHORT G_M53441_IG25
;; size=76 bbWeight=1 PerfScore 18.00
G_M53441_IG24:
mov word ptr [rbx], 10
mov esi, dword ptr [rbp-0x48]
inc esi
mov dword ptr [rbp-0x48], esi
;; size=13 bbWeight=1 PerfScore 3.25
G_M53441_IG25:
mov rdi, bword ptr [rbp-0x98]
mov rsi, gword ptr [rdi+0x18]
mov rsi, gword ptr [rsi+0x08]
lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:AppendFormatted(System.String):this
lea rdi, [rbp-0x58]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:ToStringAndClear():System.String:this
mov rbx, rax
cmp byte ptr [r14], r14b
mov rax, 0xD1FFAB1E ; code for System.DateTime:get_UtcNow():System.DateTime
call [rax]System.DateTime:get_UtcNow():System.DateTime
mov r15, rax
mov rdi, r15
shr rdi, 62
mov eax, edi
shr eax, 1
andn edi, eax, edi
cmp edi, 1
jne SHORT G_M53441_IG26
mov rdi, 0xD1FFAB1E
and rdi, r15
mov qword ptr [rbp-0x90], rdi
jmp SHORT G_M53441_IG28
;; size=111 bbWeight=1 PerfScore 26.00
G_M53441_IG26:
mov rdi, 0xD1FFAB1E ; data for System.TimeZoneInfo:s_cachedData
mov r13, gword ptr [rdi]
mov rdi, gword ptr [r13+0x08]
test rdi, rdi
jne SHORT G_M53441_IG27
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.TimeZoneInfo+CachedData:CreateLocal():System.TimeZoneInfo:this
call [rax]System.TimeZoneInfo+CachedData:CreateLocal():System.TimeZoneInfo:this
mov rdi, rax
;; size=40 bbWeight=1 PerfScore 9.25
G_M53441_IG27:
mov rsi, r15
mov rcx, r13
mov edx, 2
mov rax, 0xD1FFAB1E ; code for System.TimeZoneInfo:GetUtcOffset(System.DateTime,int,System.TimeZoneInfo+CachedData):System.TimeSpan:this
cmp dword ptr [rdi], edi
call [rax]System.TimeZoneInfo:GetUtcOffset(System.DateTime,int,System.TimeZoneInfo+CachedData):System.TimeSpan:this
mov r13, rax
mov rdi, r13
mov rax, 0xD1FFAB1E ; code for System.DateTimeOffset:ValidateOffset(System.TimeSpan):int
call [rax]System.DateTimeOffset:ValidateOffset(System.TimeSpan):int
mov rdi, r15
mov rsi, r13
mov rax, 0xD1FFAB1E ; code for System.DateTimeOffset:ValidateDate(System.DateTime,System.TimeSpan):System.DateTime
call [rax]System.DateTimeOffset:ValidateDate(System.DateTime,System.TimeSpan):System.DateTime
mov qword ptr [rbp-0x90], rax
;; size=68 bbWeight=1 PerfScore 15.50
G_M53441_IG28:
mov gword ptr [rsp], rbx
xor rax, rax
mov gword ptr [rsp+0x08], rax
mov rdx, 0xD1FFAB1E
mov rax, rdx
mul rdx:rax, qword ptr [rbp-0x90]
shr rdx, 11
mov rdi, 0xD1FFAB1E
add rdx, rdi
shl rdx, 22
mov rdi, 0xD1FFAB1E ; MihuBot.DB.LogDbEntry:Create[System.Object](int,ulong,ulong,ulong,ulong,System.String,System.Object):MihuBot.DB.LogDbEntry
mov esi, 5
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
mov rax, 0xD1FFAB1E ; code for MihuBot.DB.LogDbEntry:Create[System.__Canon](int,ulong,ulong,ulong,ulong,System.String,System.__Canon):MihuBot.DB.LogDbEntry
call [rax]MihuBot.DB.LogDbEntry:Create[System.__Canon](int,ulong,ulong,ulong,ulong,System.String,System.__Canon):MihuBot.DB.LogDbEntry
mov rsi, rax
mov rdi, gword ptr [r14+0x20]
mov rdi, gword ptr [rdi+0x10]
mov rax, qword ptr [rdi]
mov rax, qword ptr [rax+0x40]
call [rax+0x28]System.Threading.Channels.ChannelWriter`1[System.__Canon]:TryWrite(System.__Canon):ubyte:this
mov rdi, bword ptr [rbp-0x98]
jmp SHORT G_M53441_IG30
;; size=117 bbWeight=1 PerfScore 28.00
G_M53441_IG29:
mov rdi, 0xD1FFAB1E ; System.Net.Http.HttpMethod
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_GET_GCSTATIC_BASE
call [rax]CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M53441_IG15
align [0 bytes for IG42]
;; size=27 bbWeight=0 PerfScore 0.00
G_M53441_IG30:
cmp dword ptr [rbp-0x24], 0
jge SHORT G_M53441_IG35
mov r11, gword ptr [rdi+0x28]
test r11, r11
je SHORT G_M53441_IG35
mov rdi, r11
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
jmp SHORT G_M53441_IG35
;; size=33 bbWeight=1 PerfScore 11.75
G_M53441_IG31:
mov rdi, rsp
;; size=3 bbWeight=1 PerfScore 0.25
G_M53441_IG32:
call G_M53441_IG55
nop
;; size=6 bbWeight=1 PerfScore 1.25
G_M53441_IG33:
- cmp dword ptr [rbp-0x24], 0
- jge G_M53441_IG52
- mov rdi, bword ptr [rbp-0x98]
- mov rbx, gword ptr [rdi+0x20]
- test rbx, rbx
- je G_M53441_IG52
- cmp byte ptr [rbx+0x20], 0
- jne SHORT G_M53441_IG34
- mov byte ptr [rbx+0x20], 1
- mov rax, gword ptr [rbx+0x10]
- test rax, rax
- je SHORT G_M53441_IG34
- mov rdi, rax
- mov rax, 0xD1FFAB1E ; code for System.Net.Http.HttpMessageHandler:Dispose():this
- call [rax]System.Net.Http.HttpMessageHandler:Dispose():this
- ;; size=64 bbWeight=1 PerfScore 19.00
+ mov rdi, rsp
+ ;; size=3 bbWeight=1 PerfScore 0.25
G_M53441_IG34:
- mov rdi, rbx
- call System.GC:_SuppressFinalize(System.Object)
+ call G_M53441_IG59
jmp G_M53441_IG52
- ;; size=13 bbWeight=1 PerfScore 3.25
+ ;; size=10 bbWeight=1 PerfScore 3.00
G_M53441_IG35:
mov rdi, bword ptr [rbp-0x98]
mov rdi, rsp
;; size=10 bbWeight=1 PerfScore 1.25
G_M53441_IG36:
call G_M53441_IG59
nop
;; size=6 bbWeight=1 PerfScore 1.25
G_M53441_IG37:
mov rdi, bword ptr [rbp-0x98]
mov dword ptr [rdi+0x30], -2
xor rax, rax
mov gword ptr [rdi+0x18], rax
;; size=20 bbWeight=1 PerfScore 3.25
G_M53441_IG38:
mov gword ptr [rdi+0x20], rax
;; size=4 bbWeight=1 PerfScore 1.00
G_M53441_IG39:
mov gword ptr [rdi+0x28], rax
add rdi, 56
cmp gword ptr [rdi], 0
je G_M53441_IG51
mov rbx, gword ptr [rdi]
xor r15d, r15d
mov rdi, 0xD1FFAB1E ; global ptr
test byte ptr [rdi], 1
je G_M53441_IG54
;; size=43 bbWeight=1 PerfScore 11.75
G_M53441_IG40:
mov rdi, 0xD1FFAB1E ; data for System.Threading.Tasks.TplEventSource:Log
mov r14, gword ptr [rdi]
cmp byte ptr [r14+0x9D], 0
je SHORT G_M53441_IG41
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:get_Id():int:this
cmp dword ptr [rdi], edi
call [rax]System.Threading.Tasks.Task:get_Id():int:this
mov r13d, eax
movzx rsi, byte ptr [r14+0x9D]
test esi, esi
je SHORT G_M53441_IG41
xor ecx, ecx
mov dword ptr [rsp], ecx
mov rcx, qword ptr [r14+0x80]
mov edx, dword ptr [r14+0x98]
mov rdi, r14
mov r8d, 4
mov r9d, 8
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
call [rax]System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
test eax, eax
je SHORT G_M53441_IG41
mov rdi, r14
mov edx, r13d
mov esi, 15
mov ecx, 1
mov rax, 0xD1FFAB1E ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
call [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
;; size=133 bbWeight=1 PerfScore 31.00
G_M53441_IG41:
mov eax, dword ptr [rbx+0x34]
mov dword ptr [rbp-0x84], eax
test eax, 0xD1FFAB1E
jne SHORT G_M53441_IG48
lea r14, bword ptr [rbx+0x34]
mov edi, eax
or edi, 0xD1FFAB1E
lock
cmpxchg dword ptr [r14], edi
cmp eax, dword ptr [rbp-0x84]
je SHORT G_M53441_IG49
mov eax, dword ptr [rbx+0x34]
jmp SHORT G_M53441_IG43
;; size=46 bbWeight=1 PerfScore 30.25
G_M53441_IG42:
mov edi, eax
mov eax, edi
;; size=4 bbWeight=8 PerfScore 4.00
G_M53441_IG43:
test eax, 0xD1FFAB1E
je SHORT G_M53441_IG45
;; size=7 bbWeight=8 PerfScore 10.00
G_M53441_IG44:
xor edi, edi
jmp SHORT G_M53441_IG47
;; size=4 bbWeight=1 PerfScore 2.25
G_M53441_IG45:
mov edi, eax
or edi, 0xD1FFAB1E
mov dword ptr [rbp-0x88], eax
lock
cmpxchg dword ptr [r14], edi
mov edi, dword ptr [rbp-0x88]
cmp eax, edi
jne SHORT G_M53441_IG42
;; size=29 bbWeight=8 PerfScore 174.00
G_M53441_IG46:
mov edi, 1
;; size=5 bbWeight=1 PerfScore 0.25
G_M53441_IG47:
test edi, edi
jne SHORT G_M53441_IG49
;; size=4 bbWeight=1 PerfScore 1.25
G_M53441_IG48:
mov edi, 24
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowInvalidOperationException(int)
call [rax]System.ThrowHelper:ThrowInvalidOperationException(int)
int3
;; size=18 bbWeight=1 PerfScore 3.75
G_M53441_IG49:
mov byte ptr [rbx+0x38], r15b
mov edi, dword ptr [rbx+0x34]
or edi, 0xD1FFAB1E
xchg dword ptr [r14], edi
mov r15, gword ptr [rbx+0x28]
test r15, r15
je SHORT G_M53441_IG50
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
call [rax]System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
mov rdi, gword ptr [r15+0x10]
test rdi, rdi
je SHORT G_M53441_IG50
mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
call [rax]System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
;; size=61 bbWeight=1 PerfScore 36.50
G_M53441_IG50:
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Threading.Tasks.Task:FinishContinuations():this
call [rax]System.Threading.Tasks.Task:FinishContinuations():this
jmp SHORT G_M53441_IG52
;; size=17 bbWeight=1 PerfScore 5.50
G_M53441_IG51:
mov rsi, 0xD1FFAB1E ; const ptr
mov rsi, gword ptr [rsi]
call CORINFO_HELP_CHECKED_ASSIGN_REF
;; size=18 bbWeight=1 PerfScore 3.25
G_M53441_IG52:
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M53441_IG53:
vzeroupper
add rsp, 144
pop rbx
pop r13
pop r14
pop r15
pop rbp
ret
;; size=19 bbWeight=1 PerfScore 4.75
G_M53441_IG54:
mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.TplEventSource
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_GET_GCSTATIC_BASE
call [rax]CORINFO_HELP_GET_GCSTATIC_BASE
jmp G_M53441_IG40
;; size=27 bbWeight=0 PerfScore 0.00
G_M53441_IG55:
push rbp
push r15
push r14
push r13
push rbx
sub rsp, 32
mov rbp, qword ptr [rdi+0x10]
mov qword ptr [rsp+0x10], rbp
lea rbp, [rbp+0xB0]
;; size=28 bbWeight=1 PerfScore 8.75
G_M53441_IG56:
cmp dword ptr [rbp-0x24], 0
jge SHORT G_M53441_IG57
mov rdi, bword ptr [rbp-0x98]
mov r11, gword ptr [rdi+0x28]
test r11, r11
je SHORT G_M53441_IG57
mov rdi, r11
mov r11, 0xD1FFAB1E ; code for System.IDisposable:Dispose():this
call [r11]System.IDisposable:Dispose():this
;; size=38 bbWeight=1 PerfScore 10.75
G_M53441_IG57:
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M53441_IG58:
vzeroupper
add rsp, 32
pop rbx
pop r13
pop r14
pop r15
pop rbp
ret
;; size=16 bbWeight=1 PerfScore 4.75
G_M53441_IG59:
push rbp
push r15
push r14
push r13
push rbx
sub rsp, 32
mov rbp, qword ptr [rdi+0x10]
mov qword ptr [rsp+0x10], rbp
lea rbp, [rbp+0xB0]
;; size=28 bbWeight=1 PerfScore 8.75
G_M53441_IG60:
cmp dword ptr [rbp-0x24], 0
jge SHORT G_M53441_IG62
mov rdi, bword ptr [rbp-0x98]
mov rbx, gword ptr [rdi+0x20]
test rbx, rbx
je SHORT G_M53441_IG62
cmp byte ptr [rbx+0x20], 0
jne SHORT G_M53441_IG61
mov byte ptr [rbx+0x20], 1
- mov rax, gword ptr [rbx+0x10]
- test rax, rax
+ mov r15, gword ptr [rbx+0x10]
+ test r15, r15
je SHORT G_M53441_IG61
- mov rdi, rax
- mov rax, 0xD1FFAB1E ; code for System.Net.Http.HttpMessageHandler:Dispose():this
- call [rax]System.Net.Http.HttpMessageHandler:Dispose():this
- ;; size=56 bbWeight=1 PerfScore 19.00
+ mov rdi, r15
+ mov esi, 1
+ mov rax, qword ptr [r15]
+ mov rax, qword ptr [rax+0x40]
+ call [rax+0x30]System.Net.Http.HttpMessageHandler:Dispose(ubyte):this
+ mov rdi, r15
+ call System.GC:_SuppressFinalize(System.Object)
+ ;; size=67 bbWeight=1 PerfScore 24.25
G_M53441_IG61:
mov rdi, rbx
call System.GC:_SuppressFinalize(System.Object)
;; size=8 bbWeight=1 PerfScore 1.25
G_M53441_IG62:
nop
;; size=1 bbWeight=1 PerfScore 0.25
G_M53441_IG63:
vzeroupper
add rsp, 32
pop rbx
pop r13
pop r14
pop r15
pop rbp
ret
;; size=16 bbWeight=1 PerfScore 4.75
G_M53441_IG64:
push rbp
push r15
push r14
push r13
push rbx
sub rsp, 32
mov rbp, qword ptr [rdi+0x10]
mov qword ptr [rsp+0x10], rbp
lea rbp, [rbp+0xB0]
;; size=28 bbWeight=0 PerfScore 0.00
G_M53441_IG65:
mov rdi, bword ptr [rbp-0x98]
mov dword ptr [rdi+0x30], -2
xor rax, rax
mov gword ptr [rdi+0x18], rax
;; size=20 bbWeight=0 PerfScore 0.00
G_M53441_IG66:
mov gword ptr [rdi+0x20], rax
;; size=4 bbWeight=0 PerfScore 0.00
G_M53441_IG67:
mov gword ptr [rdi+0x28], rax
add rdi, 56
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetException(System.Exception):this
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder:SetException(System.Exception):this
lea rax, G_M53441_IG52
;; size=27 bbWeight=0 PerfScore 0.00
G_M53441_IG68:
vzeroupper
add rsp, 32
pop rbx
pop r13
pop r14
pop r15
pop rbp
ret
;; size=16 bbWeight=0 PerfScore 0.00
-; Total bytes of code 2587, prolog size 60, PerfScore 802.08, instruction count 613, allocated bytes for code 2587 (MethodHash=ed252f3e) for method MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<<MonitorRuntimeTestServiceAsync>g__TestRemoteServer|0>d:MoveNext():this (FullOpts)
+; Total bytes of code 2534, prolog size 60, PerfScore 788.33, instruction count 602, allocated bytes for code 2534 (MethodHash=ed252f3e) for method MihuBot.RuntimeUtils.RuntimeUtilsService+<>c__DisplayClass19_0+<<MonitorRuntimeTestServiceAsync>g__TestRemoteServer|0>d:MoveNext():this (FullOpts)
; ============================================================ Larger list of diffs: https://gist.github.com/MihuBot/d39d3e8c1ff8d6dbb2dd7d022873af07 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Job completed in 15 minutes 11 seconds (remote runner delay: 1 minute 19 seconds).
dotnet/runtime#112318
Diffs
Diffs
Artifacts:
The text was updated successfully, but these errors were encountered: