Untitled diff

Created Diff never expires
126 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
251 lines
122 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
247 lines
; Assembly listing for method System.Net.Http.UriRedactionHelper:GetRedactedPathAndQuery(System.String):System.String (FullOpts)
; Assembly listing for method System.Net.Http.UriRedactionHelper:GetRedactedPathAndQuery(System.String):System.String (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
; partially interruptible
; partially interruptible
; No PGO data
; No PGO data
; 0 inlinees with PGO data; 22 single block inlinees; 14 inlinees without PGO data
; 0 inlinees with PGO data; 25 single block inlinees; 15 inlinees without PGO data
; Final local variable assignments
; Final local variable assignments
;
;
; V00 arg0 [V00,T00] ( 9, 7 ) ref -> rbx class-hnd <System.String>
; V00 arg0 [V00,T00] ( 9, 7 ) ref -> rbx class-hnd <System.String>
;* V01 loc0 [V01 ] ( 0, 0 ) int -> zero-ref
;* V01 loc0 [V01 ] ( 0, 0 ) int -> zero-ref
; V02 loc1 [V02 ] ( 25, 12.50) struct (40) [rbp-0x40] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
; V02 loc1 [V02 ] ( 25, 12.50) struct (40) [rbp-0x40] do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
;# V03 OutArgs [V03 ] ( 1, 1 ) struct ( 0) [rsp+0x00] do-not-enreg[XS] addr-exposed "OutgoingArgSpace" <Empty>
;* V04 tmp1 [V04 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V04 tmp1 [V04 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
; V05 tmp2 [V05,T05] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
; V05 tmp2 [V05,T05] ( 2, 4 ) byref -> rdi single-def "Inlining Arg"
; V06 tmp3 [V06,T06] ( 2, 4 ) int -> rdx "Inlining Arg"
; V06 tmp3 [V06,T06] ( 2, 4 ) int -> rdx "Inlining Arg"
; V07 tmp4 [V07,T07] ( 4, 3 ) int -> r15 "Inline return value spill temp"
; V07 tmp4 [V07,T07] ( 4, 3 ) int -> r15 "Inline return value spill temp"
;* V08 tmp5 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
;* V08 tmp5 [V08 ] ( 0, 0 ) ref -> zero-ref class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
; V09 tmp6 [V09,T02] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" <ushort[]>
; V09 tmp6 [V09,T02] ( 5, 5 ) ref -> rax class-hnd single-def "dup spill" <ushort[]>
;* V10 tmp7 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V10 tmp7 [V10 ] ( 0, 0 ) ref -> zero-ref class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V11 tmp8 [V11 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V11 tmp8 [V11 ] ( 0, 0 ) int -> zero-ref "Inline return value spill temp"
;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V12 tmp9 [V12 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V13 tmp10 [V13 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V13 tmp10 [V13 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
;* V14 tmp11 [V14 ] ( 0, 0 ) struct (16) zero-ref "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
; V15 tmp12 [V15,T01] ( 6, 6 ) int -> r15 "Inlining Arg"
; V15 tmp12 [V15,T01] ( 6, 6 ) int -> r15 "Inlining Arg"
;* V16 tmp13 [V16 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V16 tmp13 [V16 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V17 tmp14 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
;* V17 tmp14 [V17 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
;* V18 tmp15 [V18 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V18 tmp15 [V18 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V19 tmp16 [V19 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
;* V19 tmp16 [V19 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V20 tmp17 [V20 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
;* V20 tmp17 [V20 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
; V21 tmp18 [V21,T03] ( 4, 4 ) int -> rdx "Inlining Arg"
;* V21 tmp18 [V21 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
;* V22 tmp19 [V22 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V22 tmp19 [V22,T03] ( 4, 4 ) int -> rdx "Inlining Arg"
; V23 tmp20 [V23,T09] ( 2, 2 ) byref -> rax single-def "Inlining Arg"
;* V23 tmp20 [V23 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V24 tmp21 [V24,T12] ( 2, 2 ) int -> rdi "Inlining Arg"
; V24 tmp21 [V24,T09] ( 2, 2 ) byref -> rax single-def "Inlining Arg"
;* V25 tmp22 [V25,T22] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V25 tmp22 [V25,T12] ( 2, 2 ) int -> rdi "Inlining Arg"
;* V26 tmp23 [V26 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V26 tmp23 [V26,T22] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V27 tmp24 [V27 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V27 tmp24 [V27 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V28 tmp25 [V28 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V29 tmp26 [V29 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
;* V29 tmp26 [V29 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V30 tmp27 [V30 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
;* V30 tmp27 [V30 ] ( 0, 0 ) long -> zero-ref "Inlining Arg"
; V31 tmp28 [V31,T04] ( 4, 4 ) int -> rdi "Inlining Arg"
;* V31 tmp28 [V31 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
;* V32 tmp29 [V32 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V32 tmp29 [V32,T04] ( 4, 4 ) int -> rdi "Inlining Arg"
; V33 tmp30 [V33,T10] ( 2, 2 ) byref -> rbx single-def "Inlining Arg"
;* V33 tmp30 [V33 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V34 tmp31 [V34,T13] ( 2, 2 ) int -> rsi "Inlining Arg"
; V34 tmp31 [V34,T10] ( 2, 2 ) byref -> rbx single-def "Inlining Arg"
;* V35 tmp32 [V35,T23] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
; V35 tmp32 [V35,T13] ( 2, 2 ) int -> rsi "Inlining Arg"
;* V36 tmp33 [V36 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V36 tmp33 [V36,T23] ( 0, 0 ) ubyte -> zero-ref "Inline stloc first use temp"
;* V37 tmp34 [V37 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V37 tmp34 [V37 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V38 tmp35 [V38 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V38 tmp35 [V38 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V39 tmp36 [V39 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V39 tmp36 [V39 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
; V40 tmp37 [V40,T11] ( 2, 2 ) ref -> rbx class-hnd exact single-def "impAppendStmt" <System.String>
;* V40 tmp37 [V40 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
;* V41 tmp38 [V41 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
; V41 tmp38 [V41,T11] ( 2, 2 ) ref -> rbx class-hnd exact single-def "impAppendStmt" <System.String>
; V42 tmp39 [V42,T08] ( 3, 3 ) int -> rsi "Inlining Arg"
;* V42 tmp39 [V42 ] ( 0, 0 ) struct (16) zero-ref "spilled call-like call argument" <System.Span`1[ushort]>
;* V43 tmp40 [V43 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
; V43 tmp40 [V43,T08] ( 3, 3 ) int -> rsi "Inlining Arg"
;* V44 tmp41 [V44 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V44 tmp41 [V44 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
;* V45 tmp42 [V45 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V45 tmp42 [V45 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V46 tmp43 [V46 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
;* V46 tmp43 [V46 ] ( 0, 0 ) byref -> zero-ref "Inlining Arg"
;* V47 tmp44 [V47 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V47 tmp44 [V47 ] ( 0, 0 ) struct (16) zero-ref ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
;* V48 tmp45 [V48 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V48 tmp45 [V48 ] ( 0, 0 ) struct (16) zero-ref multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
; V49 tmp46 [V49,T14] ( 3, 1.50) ref -> rsi class-hnd single-def "Inline stloc first use temp" <ushort[]>
;* V49 tmp46 [V49 ] ( 0, 0 ) byref -> zero-ref single-def "Inlining Arg"
;* V50 tmp47 [V50 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP
;* V50 tmp47 [V50 ] ( 0, 0 ) int -> zero-ref "Inlining Arg"
;* V51 tmp48 [V51 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
; V51 tmp48 [V51,T14] ( 3, 1.50) ref -> rsi class-hnd single-def "Inline stloc first use temp" <ushort[]>
; V52 tmp49 [V52,T15] ( 3, 1.50) byref -> rsi "field V12._reference (fldOffset=0x0)" P-INDEP
;* V52 tmp49 [V52 ] ( 0, 0 ) byref -> zero-ref "field V04._reference (fldOffset=0x0)" P-INDEP
; V53 tmp50 [V53,T18] ( 3, 1.50) int -> rdx "field V12._length (fldOffset=0x8)" P-INDEP
;* V53 tmp50 [V53 ] ( 0, 0 ) int -> zero-ref "field V04._length (fldOffset=0x8)" P-INDEP
;* V54 tmp51 [V54 ] ( 0, 0 ) byref -> zero-ref single-def "field V14._reference (fldOffset=0x0)" P-INDEP
; V54 tmp51 [V54,T15] ( 3, 1.50) byref -> rsi "field V12._reference (fldOffset=0x0)" P-INDEP
;* V55 tmp52 [V55 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
; V55 tmp52 [V55,T18] ( 3, 1.50) int -> rdx "field V12._length (fldOffset=0x8)" P-INDEP
; V56 tmp53 [V56,T16] ( 3, 1.50) byref -> rsi single-def "field V16._reference (fldOffset=0x0)" P-INDEP
;* V56 tmp53 [V56 ] ( 0, 0 ) byref -> zero-ref single-def "field V14._reference (fldOffset=0x0)" P-INDEP
;* V57 tmp54 [V57 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP
;* V57 tmp54 [V57 ] ( 0, 0 ) int -> zero-ref "field V14._length (fldOffset=0x8)" P-INDEP
;* V58 tmp55 [V58 ] ( 0, 0 ) byref -> zero-ref "field V17._reference (fldOffset=0x0)" P-INDEP
; V58 tmp55 [V58,T16] ( 3, 1.50) byref -> rsi single-def "field V16._reference (fldOffset=0x0)" P-INDEP
;* V59 tmp56 [V59 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP
;* V59 tmp56 [V59 ] ( 0, 0 ) int -> zero-ref "field V16._length (fldOffset=0x8)" P-INDEP
;* V60 tmp57 [V60 ] ( 0, 0 ) byref -> zero-ref single-def "field V19._reference (fldOffset=0x0)" P-INDEP
;* V60 tmp57 [V60 ] ( 0, 0 ) byref -> zero-ref "field V17._reference (fldOffset=0x0)" P-INDEP
;* V61 tmp58 [V61 ] ( 0, 0 ) int -> zero-ref "field V19._length (fldOffset=0x8)" P-INDEP
;* V61 tmp58 [V61 ] ( 0, 0 ) int -> zero-ref "field V17._length (fldOffset=0x8)" P-INDEP
;* V62 tmp59 [V62 ] ( 0, 0 ) byref -> zero-ref "field V20._reference (fldOffset=0x0)" P-INDEP
;* V62 tmp59 [V62 ] ( 0, 0 ) byref -> zero-ref single-def "field V20._reference (fldOffset=0x0)" P-INDEP
;* V63 tmp60 [V63 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
;* V63 tmp60 [V63 ] ( 0, 0 ) int -> zero-ref "field V20._length (fldOffset=0x8)" P-INDEP
;* V64 tmp61 [V64 ] ( 0, 0 ) byref -> zero-ref single-def "field V22._reference (fldOffset=0x0)" P-INDEP
;* V64 tmp61 [V64 ] ( 0, 0 ) byref -> zero-ref "field V21._reference (fldOffset=0x0)" P-INDEP
;* V65 tmp62 [V65 ] ( 0, 0 ) int -> zero-ref "field V22._length (fldOffset=0x8)" P-INDEP
;* V65 tmp62 [V65 ] ( 0, 0 ) int -> zero-ref "field V21._length (fldOffset=0x8)" P-INDEP
;* V66 tmp63 [V66 ] ( 0, 0 ) byref -> zero-ref single-def "field V26._reference (fldOffset=0x0)" P-INDEP
;* V66 tmp63 [V66 ] ( 0, 0 ) byref -> zero-ref single-def "field V23._reference (fldOffset=0x0)" P-INDEP
;* V67 tmp64 [V67 ] ( 0, 0 ) int -> zero-ref "field V26._length (fldOffset=0x8)" P-INDEP
;* V67 tmp64 [V67 ] ( 0, 0 ) int -> zero-ref "field V23._length (fldOffset=0x8)" P-INDEP
;* V68 tmp65 [V68 ] ( 0, 0 ) byref -> zero-ref "field V30._reference (fldOffset=0x0)" P-INDEP
;* V68 tmp65 [V68 ] ( 0, 0 ) byref -> zero-ref single-def "field V27._reference (fldOffset=0x0)" P-INDEP
;* V69 tmp66 [V69 ] ( 0, 0 ) int -> zero-ref "field V30._length (fldOffset=0x8)" P-INDEP
;* V69 tmp66 [V69 ] ( 0, 0 ) int -> zero-ref "field V27._length (fldOffset=0x8)" P-INDEP
;* V70 tmp67 [V70 ] ( 0, 0 ) byref -> zero-ref single-def "field V32._reference (fldOffset=0x0)" P-INDEP
;* V70 tmp67 [V70 ] ( 0, 0 ) byref -> zero-ref "field V31._reference (fldOffset=0x0)" P-INDEP
;* V71 tmp68 [V71 ] ( 0, 0 ) int -> zero-ref "field V32._length (fldOffset=0x8)" P-INDEP
;* V71 tmp68 [V71 ] ( 0, 0 ) int -> zero-ref "field V31._length (fldOffset=0x8)" P-INDEP
;* V72 tmp69 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "field V36._reference (fldOffset=0x0)" P-INDEP
;* V72 tmp69 [V72 ] ( 0, 0 ) byref -> zero-ref single-def "field V33._reference (fldOffset=0x0)" P-INDEP
;* V73 tmp70 [V73 ] ( 0, 0 ) int -> zero-ref "field V36._length (fldOffset=0x8)" P-INDEP
;* V73 tmp70 [V73 ] ( 0, 0 ) int -> zero-ref "field V33._length (fldOffset=0x8)" P-INDEP
;* V74 tmp71 [V74 ] ( 0, 0 ) byref -> zero-ref "field V39._reference (fldOffset=0x0)" P-INDEP
;* V74 tmp71 [V74 ] ( 0, 0 ) byref -> zero-ref single-def "field V37._reference (fldOffset=0x0)" P-INDEP
;* V75 tmp72 [V75 ] ( 0, 0 ) int -> zero-ref "field V39._length (fldOffset=0x8)" P-INDEP
;* V75 tmp72 [V75 ] ( 0, 0 ) int -> zero-ref "field V37._length (fldOffset=0x8)" P-INDEP
;* V76 tmp73 [V76 ] ( 0, 0 ) byref -> zero-ref "field V41._reference (fldOffset=0x0)" P-INDEP
;* V76 tmp73 [V76 ] ( 0, 0 ) byref -> zero-ref "field V40._reference (fldOffset=0x0)" P-INDEP
;* V77 tmp74 [V77 ] ( 0, 0 ) int -> zero-ref "field V41._length (fldOffset=0x8)" P-INDEP
;* V77 tmp74 [V77 ] ( 0, 0 ) int -> zero-ref "field V40._length (fldOffset=0x8)" P-INDEP
; V78 tmp75 [V78,T21] ( 2, 1 ) byref -> rdi single-def "field V43._reference (fldOffset=0x0)" P-INDEP
;* V78 tmp75 [V78 ] ( 0, 0 ) byref -> zero-ref "field V42._reference (fldOffset=0x0)" P-INDEP
;* V79 tmp76 [V79 ] ( 0, 0 ) int -> zero-ref "field V43._length (fldOffset=0x8)" P-INDEP
;* V79 tmp76 [V79 ] ( 0, 0 ) int -> zero-ref "field V42._length (fldOffset=0x8)" P-INDEP
;* V80 tmp77 [V80 ] ( 0, 0 ) byref -> zero-ref single-def "field V45._reference (fldOffset=0x0)" P-INDEP
; V80 tmp77 [V80,T21] ( 2, 1 ) byref -> rdi single-def "field V44._reference (fldOffset=0x0)" P-INDEP
;* V81 tmp78 [V81 ] ( 0, 0 ) int -> zero-ref "field V45._length (fldOffset=0x8)" P-INDEP
;* V81 tmp78 [V81 ] ( 0, 0 ) int -> zero-ref "field V44._length (fldOffset=0x8)" P-INDEP
;* V82 tmp79 [V82 ] ( 0, 0 ) byref -> zero-ref single-def "field V46._reference (fldOffset=0x0)" P-INDEP
;* V82 tmp79 [V82 ] ( 0, 0 ) byref -> zero-ref single-def "field V47._reference (fldOffset=0x0)" P-INDEP
;* V83 tmp80 [V83 ] ( 0, 0 ) int -> zero-ref "field V46._length (fldOffset=0x8)" P-INDEP
;* V83 tmp80 [V83 ] ( 0, 0 ) int -> zero-ref "field V47._length (fldOffset=0x8)" P-INDEP
; V84 cse0 [V84,T17] ( 3, 1.50) ref -> r14 "CSE #06: moderate"
;* V84 tmp81 [V84 ] ( 0, 0 ) byref -> zero-ref single-def "field V48._reference (fldOffset=0x0)" P-INDEP
; V85 cse1 [V85,T19] ( 3, 1.50) int -> rdi "CSE #03: moderate"
;* V85 tmp82 [V85 ] ( 0, 0 ) int -> zero-ref "field V48._length (fldOffset=0x8)" P-INDEP
; V86 cse2 [V86,T20] ( 3, 1.50) int -> rsi "CSE #04: moderate"
; V86 cse0 [V86,T17] ( 3, 1.50) ref -> r14 "CSE #06: moderate"
; V87 cse1 [V87,T19] ( 3, 1.50) int -> rdi "CSE #03: moderate"
; V88 cse2 [V88,T20] ( 3, 1.50) int -> rsi "CSE #04: moderate"
;
;
; Lcl frame size = 40
; Lcl frame size = 40


G_M35916_IG01:
G_M35916_IG01:
push rbp
push rbp
push r15
push r15
push r14
push r14
push rbx
push rbx
sub rsp, 40
sub rsp, 40
lea rbp, [rsp+0x40]
lea rbp, [rsp+0x40]
vxorps xmm8, xmm8, xmm8
vxorps xmm8, xmm8, xmm8
vmovdqu ymmword ptr [rbp-0x40], ymm8
vmovdqu ymmword ptr [rbp-0x40], ymm8
xor eax, eax
xor eax, eax
mov qword ptr [rbp-0x20], rax
mov qword ptr [rbp-0x20], rax
mov rbx, rdi
mov rbx, rdi
;; size=34 bbWeight=1 PerfScore 8.58
;; size=34 bbWeight=1 PerfScore 8.58
G_M35916_IG02:
G_M35916_IG02:
lea rdi, bword ptr [rbx+0x0C]
lea rdi, bword ptr [rbx+0x0C]
mov edx, dword ptr [rbx+0x08]
mov edx, dword ptr [rbx+0x08]
mov esi, 63
mov esi, 63
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov rax, 0xD1FFAB1E ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
call [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
mov r15d, eax
mov r15d, eax
test r15d, r15d
test r15d, r15d
jl G_M35916_IG11
jl G_M35916_IG11
;; size=36 bbWeight=1 PerfScore 7.50
;; size=36 bbWeight=1 PerfScore 7.50
G_M35916_IG03:
G_M35916_IG03:
mov edi, dword ptr [rbx+0x08]
mov edi, dword ptr [rbx+0x08]
dec edi
dec edi
cmp edi, r15d
cmp edi, r15d
jle G_M35916_IG11
jle G_M35916_IG11
xor rdi, rdi
xor rdi, rdi
mov gword ptr [rbp-0x40], rdi
mov gword ptr [rbp-0x40], rdi
mov rdi, 0xD1FFAB1E ; const ptr
mov rdi, 0xD1FFAB1E ; const ptr
mov r14, gword ptr [rdi]
mov r14, gword ptr [rdi]
mov rdi, r14
mov rdi, r14
mov esi, 256
mov esi, 256
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Rent(int):ushort[]:this
mov gword ptr [rbp-0x38], rax
mov gword ptr [rbp-0x38], rax
test rax, rax
test rax, rax
je SHORT G_M35916_IG04
je SHORT G_M35916_IG04
lea rsi, bword ptr [rax+0x10]
lea rsi, bword ptr [rax+0x10]
mov edx, dword ptr [rax+0x08]
mov edx, dword ptr [rax+0x08]
jmp SHORT G_M35916_IG05
jmp SHORT G_M35916_IG05
;; size=71 bbWeight=0.50 PerfScore 8.75
;; size=71 bbWeight=0.50 PerfScore 8.75
G_M35916_IG04:
G_M35916_IG04:
xor rsi, rsi
xor rsi, rsi
xor edx, edx
xor edx, edx
;; size=4 bbWeight=0.50 PerfScore 0.25
;; size=4 bbWeight=0.50 PerfScore 0.25
G_M35916_IG05:
G_M35916_IG05:
mov bword ptr [rbp-0x28], rsi
mov bword ptr [rbp-0x28], rsi
mov dword ptr [rbp-0x20], edx
mov dword ptr [rbp-0x20], edx
xor esi, esi
xor esi, esi
mov dword ptr [rbp-0x30], esi
mov dword ptr [rbp-0x30], esi
mov byte ptr [rbp-0x2C], 0
mov byte ptr [rbp-0x2C], 0
inc r15d
inc r15d
cmp dword ptr [rbx+0x08], r15d
cmp dword ptr [rbx+0x08], r15d
jb G_M35916_IG14
jb G_M35916_IG13
lea rsi, bword ptr [rbx+0x0C]
lea rsi, bword ptr [rbx+0x0C]
mov edx, dword ptr [rbp-0x30]
mov edx, dword ptr [rbp-0x30]
mov edi, dword ptr [rbp-0x20]
mov edi, dword ptr [rbp-0x20]
cmp edx, edi
cmp edx, edi
ja G_M35916_IG13
ja G_M35916_IG13
mov rax, bword ptr [rbp-0x28]
mov rax, bword ptr [rbp-0x28]
mov ecx, edx
mov ecx, edx
lea rax, bword ptr [rax+2*rcx]
lea rax, bword ptr [rax+2*rcx]
sub edi, edx
sub edi, edx
cmp r15d, edi
cmp r15d, edi
jbe SHORT G_M35916_IG06
jbe SHORT G_M35916_IG06
mov edx, r15d
mov edx, r15d
lea rdi, [rbp-0x40]
lea rdi, [rbp-0x40]
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopySpan(System.ReadOnlySpan`1[ushort]):this
jmp SHORT G_M35916_IG07
jmp SHORT G_M35916_IG07
;; size=85 bbWeight=0.50 PerfScore 10.75
;; size=85 bbWeight=0.50 PerfScore 10.75
G_M35916_IG06:
G_M35916_IG06:
mov edx, r15d
mov edx, r15d
add rdx, rdx
add rdx, rdx
mov rdi, rax
mov rdi, rax
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
mov rax, 0xD1FFAB1E ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
call [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
add r15d, dword ptr [rbp-0x30]
add r15d, dword ptr [rbp-0x30]
mov dword ptr [rbp-0x30], r15d
mov dword ptr [rbp-0x30], r15d
;; size=29 bbWeight=0.50 PerfScore 3.50
;; size=29 bbWeight=0.50 PerfScore 3.50
G_M35916_IG07:
G_M35916_IG07:
mov edi, dword ptr [rbp-0x30]
mov edi, dword ptr [rbp-0x30]
mov esi, dword ptr [rbp-0x20]
mov esi, dword ptr [rbp-0x20]
cmp edi, esi
cmp edi, esi
ja G_M35916_IG13
ja G_M35916_IG13
mov rax, bword ptr [rbp-0x28]
mov rax, bword ptr [rbp-0x28]
mov ecx, edi
mov ecx, edi
lea rbx, bword ptr [rax+2*rcx]
lea rbx, bword ptr [rax+2*rcx]
sub esi, edi
sub esi, edi
jne SHORT G_M35916_IG08
jne SHORT G_M35916_IG08
lea rdi, [rbp-0x40]
lea rdi, [rbp-0x40]
mov rsi, 0xD1FFAB1E ; '*'
mov rsi, 0xD1FFAB1E ; '*'
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
mov rax, 0xD1FFAB1E ; code for System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
call [rax]System.Runtime.CompilerServices.DefaultInterpolatedStringHandler:GrowThenCopyString(System.String):this
jmp SHORT G_M35916_IG09
jmp SHORT G_M35916_IG09
;; size=56 bbWeight=0.50 PerfScore 6.12
;; size=56 bbWeight=0.50 PerfScore 6.12
G_M35916_IG08:
G_M35916_IG08:
mov word ptr [rbx], 42
mov word ptr [rbx], 42
mov edi, dword ptr [rbp-0x30]
mov edi, dword ptr [rbp-0x30]
inc edi
inc edi
mov dword ptr [rbp-0x30], edi
mov dword ptr [rbp-0x30], edi
;; size=13 bbWeight=0.50 PerfScore 1.62
;; size=13 bbWeight=0.50 PerfScore 1.62
G_M35916_IG09:
G_M35916_IG09:
mov esi, dword ptr [rbp-0x30]
mov esi, dword ptr [rbp-0x30]
cmp esi, dword ptr [rbp-0x20]
cmp esi, dword ptr [rbp-0x20]
ja SHORT G_M35916_IG13
ja SHORT G_M35916_IG13
mov rdi, bword ptr [rbp-0x28]
mov rdi, bword ptr [rbp-0x28]
call System.String:.ctor(System.ReadOnlySpan`1[ushort]):this
call System.String:.ctor(System.ReadOnlySpan`1[ushort]):this
mov rbx, rax
mov rbx, rax
mov rsi, gword ptr [rbp-0x38]
mov rsi, gword ptr [rbp-0x38]
xor rdi, rdi
xor rdi, rdi
mov gword ptr [rbp-0x38], rdi
mov gword ptr [rbp-0x38], rdi
vxorps xmm0, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
vmovdqu xmmword ptr [rbp-0x28], xmm0
vmovdqu xmmword ptr [rbp-0x28], xmm0
;; size=39 bbWeight=0.50 PerfScore 4.92
;; size=39 bbWeight=0.50 PerfScore 4.92
G_M35916_IG10:
G_M35916_IG10:
mov dword ptr [rbp-0x30], edi
mov dword ptr [rbp-0x30], edi
test rsi, rsi
test rsi, rsi
je SHORT G_M35916_IG11
je SHORT G_M35916_IG11
mov rdi, r14
mov rdi, r14
xor edx, edx
xor edx, edx
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
mov rax, 0xD1FFAB1E ; code for System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
call [rax]System.Buffers.SharedArrayPool`1[ushort]:Return(ushort[],ubyte):this
;; size=25 bbWeight=0.50 PerfScore 3.00
;; size=25 bbWeight=0.50 PerfScore 3.00
G_M35916_IG11:
G_M35916_IG11:
mov rax, rbx
mov rax, rbx
;; size=3 bbWeight=1 PerfScore 0.25
;; size=3 bbWeight=1 PerfScore 0.25
G_M35916_IG12:
G_M35916_IG12:
add rsp, 40
add rsp, 40
pop rbx
pop rbx
pop r14
pop r14
pop r15
pop r15
pop rbp
pop rbp
ret
ret
;; size=11 bbWeight=1 PerfScore 3.25
;; size=11 bbWeight=1 PerfScore 3.25
G_M35916_IG13:
G_M35916_IG13:
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
int3
int3
;; size=13 bbWeight=0.50 PerfScore 1.75
;; size=13 bbWeight=0.50 PerfScore 1.75
G_M35916_IG14:
mov edi, 33
mov rax, 0xD1FFAB1E ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
call [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
int3
;; size=18 bbWeight=0.50 PerfScore 1.88


; Total bytes of code 437, prolog size 31, PerfScore 62.13, instruction count 120, allocated bytes for code 437 (MethodHash=761373b3) for method System.Net.Http.UriRedactionHelper:GetRedactedPathAndQuery(System.String):System.String (FullOpts)
; Total bytes of code 419, prolog size 31, PerfScore 60.25, instruction count 116, allocated bytes for code 419 (MethodHash=761373b3) for method System.Net.Http.UriRedactionHelper:GetRedactedPathAndQuery(System.String):System.String (FullOpts)
; ============================================================
; ============================================================