Untitled diff

Created Diff never expires
380 removals
Words removed721
Total words2927
Words removed (%)24.63
379 lines
368 additions
Words added586
Total words2792
Words added (%)20.99
373 lines
; Assembly listing for method System.Net.Http.Http3Connection+<>c__DisplayClass47_0+<<ProcessServerControlStreamAsync>g__ReadFrameEnvelopeAsync|0>d:MoveNext():this (FullOpts)
; Assembly listing for method System.Net.Http.Http3Connection+<>c__DisplayClass47_0+<<ProcessServerControlStreamAsync>g__ReadFrameEnvelopeAsync|0>d:MoveNext():this (FullOpts)
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; Emitting BLENDED_CODE for X64 with AVX512 - Unix
; FullOpts code
; FullOpts code
; optimized code
; optimized code
; rbp based frame
; rbp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
; 0 inlinees with PGO data; 27 single block inlinees; 17 inlinees without PGO data
; 0 inlinees with PGO data; 27 single block inlinees; 16 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 this [V00,T40] ( 15, 13 ) byref -> [rbp-0x90] this EH-live single-def
; V00 this [V00,T31] ( 15, 13 ) byref -> [rbp-0x88] this EH-live single-def
; V01 loc0 [V01,T60] ( 2, 2 ) int -> rsi
; V01 loc0 [V01,T58] ( 2, 2 ) int -> rsi
; V02 loc1 [V02,T12] ( 6, 99 ) ref -> rbx class-hnd exact single-def <System.Net.Http.Http3Connection+<>c__DisplayClass47_0>
; V02 loc1 [V02,T08] ( 9, 28 ) ref -> rbx class-hnd exact single-def <System.Net.Http.Http3Connection+<>c__DisplayClass47_0>
;* V03 loc2 [V03 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] <System.ValueTuple`2[System.Nullable`1[long],long]>
;* V03 loc2 [V03 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[S] <System.ValueTuple`2[System.Nullable`1[long],long]>
; V04 loc3 [V04 ] ( 2, 65 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op
; V04 loc3 [V04 ] ( 2, 9 ) long -> [rbp-0x30] do-not-enreg[X] addr-exposed ld-addr-op
; V05 loc4 [V05 ] ( 3, 81 ) long -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op
; V05 loc4 [V05 ] ( 2, 9 ) long -> [rbp-0x38] do-not-enreg[X] addr-exposed ld-addr-op
; V06 loc5 [V06,T61] ( 2, 2 ) int -> rdi ld-addr-op
; V06 loc5 [V06 ] ( 5, 21 ) int -> [rbp-0x40] do-not-enreg[X] addr-exposed ld-addr-op
; V07 loc6 [V07 ] ( 12,147 ) struct (16) [rbp-0x48] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]>
; V07 loc6 [V07 ] ( 12, 39 ) struct (16) [rbp-0x50] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]>
; V08 loc7 [V08,T24] ( 4, 64 ) struct (16) [rbp-0x58] do-not-enreg[SFRM] multireg-ret multireg-dest must-init ld-addr-op <System.Threading.Tasks.ValueTask`1[int]>
; V08 loc7 [V08,T20] ( 4, 16 ) struct (16) [rbp-0x60] do-not-enreg[SFRM] multireg-ret multireg-dest must-init ld-addr-op <System.Threading.Tasks.ValueTask`1[int]>
;* V09 loc8 [V09 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[int]>
;* V09 loc8 [V09 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[int]>
;* V10 loc9 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Nullable`1[long]>
;* V10 loc9 [V10 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op <System.Nullable`1[long]>
;* V11 loc10 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
;* V11 loc10 [V11 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def <System.Exception>
; V12 OutArgs [V12 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
; V12 OutArgs [V12 ] ( 1, 1 ) struct ( 8) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <UNNAMED>
;* V13 tmp1 [V13 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V13 tmp1 [V13 ] ( 0, 0 ) int -> zero-ref "dup spill"
;* V14 tmp2 [V14 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Nullable`1[long],long]>
;* V14 tmp2 [V14 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Nullable`1[long],long]>
;* V15 tmp3 [V15 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V15 tmp3 [V15 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ubyte]>
;* V16 tmp4 [V16 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[SBRM] multireg-ret multireg-dest "Return value temp for multireg return" <System.ReadOnlySpan`1[ubyte]>
;* V16 tmp4 [V16 ] ( 0, 0 ) struct (16) zero-ref multireg-arg multireg-ret multireg-dest "Return value temp for multireg return" <System.ReadOnlySpan`1[ubyte]>
; V17 tmp5 [V17,T25] ( 2, 64 ) ref -> rdi class-hnd exact "impAppendStmt" <System.Net.Quic.QuicStream>
; V17 tmp5 [V17,T24] ( 2, 16 ) ref -> rdi class-hnd exact "impAppendStmt" <System.Net.Quic.QuicStream>
;* V18 tmp6 [V18 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Memory`1[ubyte]>
;* V18 tmp6 [V18 ] ( 0, 0 ) struct (16) zero-ref "impAppendStmt" <System.Memory`1[ubyte]>
;* V19 tmp7 [V19 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Threading.CancellationToken>
;* V19 tmp7 [V19 ] ( 0, 0 ) struct ( 8) zero-ref "spilled call-like call argument" <System.Threading.CancellationToken>
;* V20 tmp8 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[long]>
;* V20 tmp8 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Nullable`1[long]>
;* V21 tmp9 [V21 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Nullable`1[long],long]>
;* V21 tmp9 [V21 ] ( 0, 0 ) struct (24) zero-ref do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.ValueTuple`2[System.Nullable`1[long],long]>
; V22 tmp10 [V22,T64] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V22 tmp10 [V22,T61] ( 2, 0 ) ref -> rsi class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
; V23 tmp11 [V23,T01] ( 4,392 ) byref -> rdi "Inlining Arg"
; V23 tmp11 [V23,T06] ( 4, 32 ) byref -> rdi "Inlining Arg"
; V24 tmp12 [V24,T16] ( 3, 96 ) byref -> rsi "Inlining Arg"
; V24 tmp12 [V24,T12] ( 3, 24 ) byref -> rsi "Inlining Arg"
; V25 tmp13 [V25,T10] ( 4,128 ) ref -> rdx class-hnd "Inlining Arg" <ubyte[]>
; V25 tmp13 [V25,T07] ( 4, 32 ) ref -> rdx class-hnd "Inlining Arg" <ubyte[]>
; V26 tmp14 [V26,T07] ( 5,160 ) int -> rsi "Inlining Arg"
; V26 tmp14 [V26,T03] ( 5, 40 ) int -> rsi "Inlining Arg"
; V27 tmp15 [V27 ] ( 8,256 ) struct (16) [rbp-0x68] do-not-enreg[SFA] multireg-arg must-init ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
; V27 tmp15 [V27 ] ( 8, 64 ) struct (16) [rbp-0x70] do-not-enreg[SFA] multireg-arg must-init ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
;* V28 tmp16 [V28 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
;* V28 tmp16 [V28 ] ( 0, 0 ) struct ( 8) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
;* V29 tmp17 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[int]>
;* V29 tmp17 [V29 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask`1[int]>
;* V30 tmp18 [V30 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask`1[int]>
;* V30 tmp18 [V30 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask`1[int]>
;* V31 tmp19 [V31 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[int]>
;* V31 tmp19 [V31 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[int]>
; V32 tmp20 [V32,T26] ( 2, 64 ) ref -> rsi class-hnd "Inlining Arg" <System.Object>
; V32 tmp20 [V32,T25] ( 2, 16 ) ref -> rsi class-hnd "Inlining Arg" <System.Object>
; V33 tmp21 [V33,T28] ( 2, 64 ) int -> rdi "Inlining Arg"
; V33 tmp21 [V33,T27] ( 2, 16 ) int -> rdi "Inlining Arg"
; V34 tmp22 [V34,T29] ( 2, 64 ) short -> rax "Inlining Arg"
; V34 tmp22 [V34,T28] ( 2, 16 ) short -> rax "Inlining Arg"
;* V35 tmp23 [V35 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]>
;* V35 tmp23 [V35 ] ( 0, 0 ) struct (16) zero-ref do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]>
;* V36 tmp24 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V36 tmp24 [V36 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V37 tmp25 [V37,T22] ( 4, 64 ) ref -> r15 class-hnd "Inline stloc first use temp" <System.Object>
; V37 tmp25 [V37,T18] ( 4, 16 ) ref -> r15 class-hnd "Inline stloc first use temp" <System.Object>
; V38 tmp26 [V38,T31] ( 3, 48 ) ref -> rax class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[int]>
; V38 tmp26 [V38,T34] ( 3, 12 ) ref -> rax class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[int]>
;* V39 tmp27 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[int]>
;* V39 tmp27 [V39 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[int]>
;* V40 tmp28 [V40 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V40 tmp28 [V40 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V41 tmp29 [V41 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V41 tmp29 [V41 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V42 tmp30 [V42 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V42 tmp30 [V42 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V43 tmp31 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
;* V43 tmp31 [V43 ] ( 0, 0 ) ref -> zero-ref class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
; V44 tmp32 [V44,T21] ( 5, 80 ) int -> rax "Inline return value spill temp"
; V44 tmp32 [V44,T21] ( 4, 16 ) int -> rax "Inline return value spill temp"
; V45 tmp33 [V45,T23] ( 4, 64 ) ref -> r15 class-hnd "Inline stloc first use temp" <System.Object>
; V45 tmp33 [V45,T19] ( 4, 16 ) ref -> r15 class-hnd "Inline stloc first use temp" <System.Object>
; V46 tmp34 [V46,T20] ( 5, 80 ) ref -> r14 class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[int]>
; V46 tmp34 [V46,T17] ( 5, 20 ) ref -> r14 class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task`1[int]>
;* V47 tmp35 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[int]>
;* V47 tmp35 [V47 ] ( 0, 0 ) ref -> zero-ref class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource`1[int]>
; V48 tmp36 [V48,T17] ( 3, 96 ) byref -> r15 "Inlining Arg"
; V48 tmp36 [V48,T13] ( 3, 24 ) byref -> rdi "Inlining Arg"
;* V49 tmp37 [V49 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
; V49 tmp37 [V49,T29] ( 2, 16 ) int -> rsi "Inlining Arg"
;* V50 tmp38 [V50 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Nullable`1[long]>
;* V50 tmp38 [V50 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Nullable`1[long]>
; V51 tmp39 [V51,T00] ( 4,512 ) byref -> rdi "Inlining Arg"
; V51 tmp39 [V51,T00] ( 4, 64 ) byref -> rdi "Inlining Arg"
;* V52 tmp40 [V52 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
;* V52 tmp40 [V52 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
; V53 tmp41 [V53,T02] ( 4,320 ) ref -> rsi class-hnd "Inlining Arg" <ubyte[]>
; V53 tmp41 [V53,T01] ( 4, 48 ) ref -> rsi class-hnd "Inlining Arg" <ubyte[]>
; V54 tmp42 [V54,T04] ( 4,224 ) int -> rcx "Inlining Arg"
; V54 tmp42 [V54,T04] ( 4, 40 ) int -> rcx "Inlining Arg"
; V55 tmp43 [V55,T05] ( 4,224 ) int -> rdi "Inlining Arg"
; V55 tmp43 [V55,T05] ( 4, 40 ) int -> rdi "Inlining Arg"
;* V56 tmp44 [V56 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
;* V56 tmp44 [V56 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V57 tmp45 [V57 ] ( 0, 0 ) struct (16) zero-ref multireg-arg multireg-ret multireg-dest ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
; V57 tmp45 [V57,T32] ( 7, 14 ) byref -> rdi single-def "Inlining Arg"
; V58 tmp46 [V58 ] ( 3, 81 ) int -> [rbp-0x70] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V58 tmp46 [V58,T48] ( 2, 4 ) int -> rax "Inlining Arg"
; V59 tmp47 [V59 ] ( 2, 17 ) int -> [rbp-0x78] do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
; V59 tmp47 [V59,T49] ( 2, 4 ) long -> r13 "Inlining Arg"
; V60 tmp48 [V60,T11] ( 4,128 ) int -> rdi "Inlining Arg"
;* V60 tmp48 [V60 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Nullable`1[long]>
;* V61 tmp49 [V61 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
; V61 tmp49 [V61,T50] ( 2, 4 ) long -> r15 "Inlining Arg"
; V62 tmp50 [V62,T27] ( 2, 64 ) byref -> rsi "Inlining Arg"
; V62 tmp50 [V62,T37] ( 5, 10 ) byref -> rbx single-def "Inlining Arg"
; V63 tmp51 [V63,T30] ( 2, 64 ) int -> r13 "Inlining Arg"
; V63 tmp51 [V63,T16] ( 10, 20 ) ref -> rbx class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Nullable`1[long],long]]>
; V64 tmp52 [V64,T41] ( 7, 14 ) byref -> rax "Inlining Arg"
; V64 tmp52 [V64,T33] ( 6, 12 ) ref -> r12 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
;* V65 tmp53 [V65 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V65 tmp53 [V65 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V66 tmp54 [V66,T52] ( 2, 4 ) long -> r14 "Inlining Arg"
; V66 tmp54 [V66,T51] ( 2, 4 ) int -> [rbp-0x74] spill-single-def "Inlining Arg"
;* V67 tmp55 [V67 ] ( 0, 0 ) struct (16) zero-ref "Inlining Arg" <System.Nullable`1[long]>
;* V67 tmp55 [V67 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V68 tmp56 [V68,T53] ( 2, 4 ) long -> rbx "Inlining Arg"
;* V68 tmp56 [V68 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V69 tmp57 [V69,T44] ( 5, 10 ) byref -> r13 single-def "Inlining Arg"
;* V69 tmp57 [V69,T60] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V70 tmp58 [V70,T38] ( 10, 20 ) ref -> r13 class-hnd single-def "Inlining Arg" <System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Nullable`1[long],long]]>
; V70 tmp58 [V70,T53] ( 3, 3 ) ref -> r15 class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
; V71 tmp59 [V71,T42] ( 6, 12 ) ref -> r12 class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
; V71 tmp59 [V71,T59] ( 2, 2 ) ubyte -> rdi "Inline return value spill temp"
;* V72 tmp60 [V72 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
; V72 tmp60 [V72,T43] ( 5, 5 ) int -> [rbp-0x78] spill-single-def "Inline stloc first use temp"
; V73 tmp61 [V73,T54] ( 2, 4 ) int -> [rbp-0x7C] spill-single-def "Inlining Arg"
; V73 tmp61 [V73,T56] ( 3, 3 ) ubyte -> rdi "Inline return value spill temp"
;* V74 tmp62 [V74 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V74 tmp62 [V74,T02] ( 6, 41 ) int -> [rbp-0x7C] "Inline stloc first use temp"
;* V75 tmp63 [V75 ] ( 0, 0 ) ubyte -> zero-ref "Inline return value spill temp"
; V75 tmp63 [V75,T14] ( 3, 24 ) int -> rax "Inline stloc first use temp"
;* V76 tmp64 [V76,T63] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V76 tmp64 [V76,T54] ( 3, 3 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
; V77 tmp65 [V77,T55] ( 3, 3 ) ref -> rbx class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
;* V77 tmp65 [V77 ] ( 0, 0 ) ubyte -> zero-ref "field V10.hasValue (fldOffset=0x0)" P-INDEP
; V78 tmp66 [V78,T62] ( 2, 2 ) ubyte -> rdi "Inline return value spill temp"
;* V78 tmp66 [V78 ] ( 0, 0 ) long -> zero-ref "field V10.value (fldOffset=0x8)" P-INDEP
; V79 tmp67 [V79,T47] ( 5, 5 ) int -> [rbp-0x80] spill-single-def "Inline stloc first use temp"
;* V79 tmp67 [V79 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP
; V80 tmp68 [V80,T58] ( 3, 3 ) ubyte -> rdi "Inline return value spill temp"
;* V80 tmp68 [V80 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP
; V81 tmp69 [V81,T33] ( 6, 41 ) int -> [rbp-0x84] "Inline stloc first use temp"
; V81 tmp69 [V81,T26] ( 2, 16 ) byref -> rdi "field V16._reference (fldOffset=0x0)" P-INDEP
; V82 tmp70 [V82,T37] ( 3, 24 ) int -> rax "Inline stloc first use temp"
; V82 tmp70 [V82,T30] ( 2, 16 ) int -> rsi "field V16._length (fldOffset=0x8)" P-INDEP
; V83 tmp71 [V83,T56] ( 3, 3 ) ref -> rdi class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
;* V83 tmp71 [V83 ] ( 0, 0 ) ref -> zero-ref "field V18._object (fldOffset=0x0)" P-INDEP
;* V84 tmp72 [V84 ] ( 0, 0 ) ubyte -> zero-ref "field V10.hasValue (fldOffset=0x0)" P-INDEP
;* V84 tmp72 [V84 ] ( 0, 0 ) int -> zero-ref "field V18._index (fldOffset=0x8)" P-INDEP
;* V85 tmp73 [V85 ] ( 0, 0 ) long -> zero-ref "field V10.value (fldOffset=0x8)" P-INDEP
;* V85 tmp73 [V85 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0xc)" P-INDEP
;* V86 tmp74 [V86 ] ( 0, 0 ) byref -> zero-ref "field V15._reference (fldOffset=0x0)" P-INDEP
;* V86 tmp74 [V86 ] ( 0, 0 ) ref -> zero-ref "field V19._source (fldOffset=0x0)" P-INDEP
;* V87 tmp75 [V87 ] ( 0, 0 ) int -> zero-ref "field V15._length (fldOffset=0x8)" P-INDEP
;* V87 tmp75 [V87 ] ( 0, 0 ) ubyte -> zero-ref "field V20.hasValue (fldOffset=0x0)" P-INDEP
;* V88 tmp76 [V88 ] ( 0, 0 ) byref -> zero-ref "field V16._reference (fldOffset=0x0)" P-DEP
;* V88 tmp76 [V88 ] ( 0, 0 ) long -> zero-ref "field V20.value (fldOffset=0x8)" P-INDEP
;* V89 tmp77 [V89 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-DEP
; V89 tmp77 [V89,T09] ( 4, 24 ) ref -> [rbp-0x70] do-not-enreg[] "field V27._object (fldOffset=0x0)" P-DEP
;* V90 tmp78 [V90 ] ( 0, 0 ) ref -> zero-ref "field V18._object (fldOffset=0x0)" P-INDEP
; V90 tmp78 [V90,T10] ( 4, 24 ) int -> [rbp-0x68] do-not-enreg[] "field V27._index (fldOffset=0x8)" P-DEP
;* V91 tmp79 [V91 ] ( 0, 0 ) int -> zero-ref "field V18._index (fldOffset=0x8)" P-INDEP
; V91 tmp79 [V91,T11] ( 4, 24 ) int -> [rbp-0x64] do-not-enreg[] "field V27._length (fldOffset=0xc)" P-DEP
;* V92 tmp80 [V92 ] ( 0, 0 ) int -> zero-ref "field V18._length (fldOffset=0xc)" P-INDEP
;* V92 tmp80 [V92 ] ( 0, 0 ) ref -> zero-ref "field V28._source (fldOffset=0x0)" P-INDEP
;* V93 tmp81 [V93 ] ( 0, 0 ) ref -> zero-ref "field V19._source (fldOffset=0x0)" P-INDEP
; V93 tmp81 [V93,T40] ( 2, 8 ) ref -> rsi "field V29._obj (fldOffset=0x0)" P-INDEP
;* V94 tmp82 [V94 ] ( 0, 0 ) ubyte -> zero-ref "field V20.hasValue (fldOffset=0x0)" P-INDEP
; V94 tmp82 [V94,T41] ( 2, 8 ) int -> rdi "field V29._result (fldOffset=0x8)" P-INDEP
;* V95 tmp83 [V95 ] ( 0, 0 ) long -> zero-ref "field V20.value (fldOffset=0x8)" P-INDEP
; V95 tmp83 [V95,T42] ( 2, 8 ) short -> rax "field V29._token (fldOffset=0xc)" P-INDEP
; V96 tmp84 [V96,T13] ( 4, 96 ) ref -> [rbp-0x68] do-not-enreg[] "field V27._object (fldOffset=0x0)" P-DEP
;* V96 tmp84 [V96,T52] ( 0, 0 ) ubyte -> zero-ref "field V29._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
; V97 tmp85 [V97,T14] ( 4, 96 ) int -> [rbp-0x60] do-not-enreg[] "field V27._index (fldOffset=0x8)" P-DEP
;* V97 tmp85 [V97 ] ( 0, 0 ) ubyte -> zero-ref "field V50.hasValue (fldOffset=0x0)" P-INDEP
; V98 tmp86 [V98,T15] ( 4, 96 ) int -> [rbp-0x5C] do-not-enreg[] "field V27._length (fldOffset=0xc)" P-DEP
;* V98 tmp86 [V98 ] ( 0, 0 ) long -> zero-ref "field V50.value (fldOffset=0x8)" P-INDEP
;* V99 tmp87 [V99 ] ( 0, 0 ) ref -> zero-ref "field V28._source (fldOffset=0x0)" P-INDEP
; V99 tmp87 [V99,T22] ( 3, 16 ) byref -> rsi "field V52._reference (fldOffset=0x0)" P-INDEP
; V100 tmp88 [V100,T34] ( 2, 32 ) ref -> rsi "field V29._obj (fldOffset=0x0)" P-INDEP
; V100 tmp88 [V100,T23] ( 3, 16 ) int -> rax "field V52._length (fldOffset=0x8)" P-INDEP
; V101 tmp89 [V101,T35] ( 2, 32 ) int -> rdi "field V29._result (fldOffset=0x8)" P-INDEP
;* V101 tmp89 [V101 ] ( 0, 0 ) ubyte -> zero-ref "field V60.hasValue (fldOffset=0x0)" P-INDEP
; V102 tmp90 [V102,T36] ( 2, 32 ) short -> rax "field V29._token (fldOffset=0xc)" P-INDEP
;* V102 tmp90 [V102 ] ( 0, 0 ) long -> zero-ref "field V60.value (fldOffset=0x8)" P-INDEP
;* V103 tmp91 [V103,T39] ( 0, 0 ) ubyte -> zero-ref "field V29._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
;* V103 tmp91 [V103 ] ( 0, 0 ) long -> zero-ref "V14.[000..008)"
;* V104 tmp92 [V104 ] ( 0, 0 ) ubyte -> zero-ref "field V50.hasValue (fldOffset=0x0)" P-INDEP
;* V104 tmp92 [V104 ] ( 0, 0 ) ubyte -> zero-ref "V14.[008..009)"
;* V105 tmp93 [V105 ] ( 0, 0 ) long -> zero-ref "field V50.value (fldOffset=0x8)" P-INDEP
;* V105 tmp93 [V105 ] ( 0, 0 ) long -> zero-ref "V14.[016..024)"
; V106 tmp94 [V106,T18] ( 3, 96 ) byref -> rsi "field V52._reference (fldOffset=0x0)" P-INDEP
;* V106 tmp94 [V106 ] ( 0, 0 ) long -> zero-ref "V21.[000..008)"
; V107 tmp95 [V107,T19] ( 3, 96 ) int -> rax "field V52._length (fldOffset=0x8)" P-INDEP
;* V107 tmp95 [V107 ] ( 0, 0 ) ubyte -> zero-ref "V21.[008..009)"
; V108 tmp96 [V108,T09] ( 3,144 ) byref -> r14 "field V57._reference (fldOffset=0x0)" P-INDEP
;* V108 tmp96 [V108 ] ( 0, 0 ) long -> zero-ref "V21.[016..024)"
; V109 tmp97 [V109,T08] ( 4,160 ) int -> r13 "field V57._length (fldOffset=0x8)" P-INDEP
; V109 tmp97 [V109,T44] ( 4, 4 ) long -> r15 "V03.[000..008)"
;* V110 tmp98 [V110 ] ( 0, 0 ) byref -> zero-ref "field V61._reference (fldOffset=0x0)" P-INDEP
; V110 tmp98 [V110,T45] ( 4, 4 ) ubyte -> r14 "V03.[008..009)"
;* V111 tmp99 [V111 ] ( 0, 0 ) int -> zero-ref "field V61._length (fldOffset=0x8)" P-INDEP
; V111 tmp99 [V111,T46] ( 4, 4 ) long -> r13 "V03.[016..024)"
;* V112 tmp100 [V112 ] ( 0, 0 ) ubyte -> zero-ref "field V67.hasValue (fldOffset=0x0)" P-INDEP
; V112 tmp100 [V112,T38] ( 4, 8 ) byref -> rdi single-def "Spilling address for field-by-field copy"
;* V113 tmp101 [V113 ] ( 0, 0 ) long -> zero-ref "field V67.value (fldOffset=0x8)" P-INDEP
; V113 tmp101 [V113,T39] ( 4, 8 ) byref -> rdi single-def "Spilling address for field-by-field copy"
;* V114 tmp102 [V114 ] ( 0, 0 ) long -> zero-ref "V14.[000..008)"
; V114 tmp102 [V114,T47] ( 2, 4 ) ref -> rsi "argument with side effect"
;* V115 tmp103 [V115 ] ( 0, 0 ) ubyte -> zero-ref "V14.[008..009)"
; V115 cse0 [V115,T55] ( 3, 3 ) ref -> r12 "CSE #12: conservative"
;* V116 tmp104 [V116 ] ( 0, 0 ) long -> zero-ref "V14.[016..024)"
; V116 cse1 [V116,T57] ( 3, 3 ) int -> rsi "CSE #13: conservative"
;* V117 tmp105 [V117 ] ( 0, 0 ) long -> zero-ref "V21.[000..008)"
; V117 cse2 [V117,T15] ( 3, 24 ) int -> rax "CSE #04: moderate"
;* V118 tmp106 [V118 ] ( 0, 0 ) ubyte -> zero-ref "V21.[008..009)"
; V118 cse3 [V118,T36] ( 4, 11 ) byref -> r12 "CSE #14: moderate"
;* V119 tmp107 [V119 ] ( 0, 0 ) long -> zero-ref "V21.[016..024)"
; V119 cse4 [V119,T35] ( 3, 12 ) int -> rcx "CSE #03: moderate"
; V120 tmp108 [V120,T48] ( 4, 4 ) long -> rbx "V03.[000..008)"
; V121 tmp109 [V121,T49] ( 4, 4 ) ubyte -> r15 "V03.[008..009)"
; V122 tmp110 [V122,T50] ( 4, 4 ) long -> r14 "V03.[016..024)"
; V123 tmp111 [V123,T45] ( 4, 8 ) byref -> rdi single-def "Spilling address for field-by-field copy"
; V124 tmp112 [V124,T46] ( 4, 8 ) byref -> rdi single-def "Spilling address for field-by-field copy"
; V125 tmp113 [V125,T51] ( 2, 4 ) ref -> rsi "argument with side effect"
; V126 cse0 [V126,T57] ( 3, 3 ) ref -> r12 "CSE #12: conservative"
; V127 cse1 [V127,T59] ( 3, 3 ) int -> rsi "CSE #13: conservative"
; V128 cse2 [V128,T06] ( 3,192 ) int -> rax "CSE #04: aggressive"
; V129 cse3 [V129,T03] ( 9,243 ) byref -> registers multi-def "CSE #03: aggressive"
; V130 cse4 [V130,T32] ( 3, 48 ) int -> rcx "CSE #02: moderate"
; V131 cse5 [V131,T43] ( 4, 11 ) byref -> r12 "CSE #14: conservative"
;
;
; Lcl frame size = 120
; Lcl frame size = 104


G_M49016_IG01:
G_M49016_IG01:
push rbp
push rbp
push r15
push r15
push r14
push r14
push r13
push r13
push r12
push r12
push rbx
push rbx
sub rsp, 120
sub rsp, 104
lea rbp, [rsp+0xA0]
lea rbp, [rsp+0x90]
xor eax, eax
mov qword ptr [rbp-0x68], rax
vxorps xmm8, xmm8, xmm8
vxorps xmm8, xmm8, xmm8
vmovdqu ymmword ptr [rbp-0x60], ymm8
vmovdqu ymmword ptr [rbp-0x70], ymm8
mov qword ptr [rbp-0x40], rax
vmovdqa xmmword ptr [rbp-0x50], xmm8
mov bword ptr [rbp-0x90], rdi
mov bword ptr [rbp-0x88], rdi
mov rdx, rdi
mov rdx, rdi
;; size=52 bbWeight=1 PerfScore 12.58
;; size=47 bbWeight=1 PerfScore 12.33
G_M49016_IG02:
G_M49016_IG02:
mov esi, dword ptr [rdx+0x08]
mov esi, dword ptr [rdx+0x08]
mov rbx, gword ptr [rdx]
mov rbx, gword ptr [rdx]
;; size=6 bbWeight=1 PerfScore 4.00
;; size=6 bbWeight=1 PerfScore 4.00
G_M49016_IG03:
G_M49016_IG03:
test esi, esi
test esi, esi
jne G_M49016_IG12
jne G_M49016_IG12
;; size=8 bbWeight=1 PerfScore 1.25
;; size=8 bbWeight=1 PerfScore 1.25
G_M49016_IG04:
G_M49016_IG04:
vmovdqu xmm0, xmmword ptr [rdx+0x30]
vmovdqu xmm0, xmmword ptr [rdx+0x30]
vmovdqu xmmword ptr [rbp-0x48], xmm0
vmovdqu xmmword ptr [rbp-0x50], xmm0
;; size=10 bbWeight=1 PerfScore 5.00
;; size=10 bbWeight=1 PerfScore 5.00
G_M49016_IG05:
G_M49016_IG05:
xor esi, esi
xor esi, esi
mov qword ptr [rdx+0x30], rsi
mov qword ptr [rdx+0x30], rsi
mov qword ptr [rdx+0x38], rsi
mov qword ptr [rdx+0x38], rsi
mov dword ptr [rdx+0x08], -1
mov dword ptr [rdx+0x08], -1
jmp G_M49016_IG24
jmp G_M49016_IG22
align [0 bytes for IG35]
align [0 bytes for IG33]
;; size=22 bbWeight=1 PerfScore 5.25
;; size=22 bbWeight=1 PerfScore 5.25
G_M49016_IG06:
G_M49016_IG06:
mov edi, dword ptr [r14+0x34]
mov edi, dword ptr [r14+0x34]
and edi, 0xD1FFAB1E
and edi, 0xD1FFAB1E
cmp edi, 0xD1FFAB1E
cmp edi, 0xD1FFAB1E
je SHORT G_M49016_IG07
je SHORT G_M49016_IG07
mov rdi, r14
mov rdi, r14
xor esi, esi
xor esi, esi
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
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)
call [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
;; size=35 bbWeight=16 PerfScore 116.00
;; size=35 bbWeight=4 PerfScore 29.00
G_M49016_IG07:
G_M49016_IG07:
mov eax, dword ptr [r14+0x38]
mov eax, dword ptr [r14+0x38]
jmp SHORT G_M49016_IG09
jmp SHORT G_M49016_IG09
;; size=6 bbWeight=16 PerfScore 64.00
;; size=6 bbWeight=4 PerfScore 16.00
G_M49016_IG08:
G_M49016_IG08:
mov eax, dword ptr [rbp-0x40]
mov eax, dword ptr [rbp-0x48]
;; size=3 bbWeight=16 PerfScore 16.00
;; size=3 bbWeight=4 PerfScore 4.00
G_M49016_IG09:
G_M49016_IG09:
test eax, eax
mov dword ptr [rbp-0x40], eax
cmp dword ptr [rbp-0x40], 0
jne SHORT G_M49016_IG11
jne SHORT G_M49016_IG11
;; size=4 bbWeight=16 PerfScore 20.00
;; size=9 bbWeight=4 PerfScore 16.00
G_M49016_IG10:
G_M49016_IG10:
cmp byte ptr [rbx], bl
cmp byte ptr [rbx], bl
add rbx, 24
lea rdi, bword ptr [rbx+0x18]
mov rdi, rbx
mov rax, 0xD1FFAB1E ; code for System.Net.ArrayBuffer:get_ActiveLength():int:this
mov rax, 0xD1FFAB1E ; code for System.Net.ArrayBuffer:get_ActiveLength():int:this
call [rax]System.Net.ArrayBuffer:get_ActiveLength():int:this
call [rax]System.Net.ArrayBuffer:get_ActiveLength():int:this
test eax, eax
test eax, eax
jne G_M49016_IG31
jne G_M49016_IG29
xor ebx, ebx
xor r15d, r15d
xor r15d, r15d
xor r14d, r14d
xor r14d, r14d
jmp G_M49016_IG32
xor r13d, r13d
;; size=42 bbWeight=1 PerfScore 10.75
jmp G_M49016_IG30
;; size=40 bbWeight=1 PerfScore 10.75
G_M49016_IG11:
G_M49016_IG11:
lea rdi, bword ptr [rbx+0x18]
lea rdi, bword ptr [rbx+0x18]
mov r15, rdi
mov esi, dword ptr [rbp-0x40]
add dword ptr [r15+0x0C], eax
add dword ptr [rdi+0x0C], esi
;; size=11 bbWeight=16 PerfScore 60.00
;; size=10 bbWeight=4 PerfScore 18.00
G_M49016_IG12:
G_M49016_IG12:
lea r15, bword ptr [rbx+0x18]
lea rdi, bword ptr [rbx+0x18]
mov rdi, r15
mov rsi, gword ptr [rdi]
mov rsi, gword ptr [rdi]
mov eax, dword ptr [rdi+0x08]
mov eax, dword ptr [rdi+0x08]
mov ecx, eax
mov ecx, eax
mov edi, dword ptr [rdi+0x0C]
mov edi, dword ptr [rdi+0x0C]
sub edi, eax
sub edi, eax
test rsi, rsi
test rsi, rsi
je SHORT G_M49016_IG14
je SHORT G_M49016_IG14
;; size=25 bbWeight=64 PerfScore 544.00
;; size=22 bbWeight=8 PerfScore 66.00
G_M49016_IG13:
G_M49016_IG13:
mov eax, ecx
mov eax, ecx
mov r8d, edi
mov r8d, edi
add rax, r8
add rax, r8
mov r8d, dword ptr [rsi+0x08]
mov r8d, dword ptr [rsi+0x08]
cmp rax, r8
cmp rax, r8
ja G_M49016_IG30
ja G_M49016_IG28
mov ecx, ecx
mov ecx, ecx
lea rsi, bword ptr [rsi+rcx+0x10]
lea rsi, bword ptr [rsi+rcx+0x10]
mov eax, edi
mov eax, edi
jmp SHORT G_M49016_IG15
jmp SHORT G_M49016_IG15
;; size=32 bbWeight=16 PerfScore 120.00
;; size=32 bbWeight=4 PerfScore 30.00
G_M49016_IG14:
G_M49016_IG14:
or ecx, edi
or ecx, edi
jne G_M49016_IG30
jne G_M49016_IG28
xor rsi, rsi
xor rsi, rsi
xor eax, eax
xor eax, eax
;; size=12 bbWeight=16 PerfScore 28.00
;; size=12 bbWeight=4 PerfScore 7.00
G_M49016_IG15:
G_M49016_IG15:
mov rdi, rsi
mov rdi, rsi
mov esi, eax
mov esi, eax
mov rax, 0xD1FFAB1E ; code for System.Span`1[ubyte]:op_Implicit(System.Span`1[ubyte]):System.ReadOnlySpan`1[ubyte]
mov rax, 0xD1FFAB1E ; code for System.Span`1[ubyte]:op_Implicit(System.Span`1[ubyte]):System.ReadOnlySpan`1[ubyte]
call [rax]System.Span`1[ubyte]:op_Implicit(System.Span`1[ubyte]):System.ReadOnlySpan`1[ubyte]
call [rax]System.Span`1[ubyte]:op_Implicit(System.Span`1[ubyte]):System.ReadOnlySpan`1[ubyte]
mov r14, rax
mov rdi, rax
mov r13d, edx
mov esi, edx
mov rdi, r14
mov esi, r13d
lea rdx, [rbp-0x30]
lea rdx, [rbp-0x30]
lea rcx, [rbp-0x70]
lea rcx, [rbp-0x38]
mov rax, 0xD1FFAB1E ; code for System.Net.Http.VariableLengthIntegerHelper:TryRead(System.ReadOnlySpan`1[ubyte],byref,byref):ubyte
lea r8, [rbp-0x40]
call [rax]System.Net.Http.VariableLengthIntegerHelper:TryRead(System.ReadOnlySpan`1[ubyte],byref,byref):ubyte
mov rax, 0xD1FFAB1E ; code for System.Net.Http.Http3Frame:TryReadIntegerPair(System.ReadOnlySpan`1[ubyte],byref,byref,byref):ubyte
call [rax]System.Net.Http.Http3Frame:TryReadIntegerPair(System.ReadOnlySpan`1[ubyte],byref,byref,byref):ubyte
test eax, eax
test eax, eax
je SHORT G_M49016_IG17
jne G_M49016_IG25
;; size=53 bbWeight=64 PerfScore 656.00
;; size=54 bbWeight=8 PerfScore 82.00
G_M49016_IG16:
G_M49016_IG16:
mov edi, dword ptr [rbp-0x70]
lea rdi, bword ptr [rbx+0x18]
cmp edi, r13d
ja G_M49016_IG30
mov esi, edi
add rsi, r14
sub r13d, edi
mov rdi, rsi
mov esi, r13d
lea rdx, [rbp-0x38]
lea rcx, [rbp-0x78]
mov rax, 0xD1FFAB1E ; code for System.Net.Http.VariableLengthIntegerHelper:TryRead(System.ReadOnlySpan`1[ubyte],byref,byref):ubyte
call [rax]System.Net.Http.VariableLengthIntegerHelper:TryRead(System.ReadOnlySpan`1[ubyte],byref,byref):ubyte
test eax, eax
jne G_M49016_IG27
;; size=54 bbWeight=16 PerfScore 144.00
G_M49016_IG17:
xor edi, edi
mov qword ptr [rbp-0x38], rdi
mov rdi, r15
mov rsi, gword ptr [rdi]
mov rsi, gword ptr [rdi]
mov esi, dword ptr [rsi+0x08]
mov esi, dword ptr [rsi+0x08]
sub esi, dword ptr [rdi+0x0C]
sub esi, dword ptr [rdi+0x0C]
cmp esi, 16
cmp esi, 16
jge SHORT G_M49016_IG19
jge SHORT G_M49016_IG17
;; size=23 bbWeight=64 PerfScore 624.00
G_M49016_IG18:
mov esi, 16
mov esi, 16
mov rax, 0xD1FFAB1E ; code for System.Net.ArrayBuffer:EnsureAvailableSpaceCore(int):this
mov rax, 0xD1FFAB1E ; code for System.Net.ArrayBuffer:EnsureAvailableSpaceCore(int):this
call [rax]System.Net.ArrayBuffer:EnsureAvailableSpaceCore(int):this
call [rax]System.Net.ArrayBuffer:EnsureAvailableSpaceCore(int):this
;; size=17 bbWeight=4 PerfScore 14.00
;; size=35 bbWeight=4 PerfScore 49.00
G_M49016_IG19:
G_M49016_IG17:
mov rdi, gword ptr [rbx+0x08]
mov rdi, gword ptr [rbx+0x08]
mov rsi, r15
lea rsi, bword ptr [rbx+0x18]
mov rdx, gword ptr [rsi]
mov rdx, gword ptr [rsi]
mov esi, dword ptr [rsi+0x0C]
mov esi, dword ptr [rsi+0x0C]
test rdx, rdx
test rdx, rdx
je SHORT G_M49016_IG20
je SHORT G_M49016_IG18
mov ecx, dword ptr [rdx+0x08]
mov ecx, dword ptr [rdx+0x08]
cmp ecx, esi
cmp ecx, esi
jb G_M49016_IG30
jb G_M49016_IG28
mov gword ptr [rbp-0x68], rdx
mov gword ptr [rbp-0x70], rdx
mov dword ptr [rbp-0x60], esi
mov dword ptr [rbp-0x68], esi
sub ecx, esi
sub ecx, esi
mov dword ptr [rbp-0x5C], ecx
mov dword ptr [rbp-0x64], ecx
jmp SHORT G_M49016_IG23
jmp SHORT G_M49016_IG21
;; size=43 bbWeight=16 PerfScore 256.00
;; size=44 bbWeight=4 PerfScore 65.00
G_M49016_IG20:
G_M49016_IG18:
test esi, esi
test esi, esi
jne G_M49016_IG30
jne G_M49016_IG28
xor rsi, rsi
xor rsi, rsi
mov gword ptr [rbp-0x68], rsi
mov gword ptr [rbp-0x70], rsi
;; size=14 bbWeight=16 PerfScore 40.00
;; size=14 bbWeight=4 PerfScore 10.00
G_M49016_IG19:
mov dword ptr [rbp-0x68], esi
;; size=3 bbWeight=4 PerfScore 4.00
G_M49016_IG20:
mov dword ptr [rbp-0x64], esi
;; size=3 bbWeight=4 PerfScore 4.00
G_M49016_IG21:
G_M49016_IG21:
mov dword ptr [rbp-0x60], esi
mov rsi, gword ptr [rbp-0x70]
;; size=3 bbWeight=16 PerfScore 16.00
mov rdx, qword ptr [rbp-0x68]
G_M49016_IG22:
mov dword ptr [rbp-0x5C], esi
;; size=3 bbWeight=16 PerfScore 16.00
G_M49016_IG23:
mov rsi, gword ptr [rbp-0x68]
mov rdx, qword ptr [rbp-0x60]
xor rcx, rcx
xor rcx, rcx
mov rax, 0xD1FFAB1E ; code for System.Net.Quic.QuicStream:ReadAsync(System.Memory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[int]:this
mov rax, 0xD1FFAB1E ; code for System.Net.Quic.QuicStream:ReadAsync(System.Memory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[int]:this
cmp dword ptr [rdi], edi
cmp dword ptr [rdi], edi
call [rax]System.Net.Quic.QuicStream:ReadAsync(System.Memory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[int]:this
call [rax]System.Net.Quic.QuicStream:ReadAsync(System.Memory`1[ubyte],System.Threading.CancellationToken):System.Threading.Tasks.ValueTask`1[int]:this
mov gword ptr [rbp-0x58], rax
mov gword ptr [rbp-0x60], rax
mov qword ptr [rbp-0x50], rdx
mov qword ptr [rbp-0x58], rdx
mov rsi, gword ptr [rbp-0x58]
mov rsi, gword ptr [rbp-0x60]
mov edi, dword ptr [rbp-0x50]
mov edi, dword ptr [rbp-0x58]
movsx rax, word ptr [rbp-0x4C]
movsx rax, word ptr [rbp-0x54]
mov gword ptr [rbp-0x48], rsi
mov gword ptr [rbp-0x50], rsi
mov dword ptr [rbp-0x40], edi
mov dword ptr [rbp-0x48], edi
mov word ptr [rbp-0x3C], ax
mov word ptr [rbp-0x44], ax
mov byte ptr [rbp-0x3A], 0
mov byte ptr [rbp-0x42], 0
mov r15, gword ptr [rbp-0x48]
mov r15, gword ptr [rbp-0x50]
test r15, r15
test r15, r15
je SHORT G_M49016_IG24
je SHORT G_M49016_IG22
mov rsi, r15
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.Task`1[int]
mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.Task`1[int]
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
test rax, rax
test rax, rax
jne SHORT G_M49016_IG25
jne SHORT G_M49016_IG23
mov rdi, r15
mov rdi, r15
movsx rsi, word ptr [rbp-0x3C]
movsx rsi, word ptr [rbp-0x44]
mov r11, 0xD1FFAB1E ; code for System.Threading.Tasks.Sources.IValueTaskSource`1[int]:GetStatus(short):int:this
mov r11, 0xD1FFAB1E ; code for System.Threading.Tasks.Sources.IValueTaskSource`1[int]:GetStatus(short):int:this
call [r11]System.Threading.Tasks.Sources.IValueTaskSource`1[int]:GetStatus(short):int:this
call [r11]System.Threading.Tasks.Sources.IValueTaskSource`1[int]:GetStatus(short):int:this
test eax, eax
test eax, eax
je SHORT G_M49016_IG26
je SHORT G_M49016_IG24
;; size=123 bbWeight=16 PerfScore 552.00
;; size=123 bbWeight=4 PerfScore 138.00
G_M49016_IG24:
G_M49016_IG22:
mov r15, gword ptr [rbp-0x48]
mov r15, gword ptr [rbp-0x50]
test r15, r15
test r15, r15
je G_M49016_IG08
je G_M49016_IG08
mov rsi, r15
mov rsi, r15
mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.Task`1[int]
mov rdi, 0xD1FFAB1E ; System.Threading.Tasks.Task`1[int]
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
mov rax, 0xD1FFAB1E ; code for CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
call [rax]CORINFO_HELP_ISINSTANCEOFCLASS
mov r14, rax
mov r14, rax
test r14, r14
test r14, r14
jne G_M49016_IG06
jne G_M49016_IG06
mov rdi, r15
mov rdi, r15
movsx rsi, word ptr [rbp-0x3C]
movsx rsi, word ptr [rbp-0x44]
mov r11, 0xD1FFAB1E ; code for System.Threading.Tasks.Sources.IValueTaskSource`1[int]:GetResult(short):int:this
mov r11, 0xD1FFAB1E ; code for System.Threading.Tasks.Sources.IValueTaskSource`1[int]:GetResult(short):int:this
call [r11]System.Threading.Tasks.Sources.IValueTaskSource`1[int]:GetResult(short):int:this
call [r11]System.Threading.Tasks.Sources.IValueTaskSource`1[int]:GetResult(short):int:this
jmp G_M49016_IG09
jmp G_M49016_IG09
;; size=76 bbWeight=16 PerfScore 256.00
;; size=76 bbWeight=4 PerfScore 64.00
G_M49016_IG25:
G_M49016_IG23:
test dword ptr [rax+0x34], 0xD1FFAB1E
test dword ptr [rax+0x34], 0xD1FFAB1E
jne SHORT G_M49016_IG24
jne SHORT G_M49016_IG22
;; size=9 bbWeight=16 PerfScore 64.00
;; size=9 bbWeight=4 PerfScore 16.00
G_M49
G_M49016_IG24:
xor edi, edi
mov rdx, bword ptr [rbp-0x88]
mov dword ptr [rdx+0x08], edi
lea rdi, bword ptr [rdx+0x30]
lea rsi, bword ptr [rbp-0x50]
call CORINFO_HELP_ASSIGN_BYREF
movsq
lea rsi, bword ptr [rdx+0x10]
mov rdi, rdx
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`2[System.Nullable`1[long],long]]:GetStateMachineBox[System.Net.Http.Http3Connection+<>c__DisplayClass47_0+<<ProcessServerControlStreamAsync>g__ReadFrameEnvelopeAsync|0>d](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`2[System.Nullable`1[long],long]]:GetStateMachineBox[System.Net.Http.Http3Connection+<>c__DisplayClass47_0+<<ProcessServerControlStreamAsync>g__ReadFrameEnvelopeAsync|0>d](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
mov rsi, rax
lea rdi, [rbp-0x50]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`2[System.Nullable`1[long],long]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
call [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.ValueTuple`2[System.Nullable`1[long],long]]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
jmp G_M49016_IG41
;; size=70 bbWeight=1 PerfScore 15.25
G_M49016_IG25:
lea rdi, bword ptr [rbx+0x18]
mov eax, dword ptr [rbp-0x40]
add dword ptr [rdi+0x08], eax
mov eax, dword ptr [rdi+0x08]
cmp eax, dword ptr [rdi+0x0C]
jne SHORT G_M49016_IG27
xor eax, eax
mov dword ptr [rdi+0x08], eax
;; size=23 bbWeight=1 PerfScore 11.75
G_M49016_IG26:
mov dword ptr [rdi+0x0C], eax
;; si