Untitled diff
126 removals
Words removed | 227 |
Total words | 1970 |
Words removed (%) | 11.52 |
251 lines
122 additions
Words added | 236 |
Total words | 1979 |
Words added (%) | 11.93 |
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)
; ============================================================
; ============================================================